mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-13 16:46:47 +00:00
Example tests: check exit codes
This commit is contained in:
parent
afd5700cca
commit
61d2797971
|
@ -23,10 +23,10 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/fairmq-start-ex-1-1.sh.in ${CMAKE_CUR
|
||||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/test-ex-1-1.sh.in ${CMAKE_CURRENT_BINARY_DIR}/test-ex-1-1.sh)
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/test-ex-1-1.sh.in ${CMAKE_CURRENT_BINARY_DIR}/test-ex-1-1.sh)
|
||||||
|
|
||||||
add_test(NAME Example.1-1.zeromq COMMAND ${CMAKE_CURRENT_BINARY_DIR}/test-ex-1-1.sh zeromq)
|
add_test(NAME Example.1-1.zeromq COMMAND ${CMAKE_CURRENT_BINARY_DIR}/test-ex-1-1.sh zeromq)
|
||||||
set_tests_properties(Example.1-1.zeromq PROPERTIES TIMEOUT "30" PASS_REGULAR_EXPRESSION "Received: ")
|
set_tests_properties(Example.1-1.zeromq PROPERTIES TIMEOUT "30")
|
||||||
|
|
||||||
add_test(NAME Example.1-1.shmem COMMAND ${CMAKE_CURRENT_BINARY_DIR}/test-ex-1-1.sh shmem)
|
add_test(NAME Example.1-1.shmem COMMAND ${CMAKE_CURRENT_BINARY_DIR}/test-ex-1-1.sh shmem)
|
||||||
set_tests_properties(Example.1-1.shmem PROPERTIES TIMEOUT "30" PASS_REGULAR_EXPRESSION "Received: ")
|
set_tests_properties(Example.1-1.shmem PROPERTIES TIMEOUT "30")
|
||||||
|
|
||||||
# install
|
# install
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
export FAIRMQ_PATH=@FAIRMQ_BIN_DIR@
|
export FAIRMQ_PATH=@FAIRMQ_BIN_DIR@
|
||||||
|
|
||||||
transport="zeromq"
|
transport="zeromq"
|
||||||
|
@ -13,7 +15,7 @@ chan="data"
|
||||||
chanAddr="/tmp/fmq_$session""_""$chan""_""$transport"
|
chanAddr="/tmp/fmq_$session""_""$chan""_""$transport"
|
||||||
|
|
||||||
# setup a trap to kill everything if the test fails/timeouts
|
# setup a trap to kill everything if the test fails/timeouts
|
||||||
trap 'kill -TERM $SAMPLER_PID; kill -TERM $SINK_PID; wait $SAMPLER_PID; wait $SINK_PID; rm $chanAddr' TERM
|
trap 'set +e; kill -TERM $SAMPLER_PID; kill -TERM $SINK_PID; wait $SAMPLER_PID; wait $SINK_PID; rm $chanAddr; exit 0' TERM
|
||||||
|
|
||||||
SAMPLER="fairmq-ex-1-1-sampler"
|
SAMPLER="fairmq-ex-1-1-sampler"
|
||||||
SAMPLER+=" --id sampler1"
|
SAMPLER+=" --id sampler1"
|
||||||
|
@ -44,4 +46,6 @@ SINK_PID=$!
|
||||||
wait $SAMPLER_PID
|
wait $SAMPLER_PID
|
||||||
wait $SINK_PID
|
wait $SINK_PID
|
||||||
|
|
||||||
|
set +e
|
||||||
rm $chanAddr
|
rm $chanAddr
|
||||||
|
exit 0
|
||||||
|
|
|
@ -29,10 +29,10 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/ex-1-n-1.json ${CMAKE_CURRENT_BINARY_
|
||||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/test-ex-1-n-1.sh.in ${CMAKE_CURRENT_BINARY_DIR}/test-ex-1-n-1.sh)
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/test-ex-1-n-1.sh.in ${CMAKE_CURRENT_BINARY_DIR}/test-ex-1-n-1.sh)
|
||||||
|
|
||||||
add_test(NAME Example.1-n-1.zeromq COMMAND ${CMAKE_CURRENT_BINARY_DIR}/test-ex-1-n-1.sh zeromq)
|
add_test(NAME Example.1-n-1.zeromq COMMAND ${CMAKE_CURRENT_BINARY_DIR}/test-ex-1-n-1.sh zeromq)
|
||||||
set_tests_properties(Example.1-n-1.zeromq PROPERTIES TIMEOUT "30" PASS_REGULAR_EXPRESSION "Received: ")
|
set_tests_properties(Example.1-n-1.zeromq PROPERTIES TIMEOUT "30")
|
||||||
|
|
||||||
add_test(NAME Example.1-n-1.shmem COMMAND ${CMAKE_CURRENT_BINARY_DIR}/test-ex-1-n-1.sh shmem)
|
add_test(NAME Example.1-n-1.shmem COMMAND ${CMAKE_CURRENT_BINARY_DIR}/test-ex-1-n-1.sh shmem)
|
||||||
set_tests_properties(Example.1-n-1.shmem PROPERTIES TIMEOUT "30" PASS_REGULAR_EXPRESSION "Received: ")
|
set_tests_properties(Example.1-n-1.shmem PROPERTIES TIMEOUT "30")
|
||||||
|
|
||||||
# install
|
# install
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
export FAIRMQ_PATH=@FAIRMQ_BIN_DIR@
|
export FAIRMQ_PATH=@FAIRMQ_BIN_DIR@
|
||||||
|
|
||||||
transport="zeromq"
|
transport="zeromq"
|
||||||
|
@ -15,7 +17,7 @@ chan1Addr="/tmp/fmq_$session""_""$chan1""_""$transport"
|
||||||
chan2Addr="/tmp/fmq_$session""_""$chan2""_""$transport"
|
chan2Addr="/tmp/fmq_$session""_""$chan2""_""$transport"
|
||||||
|
|
||||||
# setup a trap to kill everything if the test fails/timeouts
|
# setup a trap to kill everything if the test fails/timeouts
|
||||||
trap 'kill -TERM $SAMPLER_PID; kill -TERM $SINK_PID; kill -TERM $PROCESSOR1_PID; kill -TERM $PROCESSOR2_PID; wait $SAMPLER_PID; wait $SINK_PID; wait $PROCESSOR1_PID; wait $PROCESSOR2_PID; rm $chan1Addr; rm $chan2Addr' TERM
|
trap 'set +e; kill -TERM $SAMPLER_PID; kill -TERM $SINK_PID; kill -TERM $PROCESSOR1_PID; kill -TERM $PROCESSOR2_PID; wait $SAMPLER_PID; wait $SINK_PID; wait $PROCESSOR1_PID; wait $PROCESSOR2_PID; rm $chan1Addr; rm $chan2Addr; exit 0' TERM
|
||||||
|
|
||||||
SAMPLER="fairmq-ex-1-n-1-sampler"
|
SAMPLER="fairmq-ex-1-n-1-sampler"
|
||||||
SAMPLER+=" --id sampler1"
|
SAMPLER+=" --id sampler1"
|
||||||
|
@ -81,4 +83,6 @@ kill -SIGINT $PROCESSOR2_PID
|
||||||
wait $PROCESSOR1_PID
|
wait $PROCESSOR1_PID
|
||||||
wait $PROCESSOR2_PID
|
wait $PROCESSOR2_PID
|
||||||
|
|
||||||
|
set +e
|
||||||
rm $chan1Addr; rm $chan2Addr
|
rm $chan1Addr; rm $chan2Addr
|
||||||
|
exit 0
|
||||||
|
|
|
@ -15,16 +15,16 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/fairmq-start-ex-builtin-devices.sh.in
|
||||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/test-ex-builtin-devices.sh.in ${CMAKE_CURRENT_BINARY_DIR}/test-ex-builtin-devices.sh)
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/test-ex-builtin-devices.sh.in ${CMAKE_CURRENT_BINARY_DIR}/test-ex-builtin-devices.sh)
|
||||||
|
|
||||||
add_test(NAME Example.BuiltinDevices.zeromq COMMAND ${CMAKE_CURRENT_BINARY_DIR}/test-ex-builtin-devices.sh zeromq)
|
add_test(NAME Example.BuiltinDevices.zeromq COMMAND ${CMAKE_CURRENT_BINARY_DIR}/test-ex-builtin-devices.sh zeromq)
|
||||||
set_tests_properties(Example.BuiltinDevices.zeromq PROPERTIES TIMEOUT "30" PASS_REGULAR_EXPRESSION "Configured maximum number of iterations reached")
|
set_tests_properties(Example.BuiltinDevices.zeromq PROPERTIES TIMEOUT "30")
|
||||||
|
|
||||||
add_test(NAME Example.BuiltinDevices.shmem COMMAND ${CMAKE_CURRENT_BINARY_DIR}/test-ex-builtin-devices.sh shmem)
|
add_test(NAME Example.BuiltinDevices.shmem COMMAND ${CMAKE_CURRENT_BINARY_DIR}/test-ex-builtin-devices.sh shmem)
|
||||||
set_tests_properties(Example.BuiltinDevices.shmem PROPERTIES TIMEOUT "30" PASS_REGULAR_EXPRESSION "Configured maximum number of iterations reached")
|
set_tests_properties(Example.BuiltinDevices.shmem PROPERTIES TIMEOUT "30")
|
||||||
|
|
||||||
add_test(NAME Example.BuiltinDevices.multipart.zeromq COMMAND ${CMAKE_CURRENT_BINARY_DIR}/test-ex-builtin-devices.sh zeromq true 2)
|
add_test(NAME Example.BuiltinDevices.multipart.zeromq COMMAND ${CMAKE_CURRENT_BINARY_DIR}/test-ex-builtin-devices.sh zeromq true 2)
|
||||||
set_tests_properties(Example.BuiltinDevices.multipart.zeromq PROPERTIES TIMEOUT "30" PASS_REGULAR_EXPRESSION "Configured maximum number of iterations reached")
|
set_tests_properties(Example.BuiltinDevices.multipart.zeromq PROPERTIES TIMEOUT "30")
|
||||||
|
|
||||||
add_test(NAME Example.BuiltinDevices.multipart.shmem COMMAND ${CMAKE_CURRENT_BINARY_DIR}/test-ex-builtin-devices.sh shmem true 2)
|
add_test(NAME Example.BuiltinDevices.multipart.shmem COMMAND ${CMAKE_CURRENT_BINARY_DIR}/test-ex-builtin-devices.sh shmem true 2)
|
||||||
set_tests_properties(Example.BuiltinDevices.multipart.shmem PROPERTIES TIMEOUT "30" PASS_REGULAR_EXPRESSION "Configured maximum number of iterations reached")
|
set_tests_properties(Example.BuiltinDevices.multipart.shmem PROPERTIES TIMEOUT "30")
|
||||||
|
|
||||||
# install
|
# install
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
export FAIRMQ_PATH=@FAIRMQ_BIN_DIR@
|
export FAIRMQ_PATH=@FAIRMQ_BIN_DIR@
|
||||||
|
|
||||||
transport="zeromq"
|
transport="zeromq"
|
||||||
|
@ -33,7 +35,7 @@ chan4Addr="/tmp/fmq_$session""_""$chan4""_""$transport"
|
||||||
chan5Addr="/tmp/fmq_$session""_""$chan5""_""$transport"
|
chan5Addr="/tmp/fmq_$session""_""$chan5""_""$transport"
|
||||||
|
|
||||||
# setup a trap to kill everything if the test fails/timeouts
|
# setup a trap to kill everything if the test fails/timeouts
|
||||||
trap 'kill -TERM $SAMPLER_PID; kill -TERM $SPLITTER_PID; kill -TERM $PROXY1_PID; kill -TERM $PROXY2_PID; kill -TERM $MERGER_PID; kill -TERM $MULTIPLIER_PID; kill -TERM $SINK_PID; rm $chan1Addr; rm $chan2Addr1; rm $chan2Addr2; rm $chan3Addr1; rm $chan3Addr2; rm $chan4Addr; rm $chan5Addr' TERM
|
trap 'set +e; kill -TERM $SAMPLER_PID; kill -TERM $SPLITTER_PID; kill -TERM $PROXY1_PID; kill -TERM $PROXY2_PID; kill -TERM $MERGER_PID; kill -TERM $MULTIPLIER_PID; kill -TERM $SINK_PID; rm $chan1Addr; rm $chan2Addr1; rm $chan2Addr2; rm $chan3Addr1; rm $chan3Addr2; rm $chan4Addr; rm $chan5Addr; exit 0' TERM
|
||||||
|
|
||||||
SAMPLER="fairmq-bsampler"
|
SAMPLER="fairmq-bsampler"
|
||||||
SAMPLER+=" --id bsampler1"
|
SAMPLER+=" --id bsampler1"
|
||||||
|
@ -165,4 +167,6 @@ wait $PROXY2_PID
|
||||||
wait $MERGER_PID
|
wait $MERGER_PID
|
||||||
wait $MULTIPLIER_PID
|
wait $MULTIPLIER_PID
|
||||||
|
|
||||||
|
set +e
|
||||||
rm $chan1Addr; rm $chan2Addr1; rm $chan2Addr2; rm $chan3Addr1; rm $chan3Addr2; rm $chan4Addr; rm $chan5Addr
|
rm $chan1Addr; rm $chan2Addr1; rm $chan2Addr2; rm $chan3Addr1; rm $chan3Addr2; rm $chan4Addr; rm $chan5Addr
|
||||||
|
exit 0
|
||||||
|
|
|
@ -24,10 +24,10 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/fairmq-start-ex-copypush.sh.in ${CMAK
|
||||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/test-ex-copypush.sh.in ${CMAKE_CURRENT_BINARY_DIR}/test-ex-copypush.sh)
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/test-ex-copypush.sh.in ${CMAKE_CURRENT_BINARY_DIR}/test-ex-copypush.sh)
|
||||||
|
|
||||||
add_test(NAME Example.CopyPush.zeromq COMMAND ${CMAKE_CURRENT_BINARY_DIR}/test-ex-copypush.sh zeromq)
|
add_test(NAME Example.CopyPush.zeromq COMMAND ${CMAKE_CURRENT_BINARY_DIR}/test-ex-copypush.sh zeromq)
|
||||||
set_tests_properties(Example.CopyPush.zeromq PROPERTIES TIMEOUT "30" PASS_REGULAR_EXPRESSION "Received message: ")
|
set_tests_properties(Example.CopyPush.zeromq PROPERTIES TIMEOUT "30")
|
||||||
|
|
||||||
add_test(NAME Example.CopyPush.shmem COMMAND ${CMAKE_CURRENT_BINARY_DIR}/test-ex-copypush.sh shmem)
|
add_test(NAME Example.CopyPush.shmem COMMAND ${CMAKE_CURRENT_BINARY_DIR}/test-ex-copypush.sh shmem)
|
||||||
set_tests_properties(Example.CopyPush.shmem PROPERTIES TIMEOUT "30" PASS_REGULAR_EXPRESSION "Received message: ")
|
set_tests_properties(Example.CopyPush.shmem PROPERTIES TIMEOUT "30")
|
||||||
|
|
||||||
# install
|
# install
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
export FAIRMQ_PATH=@FAIRMQ_BIN_DIR@
|
export FAIRMQ_PATH=@FAIRMQ_BIN_DIR@
|
||||||
|
|
||||||
transport="zeromq"
|
transport="zeromq"
|
||||||
|
@ -14,7 +16,7 @@ chanAddr1="/tmp/fmq_$session""_""$chan""_1""_""$transport"
|
||||||
chanAddr2="/tmp/fmq_$session""_""$chan""_2""_""$transport"
|
chanAddr2="/tmp/fmq_$session""_""$chan""_2""_""$transport"
|
||||||
|
|
||||||
# setup a trap to kill everything if the test fails/timeouts
|
# setup a trap to kill everything if the test fails/timeouts
|
||||||
trap 'kill -TERM $SAMPLER_PID; kill -TERM $SINK1_PID; kill -TERM $SINK2_PID; wait $SAMPLER_PID; wait $SINK1_PID; wait $SINK2_PID; rm $chanAddr1; rm $chanAddr2' TERM
|
trap 'set +e; kill -TERM $SAMPLER_PID; kill -TERM $SINK1_PID; kill -TERM $SINK2_PID; wait $SAMPLER_PID; wait $SINK1_PID; wait $SINK2_PID; rm $chanAddr1; rm $chanAddr2; exit 0' TERM
|
||||||
|
|
||||||
SAMPLER="fairmq-ex-copypush-sampler"
|
SAMPLER="fairmq-ex-copypush-sampler"
|
||||||
SAMPLER+=" --id sampler1"
|
SAMPLER+=" --id sampler1"
|
||||||
|
@ -60,4 +62,6 @@ wait $SAMPLER_PID
|
||||||
wait $SINK1_PID
|
wait $SINK1_PID
|
||||||
wait $SINK2_PID
|
wait $SINK2_PID
|
||||||
|
|
||||||
|
set +e
|
||||||
rm $chanAddr1; rm $chanAddr2
|
rm $chanAddr1; rm $chanAddr2
|
||||||
|
exit 0
|
||||||
|
|
|
@ -23,14 +23,14 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/fairmq-start-ex-multipart.sh.in ${CMA
|
||||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/test-ex-multipart.sh.in ${CMAKE_CURRENT_BINARY_DIR}/test-ex-multipart.sh)
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/test-ex-multipart.sh.in ${CMAKE_CURRENT_BINARY_DIR}/test-ex-multipart.sh)
|
||||||
|
|
||||||
add_test(NAME Example.Multipart.zeromq COMMAND ${CMAKE_CURRENT_BINARY_DIR}/test-ex-multipart.sh zeromq)
|
add_test(NAME Example.Multipart.zeromq COMMAND ${CMAKE_CURRENT_BINARY_DIR}/test-ex-multipart.sh zeromq)
|
||||||
set_tests_properties(Example.Multipart.zeromq PROPERTIES TIMEOUT "30" PASS_REGULAR_EXPRESSION "Received message with 7 parts")
|
set_tests_properties(Example.Multipart.zeromq PROPERTIES TIMEOUT "30")
|
||||||
|
|
||||||
add_test(NAME Example.Multipart.shmem COMMAND ${CMAKE_CURRENT_BINARY_DIR}/test-ex-multipart.sh shmem)
|
add_test(NAME Example.Multipart.shmem COMMAND ${CMAKE_CURRENT_BINARY_DIR}/test-ex-multipart.sh shmem)
|
||||||
set_tests_properties(Example.Multipart.shmem PROPERTIES TIMEOUT "30" PASS_REGULAR_EXPRESSION "Received message with 7 parts")
|
set_tests_properties(Example.Multipart.shmem PROPERTIES TIMEOUT "30")
|
||||||
|
|
||||||
if(BUILD_OFI_TRANSPORT)
|
if(BUILD_OFI_TRANSPORT)
|
||||||
add_test(NAME Example.Multipart.ofi COMMAND ${CMAKE_CURRENT_BINARY_DIR}/test-ex-multipart.sh ofi)
|
add_test(NAME Example.Multipart.ofi COMMAND ${CMAKE_CURRENT_BINARY_DIR}/test-ex-multipart.sh ofi)
|
||||||
set_tests_properties(Example.Multipart.ofi PROPERTIES TIMEOUT "30" PASS_REGULAR_EXPRESSION "Received message with 7 parts")
|
set_tests_properties(Example.Multipart.ofi PROPERTIES TIMEOUT "30")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# install
|
# install
|
||||||
|
|
|
@ -24,6 +24,10 @@ struct Sink : fair::mq::Device
|
||||||
{
|
{
|
||||||
LOG(info) << "Received message with " << parts.Size() << " parts";
|
LOG(info) << "Received message with " << parts.Size() << " parts";
|
||||||
|
|
||||||
|
if (parts.Size() != 7) {
|
||||||
|
throw std::runtime_error("Number of received parts != 7");
|
||||||
|
}
|
||||||
|
|
||||||
example_multipart::Header header;
|
example_multipart::Header header;
|
||||||
header.stopFlag = (static_cast<example_multipart::Header*>(parts.At(0)->GetData()))->stopFlag;
|
header.stopFlag = (static_cast<example_multipart::Header*>(parts.At(0)->GetData()))->stopFlag;
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
export FAIRMQ_PATH=@FAIRMQ_BIN_DIR@
|
export FAIRMQ_PATH=@FAIRMQ_BIN_DIR@
|
||||||
|
|
||||||
transport="zeromq"
|
transport="zeromq"
|
||||||
|
@ -19,7 +21,7 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# setup a trap to kill everything if the test fails/timeouts
|
# setup a trap to kill everything if the test fails/timeouts
|
||||||
trap 'kill -TERM $SAMPLER_PID; kill -TERM $SINK_PID; wait $SAMPLER_PID; wait $SINK_PID; rm $chanIpcFile' TERM
|
trap 'set +e; kill -TERM $SAMPLER_PID; kill -TERM $SINK_PID; wait $SAMPLER_PID; wait $SINK_PID; rm $chanIpcFile; exit 0' TERM
|
||||||
|
|
||||||
SAMPLER="fairmq-ex-multipart-sampler"
|
SAMPLER="fairmq-ex-multipart-sampler"
|
||||||
SAMPLER+=" --id sampler1"
|
SAMPLER+=" --id sampler1"
|
||||||
|
@ -47,4 +49,6 @@ SINK_PID=$!
|
||||||
wait $SAMPLER_PID
|
wait $SAMPLER_PID
|
||||||
wait $SINK_PID
|
wait $SINK_PID
|
||||||
|
|
||||||
|
set +e
|
||||||
rm $chanIpcFile
|
rm $chanIpcFile
|
||||||
|
exit 0
|
||||||
|
|
|
@ -26,7 +26,7 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/fairmq-start-ex-multiple-channels.sh.
|
||||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/test-ex-multiple-channels.sh.in ${CMAKE_CURRENT_BINARY_DIR}/test-ex-multiple-channels.sh)
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/test-ex-multiple-channels.sh.in ${CMAKE_CURRENT_BINARY_DIR}/test-ex-multiple-channels.sh)
|
||||||
|
|
||||||
add_test(NAME Example.MultipleChannels.zeromq COMMAND ${CMAKE_CURRENT_BINARY_DIR}/test-ex-multiple-channels.sh zeromq)
|
add_test(NAME Example.MultipleChannels.zeromq COMMAND ${CMAKE_CURRENT_BINARY_DIR}/test-ex-multiple-channels.sh zeromq)
|
||||||
set_tests_properties(Example.MultipleChannels.zeromq PROPERTIES TIMEOUT "30" PASS_REGULAR_EXPRESSION "Received messages from both sources.")
|
set_tests_properties(Example.MultipleChannels.zeromq PROPERTIES TIMEOUT "30")
|
||||||
|
|
||||||
# install
|
# install
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
export FAIRMQ_PATH=@FAIRMQ_BIN_DIR@
|
export FAIRMQ_PATH=@FAIRMQ_BIN_DIR@
|
||||||
|
|
||||||
transport="zeromq"
|
transport="zeromq"
|
||||||
|
@ -15,7 +17,7 @@ dataChanAddr="/tmp/fmq_$session""_""$dataChan""_""$transport"
|
||||||
broadcastChanAddr="/tmp/fmq_$session""_""$broadcastChan""_""$transport"
|
broadcastChanAddr="/tmp/fmq_$session""_""$broadcastChan""_""$transport"
|
||||||
|
|
||||||
# setup a trap to kill everything if the test fails/timeouts
|
# setup a trap to kill everything if the test fails/timeouts
|
||||||
trap 'kill -TERM $SAMPLER_PID; kill -TERM $SINK_PID; kill -TERM $BROADCASTER_PID; wait $SAMPLER_PID; wait $SINK_PID; wait $BROADCASTER_PID; rm $dataChanAddr; rm $broadcastChanAddr' TERM
|
trap 'set +e; kill -TERM $SAMPLER_PID; kill -TERM $SINK_PID; kill -TERM $BROADCASTER_PID; wait $SAMPLER_PID; wait $SINK_PID; wait $BROADCASTER_PID; rm $dataChanAddr; rm $broadcastChanAddr; exit 0' TERM
|
||||||
|
|
||||||
SINK="fairmq-ex-multiple-channels-sink"
|
SINK="fairmq-ex-multiple-channels-sink"
|
||||||
SINK+=" --id sink1"
|
SINK+=" --id sink1"
|
||||||
|
@ -65,4 +67,6 @@ kill -SIGINT $BROADCASTER_PID
|
||||||
# wait for broadcaster to finish
|
# wait for broadcaster to finish
|
||||||
wait $BROADCASTER_PID
|
wait $BROADCASTER_PID
|
||||||
|
|
||||||
|
set +e
|
||||||
rm $dataChanAddr; rm $broadcastChanAddr
|
rm $dataChanAddr; rm $broadcastChanAddr
|
||||||
|
exit 0
|
||||||
|
|
|
@ -25,7 +25,7 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/fairmq-start-ex-multiple-transports.s
|
||||||
|
|
||||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/test-ex-multiple-transports.sh.in ${CMAKE_CURRENT_BINARY_DIR}/test-ex-multiple-transports.sh)
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/test-ex-multiple-transports.sh.in ${CMAKE_CURRENT_BINARY_DIR}/test-ex-multiple-transports.sh)
|
||||||
add_test(NAME Example.MultipleTransports COMMAND ${CMAKE_CURRENT_BINARY_DIR}/test-ex-multiple-transports.sh)
|
add_test(NAME Example.MultipleTransports COMMAND ${CMAKE_CURRENT_BINARY_DIR}/test-ex-multiple-transports.sh)
|
||||||
set_tests_properties(Example.MultipleTransports PROPERTIES TIMEOUT "30" PASS_REGULAR_EXPRESSION "Received messages from both sources.")
|
set_tests_properties(Example.MultipleTransports PROPERTIES TIMEOUT "30")
|
||||||
|
|
||||||
# install
|
# install
|
||||||
|
|
||||||
|
|
|
@ -9,6 +9,8 @@
|
||||||
#include <fairmq/Device.h>
|
#include <fairmq/Device.h>
|
||||||
#include <fairmq/runDevice.h>
|
#include <fairmq/runDevice.h>
|
||||||
|
|
||||||
|
#include <stdexcept>
|
||||||
|
|
||||||
namespace bpo = boost::program_options;
|
namespace bpo = boost::program_options;
|
||||||
|
|
||||||
struct Sink : fair::mq::Device
|
struct Sink : fair::mq::Device
|
||||||
|
@ -32,7 +34,7 @@ struct Sink : fair::mq::Device
|
||||||
// Creates a message using the transport of channel ack
|
// Creates a message using the transport of channel ack
|
||||||
fair::mq::MessagePtr ack(NewMessageFor("ack", 0));
|
fair::mq::MessagePtr ack(NewMessageFor("ack", 0));
|
||||||
if (Send(ack, "ack") < 0) {
|
if (Send(ack, "ack") < 0) {
|
||||||
return false;
|
throw std::runtime_error("could not send an ack");
|
||||||
}
|
}
|
||||||
|
|
||||||
// return true if want to be called again (otherwise go to IDLE state)
|
// return true if want to be called again (otherwise go to IDLE state)
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
export FAIRMQ_PATH=@FAIRMQ_BIN_DIR@
|
export FAIRMQ_PATH=@FAIRMQ_BIN_DIR@
|
||||||
|
|
||||||
session="$(@CMAKE_BINARY_DIR@/fairmq/fairmq-uuid-gen -h)"
|
session="$(@CMAKE_BINARY_DIR@/fairmq/fairmq-uuid-gen -h)"
|
||||||
|
@ -10,7 +12,7 @@ chan1Addr="/tmp/fmq_$session""_""$chan1"
|
||||||
chan2Addr="/tmp/fmq_$session""_""$chan2"
|
chan2Addr="/tmp/fmq_$session""_""$chan2"
|
||||||
ackChanAddr="/tmp/fmq_$session""_""$ackChan"
|
ackChanAddr="/tmp/fmq_$session""_""$ackChan"
|
||||||
|
|
||||||
trap 'kill -TERM $SAMPLER1_PID; kill -TERM $SAMPLER2_PID; kill -TERM $SINK_PID; wait $SAMPLER1_PID; wait $SAMPLER2_PID; wait $SINK_PID; @CMAKE_BINARY_DIR@/fairmq/fairmq-shmmonitor --cleanup --session $SESSION; rm $chan1Addr; rm $chan2Addr; rm $ackChanAddr' TERM
|
trap 'set +e; kill -TERM $SAMPLER1_PID; kill -TERM $SAMPLER2_PID; kill -TERM $SINK_PID; wait $SAMPLER1_PID; wait $SAMPLER2_PID; wait $SINK_PID; @CMAKE_BINARY_DIR@/fairmq/fairmq-shmmonitor --cleanup --session $SESSION; rm $chan1Addr; rm $chan2Addr; rm $ackChanAddr; exit 0' TERM
|
||||||
|
|
||||||
SINK="fairmq-ex-multiple-transports-sink"
|
SINK="fairmq-ex-multiple-transports-sink"
|
||||||
SINK+=" --id sink1"
|
SINK+=" --id sink1"
|
||||||
|
@ -55,4 +57,6 @@ wait $SAMPLER1_PID
|
||||||
wait $SAMPLER2_PID
|
wait $SAMPLER2_PID
|
||||||
wait $SINK_PID
|
wait $SINK_PID
|
||||||
|
|
||||||
|
set +e
|
||||||
rm $chan1Addr; rm $chan2Addr; rm $ackChanAddr
|
rm $chan1Addr; rm $chan2Addr; rm $ackChanAddr
|
||||||
|
exit 0
|
||||||
|
|
|
@ -26,10 +26,10 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/fairmq-start-ex-region.sh.in ${CMAKE_
|
||||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/test-ex-region.sh.in ${CMAKE_CURRENT_BINARY_DIR}/test-ex-region.sh)
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/test-ex-region.sh.in ${CMAKE_CURRENT_BINARY_DIR}/test-ex-region.sh)
|
||||||
|
|
||||||
add_test(NAME Example.Region.zeromq COMMAND ${CMAKE_CURRENT_BINARY_DIR}/test-ex-region.sh zeromq)
|
add_test(NAME Example.Region.zeromq COMMAND ${CMAKE_CURRENT_BINARY_DIR}/test-ex-region.sh zeromq)
|
||||||
set_tests_properties(Example.Region.zeromq PROPERTIES TIMEOUT "30" PASS_REGULAR_EXPRESSION "Received [0-9*] acks")
|
set_tests_properties(Example.Region.zeromq PROPERTIES TIMEOUT "30")
|
||||||
|
|
||||||
add_test(NAME Example.Region.shmem COMMAND ${CMAKE_CURRENT_BINARY_DIR}/test-ex-region.sh shmem)
|
add_test(NAME Example.Region.shmem COMMAND ${CMAKE_CURRENT_BINARY_DIR}/test-ex-region.sh shmem)
|
||||||
set_tests_properties(Example.Region.shmem PROPERTIES TIMEOUT "30" PASS_REGULAR_EXPRESSION "Received [0-9*] acks")
|
set_tests_properties(Example.Region.shmem PROPERTIES TIMEOUT "30")
|
||||||
|
|
||||||
# install
|
# install
|
||||||
|
|
||||||
|
|
|
@ -57,45 +57,48 @@ struct Sampler : fair::mq::Device
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ConditionalRun() override
|
void Run() override
|
||||||
{
|
{
|
||||||
fair::mq::MessagePtr msg(NewMessageFor("data", // channel
|
while (!NewStatePending()) {
|
||||||
0, // sub-channel
|
fair::mq::MessagePtr msg(NewMessageFor("data", // channel
|
||||||
fRegion, // region
|
0, // sub-channel
|
||||||
fRegion->GetData(), // ptr within region
|
fRegion, // region
|
||||||
fMsgSize, // offset from ptr
|
fRegion->GetData(), // ptr within region
|
||||||
nullptr // hint
|
fMsgSize, // offset from ptr
|
||||||
));
|
nullptr // hint
|
||||||
|
));
|
||||||
|
|
||||||
// static_cast<char*>(fRegion->GetData())[3] = 97;
|
std::lock_guard<std::mutex> lock(fMtx);
|
||||||
// LOG(info) << "check: " << static_cast<char*>(fRegion->GetData())[3];
|
++fNumUnackedMsgs;
|
||||||
// std::this_thread::sleep_for(std::chrono::seconds(1));
|
if (Send(msg, "data", 0) > 0) {
|
||||||
|
if (fMaxIterations > 0 && ++fNumIterations >= fMaxIterations) {
|
||||||
std::lock_guard<std::mutex> lock(fMtx);
|
LOG(info) << "Configured maximum number of iterations reached. Stopping sending.";
|
||||||
++fNumUnackedMsgs;
|
break;
|
||||||
if (Send(msg, "data", 0) > 0) {
|
}
|
||||||
if (fMaxIterations > 0 && ++fNumIterations >= fMaxIterations) {
|
|
||||||
LOG(info) << "Configured maximum number of iterations reached. Leaving RUNNING state.";
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
// wait for all acks to arrive
|
||||||
|
while (!NewStatePending()) {
|
||||||
|
{
|
||||||
|
std::lock_guard<std::mutex> lock(fMtx);
|
||||||
|
if (fNumUnackedMsgs == 0) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
std::this_thread::sleep_for(std::chrono::milliseconds(25));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (fNumUnackedMsgs != 0) {
|
||||||
|
LOG(info) << "Done, still not acknowledged: " << fNumUnackedMsgs;
|
||||||
|
} else {
|
||||||
|
LOG(info) << "All acknowledgements received.";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ResetTask() override
|
void ResetTask() override
|
||||||
{
|
{
|
||||||
// give some time for acks to be received
|
|
||||||
std::this_thread::sleep_for(std::chrono::milliseconds(250));
|
|
||||||
fRegion.reset();
|
fRegion.reset();
|
||||||
{
|
|
||||||
std::lock_guard<std::mutex> lock(fMtx);
|
|
||||||
if (fNumUnackedMsgs != 0) {
|
|
||||||
LOG(info) << "Done, still not acknowledged: " << fNumUnackedMsgs;
|
|
||||||
} else {
|
|
||||||
LOG(info) << "All acknowledgements received.";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
GetChannel("data", 0).Transport()->UnsubscribeFromRegionEvents();
|
GetChannel("data", 0).Transport()->UnsubscribeFromRegionEvents();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
export FAIRMQ_PATH=@FAIRMQ_BIN_DIR@
|
export FAIRMQ_PATH=@FAIRMQ_BIN_DIR@
|
||||||
|
|
||||||
transport="zeromq"
|
transport="zeromq"
|
||||||
|
@ -14,7 +16,7 @@ chan="data"
|
||||||
chanAddr="/tmp/fmq_$session""_""$chan""_""$transport"
|
chanAddr="/tmp/fmq_$session""_""$chan""_""$transport"
|
||||||
|
|
||||||
# setup a trap to kill everything if the test fails/timeouts
|
# setup a trap to kill everything if the test fails/timeouts
|
||||||
trap 'kill -TERM $SAMPLER_PID; kill -TERM $SINK_PID; wait $SAMPLER_PID; wait $SINK_PID; @CMAKE_BINARY_DIR@/fairmq/fairmq-shmmonitor --cleanup --session $SESSION; rm $chanAddr' TERM
|
trap 'set +e; kill -TERM $SAMPLER_PID; kill -TERM $SINK_PID; wait $SAMPLER_PID; wait $SINK_PID; @CMAKE_BINARY_DIR@/fairmq/fairmq-shmmonitor --cleanup --session $SESSION; rm $chanAddr; exit 0' TERM
|
||||||
|
|
||||||
SAMPLER="fairmq-ex-region-sampler"
|
SAMPLER="fairmq-ex-region-sampler"
|
||||||
SAMPLER+=" --id sampler1"
|
SAMPLER+=" --id sampler1"
|
||||||
|
@ -48,4 +50,6 @@ SINK_PID=$!
|
||||||
wait $SAMPLER_PID
|
wait $SAMPLER_PID
|
||||||
wait $SINK_PID
|
wait $SINK_PID
|
||||||
|
|
||||||
|
set +e
|
||||||
rm $chanAddr
|
rm $chanAddr
|
||||||
|
exit 0
|
||||||
|
|
|
@ -24,10 +24,10 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/fairmq-start-ex-req-rep.sh.in ${CMAKE
|
||||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/test-ex-req-rep.sh.in ${CMAKE_CURRENT_BINARY_DIR}/test-ex-req-rep.sh)
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/test-ex-req-rep.sh.in ${CMAKE_CURRENT_BINARY_DIR}/test-ex-req-rep.sh)
|
||||||
|
|
||||||
add_test(NAME Example.ReqRep.zeromq COMMAND ${CMAKE_CURRENT_BINARY_DIR}/test-ex-req-rep.sh zeromq)
|
add_test(NAME Example.ReqRep.zeromq COMMAND ${CMAKE_CURRENT_BINARY_DIR}/test-ex-req-rep.sh zeromq)
|
||||||
set_tests_properties(Example.ReqRep.zeromq PROPERTIES TIMEOUT "30" PASS_REGULAR_EXPRESSION "Received reply from server: ")
|
set_tests_properties(Example.ReqRep.zeromq PROPERTIES TIMEOUT "30")
|
||||||
|
|
||||||
add_test(NAME Example.ReqRep.shmem COMMAND ${CMAKE_CURRENT_BINARY_DIR}/test-ex-req-rep.sh shmem)
|
add_test(NAME Example.ReqRep.shmem COMMAND ${CMAKE_CURRENT_BINARY_DIR}/test-ex-req-rep.sh shmem)
|
||||||
set_tests_properties(Example.ReqRep.shmem PROPERTIES TIMEOUT "30" PASS_REGULAR_EXPRESSION "Received reply from server: ")
|
set_tests_properties(Example.ReqRep.shmem PROPERTIES TIMEOUT "30")
|
||||||
|
|
||||||
# install
|
# install
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
export FAIRMQ_PATH=@FAIRMQ_BIN_DIR@
|
export FAIRMQ_PATH=@FAIRMQ_BIN_DIR@
|
||||||
|
|
||||||
transport="zeromq"
|
transport="zeromq"
|
||||||
|
@ -13,7 +15,7 @@ chan="data"
|
||||||
chanAddr="/tmp/fmq_$session""_""$chan""_""$transport"
|
chanAddr="/tmp/fmq_$session""_""$chan""_""$transport"
|
||||||
|
|
||||||
# setup a trap to kill everything if the test fails/timeouts
|
# setup a trap to kill everything if the test fails/timeouts
|
||||||
trap 'kill -TERM $CLIENT_PID; kill -TERM $SERVER_PID; wait $CLIENT_PID; wait $SERVER_PID; rm $chanAddr' TERM
|
trap 'set +e; kill -TERM $CLIENT_PID; kill -TERM $SERVER_PID; wait $CLIENT_PID; wait $SERVER_PID; rm $chanAddr; exit 0' TERM
|
||||||
|
|
||||||
CLIENT="fairmq-ex-req-rep-client"
|
CLIENT="fairmq-ex-req-rep-client"
|
||||||
CLIENT+=" --id client"
|
CLIENT+=" --id client"
|
||||||
|
@ -43,4 +45,6 @@ SERVER_PID=$!
|
||||||
wait $CLIENT_PID
|
wait $CLIENT_PID
|
||||||
wait $SERVER_PID
|
wait $SERVER_PID
|
||||||
|
|
||||||
|
set +e
|
||||||
rm $chanAddr
|
rm $chanAddr
|
||||||
|
exit 0
|
||||||
|
|
Loading…
Reference in New Issue
Block a user