From 7062a3d28006db5e54a2a9f205f3b896a34ce27a Mon Sep 17 00:00:00 2001 From: Alexey Rybalchenko Date: Tue, 31 May 2016 10:19:32 +0200 Subject: [PATCH] Run FairMQ tests with both ZeroMQ and nanomsg --- fairmq/test/CMakeLists.txt | 40 +++++++++++++++++-------- fairmq/test/pub-sub/runTestPub.cxx | 11 +++++-- fairmq/test/pub-sub/runTestSub.cxx | 12 ++++++-- fairmq/test/push-pull/runTestPull.cxx | 11 +++++-- fairmq/test/push-pull/runTestPush.cxx | 12 ++++++-- fairmq/test/req-rep/runTestRep.cxx | 11 +++++-- fairmq/test/req-rep/runTestReq.cxx | 12 ++++++-- fairmq/test/runTransferTimeoutTest.cxx | 11 +++++-- fairmq/test/test-fairmq-pub-sub.sh.in | 12 ++++++-- fairmq/test/test-fairmq-push-pull.sh.in | 10 +++++-- fairmq/test/test-fairmq-req-rep.sh.in | 12 ++++++-- 11 files changed, 120 insertions(+), 34 deletions(-) diff --git a/fairmq/test/CMakeLists.txt b/fairmq/test/CMakeLists.txt index e606233c..c5fb839c 100644 --- a/fairmq/test/CMakeLists.txt +++ b/fairmq/test/CMakeLists.txt @@ -95,18 +95,34 @@ ForEach(_file RANGE 0 ${_length}) GENERATE_EXECUTABLE() EndForEach(_file RANGE 0 ${_length}) -add_test(NAME run_fairmq_push_pull COMMAND ${CMAKE_BINARY_DIR}/fairmq/test/test-fairmq-push-pull.sh) -set_tests_properties(run_fairmq_push_pull PROPERTIES TIMEOUT "30") -set_tests_properties(run_fairmq_push_pull PROPERTIES PASS_REGULAR_EXPRESSION "PUSH-PULL test successfull") +add_test(NAME run_fairmq_push_pull_zmq COMMAND ${CMAKE_BINARY_DIR}/fairmq/test/test-fairmq-push-pull.sh zeromq) +set_tests_properties(run_fairmq_push_pull_zmq PROPERTIES TIMEOUT "30") +set_tests_properties(run_fairmq_push_pull_zmq PROPERTIES PASS_REGULAR_EXPRESSION "PUSH-PULL test successfull") -add_test(NAME run_fairmq_pub_sub COMMAND ${CMAKE_BINARY_DIR}/fairmq/test/test-fairmq-pub-sub.sh) -set_tests_properties(run_fairmq_pub_sub PROPERTIES TIMEOUT "30") -set_tests_properties(run_fairmq_pub_sub PROPERTIES PASS_REGULAR_EXPRESSION "PUB-SUB test successfull") +add_test(NAME run_fairmq_pub_sub_zmq COMMAND ${CMAKE_BINARY_DIR}/fairmq/test/test-fairmq-pub-sub.sh zeromq) +set_tests_properties(run_fairmq_pub_sub_zmq PROPERTIES TIMEOUT "30") +set_tests_properties(run_fairmq_pub_sub_zmq PROPERTIES PASS_REGULAR_EXPRESSION "PUB-SUB test successfull") -add_test(NAME run_fairmq_req_rep COMMAND ${CMAKE_BINARY_DIR}/fairmq/test/test-fairmq-req-rep.sh) -set_tests_properties(run_fairmq_req_rep PROPERTIES TIMEOUT "30") -set_tests_properties(run_fairmq_req_rep PROPERTIES PASS_REGULAR_EXPRESSION "REQ-REP test successfull") +add_test(NAME run_fairmq_req_rep_zmq COMMAND ${CMAKE_BINARY_DIR}/fairmq/test/test-fairmq-req-rep.sh zeromq) +set_tests_properties(run_fairmq_req_rep_zmq PROPERTIES TIMEOUT "30") +set_tests_properties(run_fairmq_req_rep_zmq PROPERTIES PASS_REGULAR_EXPRESSION "REQ-REP test successfull") -add_test(NAME run_fairmq_transfer_timeout COMMAND ${CMAKE_BINARY_DIR}/bin/test-fairmq-transfer-timeout) -set_tests_properties(run_fairmq_transfer_timeout PROPERTIES TIMEOUT "30") -set_tests_properties(run_fairmq_transfer_timeout PROPERTIES PASS_REGULAR_EXPRESSION "Transfer timeout test successfull") +add_test(NAME run_fairmq_transfer_timeout_zmq COMMAND ${CMAKE_BINARY_DIR}/bin/test-fairmq-transfer-timeout zeromq) +set_tests_properties(run_fairmq_transfer_timeout_zmq PROPERTIES TIMEOUT "30") +set_tests_properties(run_fairmq_transfer_timeout_zmq PROPERTIES PASS_REGULAR_EXPRESSION "Transfer timeout test successfull") + +add_test(NAME run_fairmq_push_pull_nn COMMAND ${CMAKE_BINARY_DIR}/fairmq/test/test-fairmq-push-pull.sh nanomsg) +set_tests_properties(run_fairmq_push_pull_nn PROPERTIES TIMEOUT "30") +set_tests_properties(run_fairmq_push_pull_nn PROPERTIES PASS_REGULAR_EXPRESSION "PUSH-PULL test successfull") + +add_test(NAME run_fairmq_pub_sub_nn COMMAND ${CMAKE_BINARY_DIR}/fairmq/test/test-fairmq-pub-sub.sh nanomsg) +set_tests_properties(run_fairmq_pub_sub_nn PROPERTIES TIMEOUT "30") +set_tests_properties(run_fairmq_pub_sub_nn PROPERTIES PASS_REGULAR_EXPRESSION "PUB-SUB test successfull") + +add_test(NAME run_fairmq_req_rep_nn COMMAND ${CMAKE_BINARY_DIR}/fairmq/test/test-fairmq-req-rep.sh nanomsg) +set_tests_properties(run_fairmq_req_rep_nn PROPERTIES TIMEOUT "30") +set_tests_properties(run_fairmq_req_rep_nn PROPERTIES PASS_REGULAR_EXPRESSION "REQ-REP test successfull") + +add_test(NAME run_fairmq_transfer_timeout_nn COMMAND ${CMAKE_BINARY_DIR}/bin/test-fairmq-transfer-timeout nanomsg) +set_tests_properties(run_fairmq_transfer_timeout_nn PROPERTIES TIMEOUT "30") +set_tests_properties(run_fairmq_transfer_timeout_nn PROPERTIES PASS_REGULAR_EXPRESSION "Transfer timeout test successfull") diff --git a/fairmq/test/pub-sub/runTestPub.cxx b/fairmq/test/pub-sub/runTestPub.cxx index 5c884147..ccb2c528 100644 --- a/fairmq/test/pub-sub/runTestPub.cxx +++ b/fairmq/test/pub-sub/runTestPub.cxx @@ -15,11 +15,18 @@ #include "FairMQLogger.h" #include "FairMQTestPub.h" -int main(int /*argc*/, char** /*argv*/) +int main(int argc, char** argv) { FairMQTestPub testPub; testPub.CatchSignals(); - testPub.SetTransport("zeromq"); + if (argc == 2) + { + testPub.SetTransport(argv[1]); + } + else + { + testPub.SetTransport("zeromq"); + } reinit_logger(false); diff --git a/fairmq/test/pub-sub/runTestSub.cxx b/fairmq/test/pub-sub/runTestSub.cxx index bad5bc07..8ebf7359 100644 --- a/fairmq/test/pub-sub/runTestSub.cxx +++ b/fairmq/test/pub-sub/runTestSub.cxx @@ -17,13 +17,21 @@ #include "FairMQLogger.h" #include "FairMQTestSub.h" -int main(int /*argc*/, char** /*argv*/) +int main(int argc, char** argv) { FairMQTestSub testSub; testSub.CatchSignals(); - testSub.SetTransport("zeromq"); + if (argc == 2) + { + testSub.SetTransport(argv[1]); + } + else + { + testSub.SetTransport("zeromq"); + } reinit_logger(false); + set_global_log_level(log_op::operation::GREATER_EQ_THAN, fairmq::NOLOG); testSub.SetProperty(FairMQTestSub::Id, "testSub_" + std::to_string(getpid())); diff --git a/fairmq/test/push-pull/runTestPull.cxx b/fairmq/test/push-pull/runTestPull.cxx index f0dcbb49..5f3c95cb 100644 --- a/fairmq/test/push-pull/runTestPull.cxx +++ b/fairmq/test/push-pull/runTestPull.cxx @@ -15,11 +15,18 @@ #include "FairMQLogger.h" #include "FairMQTestPull.h" -int main(int /*argc*/, char** /*argv*/) +int main(int argc, char** argv) { FairMQTestPull testPull; testPull.CatchSignals(); - testPull.SetTransport("zeromq"); + if (argc == 2) + { + testPull.SetTransport(argv[1]); + } + else + { + testPull.SetTransport("zeromq"); + } reinit_logger(false); diff --git a/fairmq/test/push-pull/runTestPush.cxx b/fairmq/test/push-pull/runTestPush.cxx index f9f356e7..a7a04871 100644 --- a/fairmq/test/push-pull/runTestPush.cxx +++ b/fairmq/test/push-pull/runTestPush.cxx @@ -15,13 +15,21 @@ #include "FairMQLogger.h" #include "FairMQTestPush.h" -int main(int /*argc*/, char** /*argv*/) +int main(int argc, char** argv) { FairMQTestPush testPush; testPush.CatchSignals(); - testPush.SetTransport("zeromq"); + if (argc == 2) + { + testPush.SetTransport(argv[1]); + } + else + { + testPush.SetTransport("zeromq"); + } reinit_logger(false); + set_global_log_level(log_op::operation::GREATER_EQ_THAN, fairmq::NOLOG); testPush.SetProperty(FairMQTestPush::Id, "testPush"); diff --git a/fairmq/test/req-rep/runTestRep.cxx b/fairmq/test/req-rep/runTestRep.cxx index 0a2a677d..99603e78 100644 --- a/fairmq/test/req-rep/runTestRep.cxx +++ b/fairmq/test/req-rep/runTestRep.cxx @@ -17,11 +17,18 @@ #include "FairMQLogger.h" #include "FairMQTestRep.h" -int main(int /*argc*/, char** /*argv*/) +int main(int argc, char** argv) { FairMQTestRep testRep; testRep.CatchSignals(); - testRep.SetTransport("zeromq"); + if (argc == 2) + { + testRep.SetTransport(argv[1]); + } + else + { + testRep.SetTransport("zeromq"); + } reinit_logger(false); diff --git a/fairmq/test/req-rep/runTestReq.cxx b/fairmq/test/req-rep/runTestReq.cxx index fa194447..d49cba59 100644 --- a/fairmq/test/req-rep/runTestReq.cxx +++ b/fairmq/test/req-rep/runTestReq.cxx @@ -17,13 +17,21 @@ #include "FairMQLogger.h" #include "FairMQTestReq.h" -int main(int /*argc*/, char** /*argv*/) +int main(int argc, char** argv) { FairMQTestReq testReq; testReq.CatchSignals(); - testReq.SetTransport("zeromq"); + if (argc == 2) + { + testReq.SetTransport(argv[1]); + } + else + { + testReq.SetTransport("zeromq"); + } reinit_logger(false); + set_global_log_level(log_op::operation::GREATER_EQ_THAN, fairmq::NOLOG); testReq.SetProperty(FairMQTestReq::Id, "testReq" + std::to_string(getpid())); diff --git a/fairmq/test/runTransferTimeoutTest.cxx b/fairmq/test/runTransferTimeoutTest.cxx index 72dda219..e69689cd 100644 --- a/fairmq/test/runTransferTimeoutTest.cxx +++ b/fairmq/test/runTransferTimeoutTest.cxx @@ -87,11 +87,18 @@ class TransferTimeoutTester : public FairMQDevice } }; -int main(int /*argc*/, char** /*argv*/) +int main(int argc, char** argv) { TransferTimeoutTester timeoutTester; timeoutTester.CatchSignals(); - timeoutTester.SetTransport("zeromq"); + if (argc == 2) + { + timeoutTester.SetTransport(argv[1]); + } + else + { + timeoutTester.SetTransport("zeromq"); + } reinit_logger(false); diff --git a/fairmq/test/test-fairmq-pub-sub.sh.in b/fairmq/test/test-fairmq-pub-sub.sh.in index 984d34b8..56c83d03 100755 --- a/fairmq/test/test-fairmq-pub-sub.sh.in +++ b/fairmq/test/test-fairmq-pub-sub.sh.in @@ -1,11 +1,17 @@ #!/bin/bash +transport="zeromq" + +if [ "$1" = "nanomsg" ]; then + transport="nanomsg" +fi + trap 'kill -TERM $PUB_PID; kill -TERM $SUB1_PID; kill -TERM $SUB2_PID; wait $PUB_PID; wait $SUB1_PID; wait $SUB2_PID;' TERM -@CMAKE_BINARY_DIR@/bin/test-fairmq-pub & +@CMAKE_BINARY_DIR@/bin/test-fairmq-pub $transport & PUB_PID=$! -@CMAKE_BINARY_DIR@/bin/test-fairmq-sub & +@CMAKE_BINARY_DIR@/bin/test-fairmq-sub $transport & SUB1_PID=$! -@CMAKE_BINARY_DIR@/bin/test-fairmq-sub & +@CMAKE_BINARY_DIR@/bin/test-fairmq-sub $transport & SUB2_PID=$! wait $PUB_PID wait $SUB1_PID diff --git a/fairmq/test/test-fairmq-push-pull.sh.in b/fairmq/test/test-fairmq-push-pull.sh.in index e3cbacb5..6b9347b3 100755 --- a/fairmq/test/test-fairmq-push-pull.sh.in +++ b/fairmq/test/test-fairmq-push-pull.sh.in @@ -1,9 +1,15 @@ #!/bin/bash +transport="zeromq" + +if [ "$1" = "nanomsg" ]; then + transport="nanomsg" +fi + trap 'kill -TERM $PUSH_PID; kill -TERM $PULL_PID; wait $PUSH_PID; wait $PULL_PID;' TERM -@CMAKE_BINARY_DIR@/bin/test-fairmq-push & +@CMAKE_BINARY_DIR@/bin/test-fairmq-push $transport & PUSH_PID=$! -@CMAKE_BINARY_DIR@/bin/test-fairmq-pull & +@CMAKE_BINARY_DIR@/bin/test-fairmq-pull $transport & PULL_PID=$! wait $PUSH_PID wait $PULL_PID diff --git a/fairmq/test/test-fairmq-req-rep.sh.in b/fairmq/test/test-fairmq-req-rep.sh.in index 22e3df1e..649a8352 100755 --- a/fairmq/test/test-fairmq-req-rep.sh.in +++ b/fairmq/test/test-fairmq-req-rep.sh.in @@ -1,11 +1,17 @@ #!/bin/bash +transport="zeromq" + +if [ "$1" = "nanomsg" ]; then + transport="nanomsg" +fi + trap 'kill -TERM $REQ1_PID; kill -TERM $REQ2_PID; kill -TERM $REP_PID; wait $REQ1_PID; wait $REQ2_PID; wait $REP_PID;' TERM -@CMAKE_BINARY_DIR@/bin/test-fairmq-req & +@CMAKE_BINARY_DIR@/bin/test-fairmq-req $transport & REQ1_PID=$! -@CMAKE_BINARY_DIR@/bin/test-fairmq-req & +@CMAKE_BINARY_DIR@/bin/test-fairmq-req $transport & REQ2_PID=$! -@CMAKE_BINARY_DIR@/bin/test-fairmq-rep & +@CMAKE_BINARY_DIR@/bin/test-fairmq-rep $transport & REP_PID=$! wait $REQ1_PID wait $REQ2_PID