diff --git a/scripts/runFileTest.sh b/scripts/runFileTest.sh index ab1fc187b86a999cd55491332cd3784ff8f139ff..d6a4b149bb97a6b3033095f071120daf94d46532 100755 --- a/scripts/runFileTest.sh +++ b/scripts/runFileTest.sh @@ -1,34 +1,57 @@ #!/bin/bash + +function scdaq_test { + echo "Starting scdaq test with GMT P5 capture file: check for crash" + timeout 10s src/scdaq --config test/config/scdaq-gmt.conf | uniq -uc + GMTRET="${PIPESTATUS[0]}" + echo "#############################################################################" + echo "Starting scdaq test with CALO P5 capture file: check for crash" + timeout 10s src/scdaq --config test/config/scdaq-calo.conf | uniq -uc + CALORET="${PIPESTATUS[0]}" + if [[ "$GMTRET" -ne 124 ]]; then # We expect to fail with a timeout because scdaq isn't supposed to return. + echo "SCDAQ test for GMT failed with exit code ${GMTRET}!" + GMT_FAILED=true + elif [ $(find test/data -name "*scout_GMT*" | wc -l) -eq 0 ] && [ $OUTPUT_EXPECTED = "true" ]; then + echo "SCDAQ test for GMT failed, no output files found!" + GMT_FAILED=true + fi + if [[ "$CALORET" -ne 124 ]]; then # We expect to fail with a timeout because scdaq isn't supposed to return. + echo "SCDAQ test for CALO failed with exit code ${CALORET}!" + CALO_FAILED=true + elif [ $(find test/data -name "*scout_CALO*" | wc -l) -eq 0 ] && [ $OUTPUT_EXPECTED = "true" ]; then + echo "SCDAQ test for CALO failed, no output files found!" + CALO_FAILED=true + fi +} + echo "building scdaq locally" cd src make all cd - -echo "building scdaq locally" cd test/data tar -xzvf calo_testfile.tar.gz tar -xzvf gmt_testfile.tar.gz cd ../../ -echo "Starting scdaq test with GMT P5 capture file: check for crash" -timeout 20s src/scdaq --config test/config/scdaq-gmt.conf | uniq -GMTRET="${PIPESTATUS[0]}" -echo "#############################################################################" -echo "Starting scdaq test with CALO P5 capture file: check for crash" -timeout 60s src/scdaq --config test/config/scdaq-calo.conf | uniq -CALORET="${PIPESTATUS[0]}" -if [[ "$GMTRET" -ne 124 ]]; then # We expect to fail with a timeout because scdaq isn't supposed to return. - echo "SCDAQ test for GMT failed with exit code ${GMTRET}!" - GMT_FAILED=true -elif [[ $(find test/data -name "*scout_GMT*" | wc -l) -eq 0 ]]; then - echo "SCDAQ test for GMT failed, no output files found!" - GMT_FAILED=true -fi -if [[ "$CALORET" -ne 124 ]]; then # We expect to fail with a timeout because scdaq isn't supposed to return. - echo "SCDAQ test for CALO failed with exit code ${CALORET}!" - CALO_FAILED=true -elif [[ $(find test/data -name "*scout_CALO*" | wc -l) -eq 0 ]]; then - echo "SCDAQ test for CALO failed, no output files found!" - CALO_FAILED=true -fi +OUTPUT_EXPECTED=false +scdaq_test +echo "Starting second set of test files" +echo $GMT_FAILED +echo $CALO_FAILED + +OUTPUT_EXPECTED=true +cd test/data +rm calo_testfile.dat +rm gmt_testfile.dat +tar -xzvf calo_testfile_mod.tar.gz +tar -xzvf gmt_testfile_mod.tar.gz +rm ../test/data/run000000/in_progress/* +cd ../../ +#next line needed because older GMT files were taken with 5 orbits per packet +sed -i 's/nOrbitsPerPacket:1/nOrbitsPerPacket:5/' test/config/scdaq-gmt.conf +scdaq_test + +echo $GMT_FAILED +echo $CALO_FAILED if [[ $GMT_FAILED = true || $CALO_FAILED = true ]]; then exit 1 diff --git a/src/format.h b/src/format.h index fb3667397cb668eb89248eff27253ec710732ed8..dd0ccab86c00e8685937dc12e893d186835fd3e7 100644 --- a/src/format.h +++ b/src/format.h @@ -43,7 +43,6 @@ struct orbit_trailer { uint32_t beefdead[8]; uint32_t bx_map[14 * 8]; uint32_t trailer1[8]; - uint32_t trailer2[8]; }; struct shiftsCaloTau { @@ -237,7 +236,7 @@ struct constants { static constexpr uint32_t deadbeef = 0xdeadbeef; static constexpr uint32_t beefdead = 0xbeefdead; static constexpr uint32_t intermediate_marker = 0x0000000f; - static constexpr uint32_t orbit_trailer_size = 544; + static constexpr uint32_t orbit_trailer_size = 512; static constexpr uint32_t orbit_header_size = 32; static constexpr uint32_t dma_trailer_size = 32; // Note: total number of bytes of overhead per packet is: diff --git a/src/processor.cc b/src/processor.cc index acebda9e47eedbfabe232d5a4e01e3adb361127e..76daa92abdf067b7cf4767256e7e8d2dda4d104b 100644 --- a/src/processor.cc +++ b/src/processor.cc @@ -57,7 +57,7 @@ bool StreamProcessor::CheckFrameMultBlock(size_t inputSize) { } LOG(WARNING) << "Frame size not a multiple of block size after orbit headers " - "(32B*nOrbitsPerPacket), orbit trailers (544B*nOrbitsPerPacket), " + "(32B*nOrbitsPerPacket), orbit trailers (512B*nOrbitsPerPacket), " "and packet trailer (32B) have been subtracted. \n Frame size = " << inputSize << ", block size = " << bsize << ", packet will be skipped"; return false; diff --git a/test/config/scdaq-calo.conf b/test/config/scdaq-calo.conf index d8c76b0586cf7f3e2e2519983b4adda40d584fd9..e80517f80f8ad5c4422d1c0803d964129abf09bf 100644 --- a/test/config/scdaq-calo.conf +++ b/test/config/scdaq-calo.conf @@ -90,7 +90,7 @@ port:8000 # Log only severities at the same level or more severe than the log_min_severity # Use TRACE to log everything # -log_min_severity:TRACE +log_min_severity:ERROR # Pipeline settings threads:8 diff --git a/test/config/scdaq-gmt.conf b/test/config/scdaq-gmt.conf index 46a756634f6a7074c5fa09f3033d99de3ae1b5d0..afbeb630d6694605f4a60ce085d898b7895f198f 100644 --- a/test/config/scdaq-gmt.conf +++ b/test/config/scdaq-gmt.conf @@ -27,7 +27,7 @@ dma_number_of_packet_buffers:1000 packets_per_report:2000 # number of orbits per DMA packet, in decimal -nOrbitsPerPacket:5 +nOrbitsPerPacket:1 ## Extra settings for "filedma" input @@ -94,7 +94,7 @@ port:8000 # Log only severities at the same level or more severe than the log_min_severity # Use TRACE to log everything # -log_min_severity:TRACE +log_min_severity:ERROR # Pipeline settings threads:8 diff --git a/test/data/calo_testfile.tar.gz b/test/data/calo_testfile.tar.gz index bca4917945b6b81d68d228ac24a117e02a0f6c58..9c20436e93c937c2cdc7717aaa3caf8a7c801368 100644 Binary files a/test/data/calo_testfile.tar.gz and b/test/data/calo_testfile.tar.gz differ diff --git a/test/data/calo_testfile_mod.tar.gz b/test/data/calo_testfile_mod.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..37eba848e2df28f899b3a5bf0870b439e2200c14 Binary files /dev/null and b/test/data/calo_testfile_mod.tar.gz differ diff --git a/test/data/gmt_testfile.tar.gz b/test/data/gmt_testfile.tar.gz index f03084b6ef1066e0d01dec25dd24ae3647ce02a0..adf48f68a82129d0b27db09831232723cdfa5467 100644 Binary files a/test/data/gmt_testfile.tar.gz and b/test/data/gmt_testfile.tar.gz differ diff --git a/test/data/gmt_testfile_mod.tar.gz b/test/data/gmt_testfile_mod.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..d31aca266c51d4d576a282838ef5d554cf4fc783 Binary files /dev/null and b/test/data/gmt_testfile_mod.tar.gz differ