diff --git a/tests/Makefile.am b/tests/Makefile.am index f6f88b51cbdc5a7c5ab1d331b295418af66ade53..998a0e0bb05704ff8f8502a0452755cca37b3378 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -30,7 +30,7 @@ TESTS = testGreetings testMaths testReading.sh testSingle testKernel testSymmetr # List of test programs to compile check_PROGRAMS = testGreetings testReading testSingle testTimeIntegration \ - testSPHStep testActivePair test27cells test125cells testParser \ + testSPHStep testActivePair test27cells test27cells_subset test125cells testParser \ testKernel testFFT testInteractions testMaths \ testSymmetry testThreadpool \ testAdiabaticIndex testRiemannExact testRiemannTRRS \ @@ -60,6 +60,10 @@ testActivePair_SOURCES = testActivePair.c test27cells_SOURCES = test27cells.c +test27cells_subset_SOURCES = test27cells.c + +test27cells_subset_CFLAGS = $(AM_CFLAGS) -DDOSELF_SUBSET + testPeriodicBC_SOURCES = testPeriodicBC.c test125cells_SOURCES = test125cells.c diff --git a/tests/test27cells.sh.in b/tests/test27cells.sh.in index 059a7a208aa8e570ad5035fac16ffd201bf3dddd..cc8083221420e97a38fbaf2a3ecc0234997cfc61 100755 --- a/tests/test27cells.sh.in +++ b/tests/test27cells.sh.in @@ -1,87 +1,94 @@ #!/bin/bash -# Test for particles with the same smoothing length -for v in {0..3} +# List each test that should be run +declare -a TEST_LIST=(test27cells test27cells_subset) + +# Run same test for each executable +for TEST in "${TEST_LIST[@]}" do + # Test for particles with the same smoothing length + for v in {0..3} + do echo "" - + rm -f brute_force_27_standard.dat swift_dopair_27_standard.dat - echo "Running ./test27cells -n 6 -r 1 -d 0 -f standard -v $v" - ./test27cells -n 6 -r 1 -d 0 -f standard -v $v + echo "Running ./$TEST -n 6 -r 1 -d 0 -f standard -v $v" + ./$TEST -n 6 -r 1 -d 0 -f standard -v $v if [ -e brute_force_27_standard.dat ] then - if python @srcdir@/difffloat.py brute_force_27_standard.dat swift_dopair_27_standard.dat @srcdir@/tolerance_27_normal.dat 6 - then - echo "Accuracy test passed" - else - echo "Accuracy test failed" - exit 1 - fi + if python @srcdir@/difffloat.py brute_force_27_standard.dat swift_dopair_27_standard.dat @srcdir@/tolerance_27_normal.dat 6 + then + echo "Accuracy test passed" + else + echo "Accuracy test failed" + exit 1 + fi else - echo "Error Missing test output file" - exit 1 + echo "Error Missing test output file" + exit 1 fi echo "------------" - -done -# Test for particles with random smoothing lengths -for v in {0..3} -do + done + + # Test for particles with random smoothing lengths + for v in {0..3} + do echo "" - + rm -f brute_force_27_standard.dat swift_dopair_27_standard.dat - echo "Running ./test27cells -n 6 -r 1 -d 0 -f standard -v $v -p 1.1" - ./test27cells -n 6 -r 1 -d 0 -f standard -v $v -p 1.1 + echo "Running ./$TEST -n 6 -r 1 -d 0 -f standard -v $v -p 1.1" + ./$TEST -n 6 -r 1 -d 0 -f standard -v $v -p 1.1 if [ -e brute_force_27_standard.dat ] then - if python @srcdir@/difffloat.py brute_force_27_standard.dat swift_dopair_27_standard.dat @srcdir@/tolerance_27_perturbed_h.dat 6 - then - echo "Accuracy test passed" - else - echo "Accuracy test failed" - exit 1 - fi + if python @srcdir@/difffloat.py brute_force_27_standard.dat swift_dopair_27_standard.dat @srcdir@/tolerance_27_perturbed_h.dat 6 + then + echo "Accuracy test passed" + else + echo "Accuracy test failed" + exit 1 + fi else - echo "Error Missing test output file" - exit 1 + echo "Error Missing test output file" + exit 1 fi echo "------------" - -done -# Test for particles with random smoothing lengths -for v in {0..3} -do + done + + # Test for particles with random smoothing lengths + for v in {0..3} + do echo "" - + rm -f brute_force_27_standard.dat swift_dopair_27_standard.dat - echo "Running ./test27cells -n 6 -r 1 -d 0 -f standard -v $v -p 1.3" - ./test27cells -n 6 -r 1 -d 0 -f standard -v $v -p 1.3 + echo "Running ./$TEST -n 6 -r 1 -d 0 -f standard -v $v -p 1.3" + ./$TEST -n 6 -r 1 -d 0 -f standard -v $v -p 1.3 if [ -e brute_force_27_standard.dat ] then - if python @srcdir@/difffloat.py brute_force_27_standard.dat swift_dopair_27_standard.dat @srcdir@/tolerance_27_perturbed_h2.dat 6 - then - echo "Accuracy test passed" - else - echo "Accuracy test failed" - exit 1 - fi + if python @srcdir@/difffloat.py brute_force_27_standard.dat swift_dopair_27_standard.dat @srcdir@/tolerance_27_perturbed_h2.dat 6 + then + echo "Accuracy test passed" + else + echo "Accuracy test failed" + exit 1 + fi else - echo "Error Missing test output file" - exit 1 + echo "Error Missing test output file" + exit 1 fi echo "------------" - + + done done exit $?