2018-05-29 17:13:13 +08:00
|
|
|
set(test_prefix memgraph__manual__)
|
2016-12-16 21:05:04 +08:00
|
|
|
|
2018-05-29 17:13:13 +08:00
|
|
|
add_custom_target(memgraph__manual)
|
2016-12-16 21:05:04 +08:00
|
|
|
|
2018-05-29 17:13:13 +08:00
|
|
|
function(add_manual_test test_cpp)
|
|
|
|
# get exec name (remove extension from the abs path)
|
|
|
|
get_filename_component(exec_name ${test_cpp} NAME_WE)
|
|
|
|
set(target_name ${test_prefix}${exec_name})
|
2018-10-10 16:23:10 +08:00
|
|
|
add_executable(${target_name} ${test_cpp} ${ARGN})
|
2018-05-29 17:13:13 +08:00
|
|
|
# OUTPUT_NAME sets the real name of a target when it is built and can be
|
|
|
|
# used to help create two targets of the same name even though CMake
|
|
|
|
# requires unique logical target names
|
|
|
|
set_target_properties(${target_name} PROPERTIES OUTPUT_NAME ${exec_name})
|
|
|
|
add_dependencies(memgraph__manual ${target_name})
|
|
|
|
endfunction(add_manual_test)
|
2016-12-16 21:05:04 +08:00
|
|
|
|
2018-05-29 17:13:13 +08:00
|
|
|
add_manual_test(antlr_parser.cpp)
|
|
|
|
target_link_libraries(${test_prefix}antlr_parser antlr_opencypher_parser_lib)
|
2016-12-16 21:05:04 +08:00
|
|
|
|
2018-05-29 17:13:13 +08:00
|
|
|
add_manual_test(antlr_sigsegv.cpp)
|
|
|
|
target_link_libraries(${test_prefix}antlr_sigsegv gtest gtest_main
|
|
|
|
antlr_opencypher_parser_lib mg-utils)
|
2016-12-16 21:05:04 +08:00
|
|
|
|
2018-05-29 17:13:13 +08:00
|
|
|
add_manual_test(antlr_tree_pretty_print.cpp)
|
|
|
|
target_link_libraries(${test_prefix}antlr_tree_pretty_print antlr_opencypher_parser_lib)
|
2016-12-16 21:05:04 +08:00
|
|
|
|
2018-05-29 17:13:13 +08:00
|
|
|
add_manual_test(binomial.cpp)
|
|
|
|
target_link_libraries(${test_prefix}binomial mg-utils)
|
2016-12-16 21:05:04 +08:00
|
|
|
|
2018-05-29 17:13:13 +08:00
|
|
|
add_manual_test(bolt_client.cpp)
|
Extract communication to static library
Summary:
Session specifics have been move out of the Bolt `executing` state, and
are accessed via pure virtual Session type. Our server is templated on
the session and we are setting the concrete type, so there should be no
virtual call overhead. Abstract Session is used to indicate the
interface, this could have also been templated, but the explicit
interface definition makes it clearer.
Specific session implementation for running Memgraph is now implemented
in memgraph_bolt, which instantiates the concrete session type. This may
not be 100% appropriate place, but Memgraph specific session isn't
needed anywhere else.
Bolt/communication tests now use a dummy session and depend only on
communication, which significantly improves test run times.
All these changes make the communication a library which doesn't depend
on storage nor the database. Only shared connection points, which aren't
part of the base communication library are:
* glue/conversion -- which converts between storage and bolt types, and
* communication/result_stream_faker -- templated, but used in tests and query/repl
Depends on D1453
Reviewers: mferencevic, buda, mtomic, msantl
Reviewed By: mferencevic, mtomic
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D1456
2018-07-10 22:18:19 +08:00
|
|
|
target_link_libraries(${test_prefix}bolt_client mg-communication)
|
2018-05-29 17:13:13 +08:00
|
|
|
|
|
|
|
add_manual_test(card_fraud_generate_snapshot.cpp)
|
2018-10-04 21:23:07 +08:00
|
|
|
target_link_libraries(${test_prefix}card_fraud_generate_snapshot mg-distributed kvstore_dummy_lib)
|
2018-05-29 17:13:13 +08:00
|
|
|
|
|
|
|
add_manual_test(card_fraud_local.cpp)
|
2018-10-04 21:23:07 +08:00
|
|
|
target_link_libraries(${test_prefix}card_fraud_local mg-distributed kvstore_dummy_lib gtest)
|
2018-05-29 17:13:13 +08:00
|
|
|
|
2018-10-10 16:23:10 +08:00
|
|
|
add_manual_test(distributed_query_planner.cpp interactive_planning.cpp)
|
|
|
|
target_link_libraries(${test_prefix}distributed_query_planner mg-distributed
|
|
|
|
kvstore_dummy_lib)
|
|
|
|
if (READLINE_FOUND)
|
|
|
|
target_link_libraries(${test_prefix}distributed_query_planner readline)
|
|
|
|
endif()
|
|
|
|
|
2018-05-29 17:13:13 +08:00
|
|
|
add_manual_test(distributed_repl.cpp)
|
2018-10-04 21:23:07 +08:00
|
|
|
target_link_libraries(${test_prefix}distributed_repl mg-distributed kvstore_dummy_lib gtest readline)
|
2018-05-29 17:13:13 +08:00
|
|
|
|
|
|
|
add_manual_test(endinan.cpp)
|
|
|
|
|
|
|
|
add_manual_test(generate_snapshot.cpp)
|
2018-10-04 21:23:07 +08:00
|
|
|
target_link_libraries(${test_prefix}generate_snapshot mg-distributed kvstore_dummy_lib)
|
2018-05-29 17:13:13 +08:00
|
|
|
|
|
|
|
add_manual_test(graph_500_generate_snapshot.cpp)
|
2018-10-04 21:23:07 +08:00
|
|
|
target_link_libraries(${test_prefix}graph_500_generate_snapshot mg-distributed kvstore_dummy_lib)
|
2018-05-29 17:13:13 +08:00
|
|
|
|
2018-06-20 19:46:54 +08:00
|
|
|
add_manual_test(kvstore_console.cpp)
|
|
|
|
target_link_libraries(${test_prefix}kvstore_console kvstore_lib gflags glog)
|
|
|
|
|
2018-05-29 17:13:13 +08:00
|
|
|
add_manual_test(query_hash.cpp)
|
2018-10-04 21:23:07 +08:00
|
|
|
target_link_libraries(${test_prefix}query_hash mg-single-node kvstore_dummy_lib)
|
2018-05-29 17:13:13 +08:00
|
|
|
|
2018-10-10 16:23:10 +08:00
|
|
|
add_manual_test(query_planner.cpp interactive_planning.cpp)
|
2018-10-04 21:23:07 +08:00
|
|
|
target_link_libraries(${test_prefix}query_planner mg-single-node kvstore_dummy_lib)
|
2018-05-29 17:13:13 +08:00
|
|
|
|
|
|
|
add_manual_test(repl.cpp)
|
2018-10-04 21:23:07 +08:00
|
|
|
target_link_libraries(${test_prefix}repl mg-single-node kvstore_dummy_lib)
|
2018-05-29 17:13:13 +08:00
|
|
|
|
|
|
|
add_manual_test(single_query.cpp)
|
2018-10-04 21:23:07 +08:00
|
|
|
target_link_libraries(${test_prefix}single_query mg-single-node kvstore_dummy_lib)
|
2018-05-29 17:13:13 +08:00
|
|
|
|
|
|
|
add_manual_test(sl_position_and_count.cpp)
|
2018-10-04 21:23:07 +08:00
|
|
|
target_link_libraries(${test_prefix}sl_position_and_count mg-single-node kvstore_dummy_lib)
|
2018-05-29 17:13:13 +08:00
|
|
|
|
2018-06-06 21:30:29 +08:00
|
|
|
add_manual_test(snapshot_explorer.cpp)
|
2018-10-04 21:23:07 +08:00
|
|
|
target_link_libraries(${test_prefix}snapshot_explorer mg-single-node kvstore_dummy_lib)
|
2018-06-06 21:30:29 +08:00
|
|
|
|
2018-05-29 17:13:13 +08:00
|
|
|
add_manual_test(stripped_timing.cpp)
|
2018-10-04 21:23:07 +08:00
|
|
|
target_link_libraries(${test_prefix}stripped_timing mg-single-node kvstore_dummy_lib)
|
2018-05-29 17:13:13 +08:00
|
|
|
|
2018-06-20 23:44:47 +08:00
|
|
|
add_manual_test(ssl_client.cpp)
|
Extract communication to static library
Summary:
Session specifics have been move out of the Bolt `executing` state, and
are accessed via pure virtual Session type. Our server is templated on
the session and we are setting the concrete type, so there should be no
virtual call overhead. Abstract Session is used to indicate the
interface, this could have also been templated, but the explicit
interface definition makes it clearer.
Specific session implementation for running Memgraph is now implemented
in memgraph_bolt, which instantiates the concrete session type. This may
not be 100% appropriate place, but Memgraph specific session isn't
needed anywhere else.
Bolt/communication tests now use a dummy session and depend only on
communication, which significantly improves test run times.
All these changes make the communication a library which doesn't depend
on storage nor the database. Only shared connection points, which aren't
part of the base communication library are:
* glue/conversion -- which converts between storage and bolt types, and
* communication/result_stream_faker -- templated, but used in tests and query/repl
Depends on D1453
Reviewers: mferencevic, buda, mtomic, msantl
Reviewed By: mferencevic, mtomic
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D1456
2018-07-10 22:18:19 +08:00
|
|
|
target_link_libraries(${test_prefix}ssl_client mg-communication)
|
2018-06-20 23:44:47 +08:00
|
|
|
|
|
|
|
add_manual_test(ssl_server.cpp)
|
Extract communication to static library
Summary:
Session specifics have been move out of the Bolt `executing` state, and
are accessed via pure virtual Session type. Our server is templated on
the session and we are setting the concrete type, so there should be no
virtual call overhead. Abstract Session is used to indicate the
interface, this could have also been templated, but the explicit
interface definition makes it clearer.
Specific session implementation for running Memgraph is now implemented
in memgraph_bolt, which instantiates the concrete session type. This may
not be 100% appropriate place, but Memgraph specific session isn't
needed anywhere else.
Bolt/communication tests now use a dummy session and depend only on
communication, which significantly improves test run times.
All these changes make the communication a library which doesn't depend
on storage nor the database. Only shared connection points, which aren't
part of the base communication library are:
* glue/conversion -- which converts between storage and bolt types, and
* communication/result_stream_faker -- templated, but used in tests and query/repl
Depends on D1453
Reviewers: mferencevic, buda, mtomic, msantl
Reviewed By: mferencevic, mtomic
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D1456
2018-07-10 22:18:19 +08:00
|
|
|
target_link_libraries(${test_prefix}ssl_server mg-communication)
|
2018-06-20 23:44:47 +08:00
|
|
|
|
2018-06-06 21:30:29 +08:00
|
|
|
add_manual_test(wal_explorer.cpp)
|
2018-10-04 21:23:07 +08:00
|
|
|
target_link_libraries(${test_prefix}wal_explorer mg-single-node kvstore_dummy_lib)
|
2018-06-06 21:30:29 +08:00
|
|
|
|
2018-05-29 17:13:13 +08:00
|
|
|
add_manual_test(xorshift.cpp)
|
|
|
|
target_link_libraries(${test_prefix}xorshift mg-utils)
|
2018-05-28 17:04:09 +08:00
|
|
|
|