From 0f71e22ecbb25bc67e7d88084d4620f20164f620 Mon Sep 17 00:00:00 2001 From: Vojtech Forejt Date: Wed, 8 Mar 2017 20:26:38 +0000 Subject: [PATCH] Fix several test problems on Windows - strip from end of lines in test.pl - tests for test-script do not depend on gcc - Makefile in regression/goto-analyser has the same structure as other test Makefiles - remove tests for empty lines --- regression/cbmc/Quantifiers-assertion/test.desc | 1 - regression/cbmc/Quantifiers-assignment/test.desc | 1 - regression/cbmc/Quantifiers-copy/test.desc | 1 - regression/cbmc/Quantifiers-if/test.desc | 1 - regression/cbmc/Quantifiers-initialisation/test.desc | 1 - regression/cbmc/Quantifiers-initialisation2/test.desc | 1 - .../cbmc/Quantifiers-invalid-var-range/test.desc | 1 - regression/cbmc/Quantifiers-not-exists/test.desc | 1 - regression/cbmc/Quantifiers-not/test.desc | 1 - .../cbmc/Quantifiers-two-dimension-array/test.desc | 1 - regression/cbmc/Quantifiers-type/test.desc | 1 - regression/goto-analyzer/Makefile | 10 ++++++++-- regression/test-script/excluded-line/program.c | 7 ------- regression/test-script/excluded-line/test.desc | 2 +- regression/test-script/excluded-line/test.txt | 3 +++ regression/test-script/failing-excluded-line/program.c | 7 ------- regression/test-script/failing-excluded-line/test.desc | 2 +- regression/test-script/failing-excluded-line/test.txt | 3 +++ regression/test-script/failing-multi-line/program.c | 7 ------- regression/test-script/failing-multi-line/test.desc | 2 +- regression/test-script/failing-multi-line/test.txt | 3 +++ regression/test-script/failing-single-line/program.c | 7 ------- regression/test-script/failing-single-line/test.desc | 2 +- regression/test-script/failing-single-line/test.txt | 3 +++ regression/test-script/multi-line/program.c | 7 ------- regression/test-script/multi-line/test.desc | 2 +- regression/test-script/multi-line/test.txt | 3 +++ regression/test-script/program_runner.sh | 3 +-- .../single-line-windows-line-ends/test.desc | 5 +++++ .../test-script/single-line-windows-line-ends/test.txt | 3 +++ regression/test-script/single-line/program.c | 7 ------- regression/test-script/single-line/test.desc | 2 +- regression/test-script/single-line/test.txt | 3 +++ regression/test.pl | 4 +++- 34 files changed, 44 insertions(+), 64 deletions(-) delete mode 100755 regression/test-script/excluded-line/program.c create mode 100755 regression/test-script/excluded-line/test.txt delete mode 100755 regression/test-script/failing-excluded-line/program.c create mode 100755 regression/test-script/failing-excluded-line/test.txt delete mode 100755 regression/test-script/failing-multi-line/program.c create mode 100755 regression/test-script/failing-multi-line/test.txt delete mode 100755 regression/test-script/failing-single-line/program.c create mode 100755 regression/test-script/failing-single-line/test.txt delete mode 100755 regression/test-script/multi-line/program.c create mode 100755 regression/test-script/multi-line/test.txt create mode 100644 regression/test-script/single-line-windows-line-ends/test.desc create mode 100755 regression/test-script/single-line-windows-line-ends/test.txt delete mode 100755 regression/test-script/single-line/program.c create mode 100755 regression/test-script/single-line/test.txt diff --git a/regression/cbmc/Quantifiers-assertion/test.desc b/regression/cbmc/Quantifiers-assertion/test.desc index 5b4797b9b00..555f7b0e61f 100644 --- a/regression/cbmc/Quantifiers-assertion/test.desc +++ b/regression/cbmc/Quantifiers-assertion/test.desc @@ -8,6 +8,5 @@ main.c ^\[main.assertion.4\] NotExists-Forall: failed: FAILURE$ ^\[main.assertion.5\] NotForall-Forall: successful: SUCCESS$ ^\[main.assertion.6\] NotForall-NotForall: successful: SUCCESS$ - ^\*\* 2 of 6 failed \(2 iterations\)$ ^\VERIFICATION FAILED$ diff --git a/regression/cbmc/Quantifiers-assignment/test.desc b/regression/cbmc/Quantifiers-assignment/test.desc index cfc835ce948..289e8a47efc 100644 --- a/regression/cbmc/Quantifiers-assignment/test.desc +++ b/regression/cbmc/Quantifiers-assignment/test.desc @@ -6,6 +6,5 @@ main.c ^\[main.assertion.2\] assertion y: FAILURE$ ^\[main.assertion.3\] assertion z1: SUCCESS$ ^\[main.assertion.4\] assertion z2: SUCCESS$ - ^\*\* 1 of 4 failed \(2 iterations\)$ ^\VERIFICATION FAILED$ diff --git a/regression/cbmc/Quantifiers-copy/test.desc b/regression/cbmc/Quantifiers-copy/test.desc index 5682d588b9c..993061a5b3a 100644 --- a/regression/cbmc/Quantifiers-copy/test.desc +++ b/regression/cbmc/Quantifiers-copy/test.desc @@ -7,6 +7,5 @@ main.c ^\[main.assertion.3\] assertion b\[.*\] == 2: SUCCESS$ ^\[main.assertion.4\] assertion b\[.*\] == 3: SUCCESS$ ^\[main.assertion.5\] assertion b\[.*\] == 4: SUCCESS$ - ^\*\* 0 of 5 failed \(1 iteration\)$ ^VERIFICATION SUCCESSFUL$ diff --git a/regression/cbmc/Quantifiers-if/test.desc b/regression/cbmc/Quantifiers-if/test.desc index e121e2e1955..be4945b25ef 100644 --- a/regression/cbmc/Quantifiers-if/test.desc +++ b/regression/cbmc/Quantifiers-if/test.desc @@ -7,6 +7,5 @@ main.c ^\[main.assertion.3\] success 1: SUCCESS$ ^\[main.assertion.4\] failure 3: FAILURE$ ^\[main.assertion.5\] success 2: SUCCESS$ - ^\*\* 3 of 5 failed \(2 iterations\)$ ^\VERIFICATION FAILED$ diff --git a/regression/cbmc/Quantifiers-initialisation/test.desc b/regression/cbmc/Quantifiers-initialisation/test.desc index b10b600c308..d0e4c279e1f 100644 --- a/regression/cbmc/Quantifiers-initialisation/test.desc +++ b/regression/cbmc/Quantifiers-initialisation/test.desc @@ -7,6 +7,5 @@ main.c ^\[main.assertion.3\] assertion a\[.*\] == 3: SUCCESS$ ^\[main.assertion.4\] assertion a\[.*\] == 4: SUCCESS$ ^\[main.assertion.5\] assertion a\[.*\] == 5: SUCCESS$ - ^\*\* 0 of 5 failed \(1 iteration\)$ ^VERIFICATION SUCCESSFUL$ diff --git a/regression/cbmc/Quantifiers-initialisation2/test.desc b/regression/cbmc/Quantifiers-initialisation2/test.desc index ad5913e4d92..0f309d9332d 100644 --- a/regression/cbmc/Quantifiers-initialisation2/test.desc +++ b/regression/cbmc/Quantifiers-initialisation2/test.desc @@ -7,6 +7,5 @@ main.c ^\[main.assertion.3\] assertion a\[.*\] > a\[.*\]: FAILURE$ ^\[main.assertion.4\] forall c\[\]: SUCCESS$ ^\[main.assertion.5\] assertion c\[.*\] >= c\[.*\]: SUCCESS$ - ^\*\* 1 of 5 failed \(2 iterations\)$ ^VERIFICATION FAILED$ diff --git a/regression/cbmc/Quantifiers-invalid-var-range/test.desc b/regression/cbmc/Quantifiers-invalid-var-range/test.desc index e38af4ddbdb..a3e1bce313f 100644 --- a/regression/cbmc/Quantifiers-invalid-var-range/test.desc +++ b/regression/cbmc/Quantifiers-invalid-var-range/test.desc @@ -2,6 +2,5 @@ CORE main.c ^\*\* Results:$ - ^\*\* 0 of 1 failed \(1 iteration\)$ ^VERIFICATION SUCCESSFUL$ diff --git a/regression/cbmc/Quantifiers-not-exists/test.desc b/regression/cbmc/Quantifiers-not-exists/test.desc index 51feeae3b08..630e54eb224 100644 --- a/regression/cbmc/Quantifiers-not-exists/test.desc +++ b/regression/cbmc/Quantifiers-not-exists/test.desc @@ -8,6 +8,5 @@ main.c ^\[main.assertion.4\] assertion tmp_if_expr\$9: SUCCESS$ ^\[main.assertion.5\] assertion tmp_if_expr\$12: SUCCESS$ ^\[main.assertion.6\] assertion tmp_if_expr\$15: SUCCESS$ - ^\*\* 0 of 6 failed \(1 iteration\)$ ^\VERIFICATION SUCCESSFUL$ diff --git a/regression/cbmc/Quantifiers-not/test.desc b/regression/cbmc/Quantifiers-not/test.desc index b1b6a0d1d60..2e862045758 100644 --- a/regression/cbmc/Quantifiers-not/test.desc +++ b/regression/cbmc/Quantifiers-not/test.desc @@ -7,6 +7,5 @@ main.c ^\[main.assertion.3\] failure 1: FAILURE$ ^\[main.assertion.4\] success 3: SUCCESS$ ^\[main.assertion.5\] failure 2: FAILURE$ - ^\*\* 2 of 5 failed \(2 iterations\)$ ^\VERIFICATION FAILED$ diff --git a/regression/cbmc/Quantifiers-two-dimension-array/test.desc b/regression/cbmc/Quantifiers-two-dimension-array/test.desc index 2874b9dc0eb..b8501be880e 100644 --- a/regression/cbmc/Quantifiers-two-dimension-array/test.desc +++ b/regression/cbmc/Quantifiers-two-dimension-array/test.desc @@ -7,6 +7,5 @@ main.c ^\[main.assertion.3\] assertion a\[.*\]\[.*\] == 1: SUCCESS$ ^\[main.assertion.4\] assertion a\[.*\]\[.*\] == 2: SUCCESS$ ^\[main.assertion.5\] assertion tmp_if_expr\$3: SUCCESS$ - ^\*\* 0 of 5 failed \(1 iteration\)$ ^VERIFICATION SUCCESSFUL$ diff --git a/regression/cbmc/Quantifiers-type/test.desc b/regression/cbmc/Quantifiers-type/test.desc index 3bc8a8d2a5f..b0b25cc9903 100644 --- a/regression/cbmc/Quantifiers-type/test.desc +++ b/regression/cbmc/Quantifiers-type/test.desc @@ -4,6 +4,5 @@ main.c ^\*\* Results:$ ^\[main.assertion.1\] assertion tmp_if_expr\$1: FAILURE$ ^\[main.assertion.2\] assertion tmp_if_expr\$2: SUCCESS$ - ^\*\* 1 of 2 failed \(2 iterations\)$ ^\VERIFICATION FAILED$ diff --git a/regression/goto-analyzer/Makefile b/regression/goto-analyzer/Makefile index 5701431a37e..2630bf17097 100644 --- a/regression/goto-analyzer/Makefile +++ b/regression/goto-analyzer/Makefile @@ -1,10 +1,16 @@ default: tests.log test: - @../test.pl -c ../../../src/goto-analyzer/goto-analyzer + @if ! ../test.pl -c ../../../src/goto-analyzer/goto-analyzer ; then \ + ../failed-tests-printer.pl ; \ + exit 1 ; \ + fi tests.log: ../test.pl - @../test.pl -c ../../../src/goto-analyzer/goto-analyzer + @if ! ../test.pl -c ../../../src/goto-analyzer/goto-analyzer ; then \ + ../failed-tests-printer.pl ; \ + exit 1 ; \ + fi show: @for dir in *; do \ diff --git a/regression/test-script/excluded-line/program.c b/regression/test-script/excluded-line/program.c deleted file mode 100755 index 882fedcc2fd..00000000000 --- a/regression/test-script/excluded-line/program.c +++ /dev/null @@ -1,7 +0,0 @@ -#include - -int main(void) { - printf("Hello\n"); - printf("World\n"); - return 0; -} diff --git a/regression/test-script/excluded-line/test.desc b/regression/test-script/excluded-line/test.desc index 2384efe0828..7fa478ad232 100644 --- a/regression/test-script/excluded-line/test.desc +++ b/regression/test-script/excluded-line/test.desc @@ -1,5 +1,5 @@ CORE -program.c +test.txt ^Hello$ -- diff --git a/regression/test-script/excluded-line/test.txt b/regression/test-script/excluded-line/test.txt new file mode 100755 index 00000000000..0ac4c9a8b57 --- /dev/null +++ b/regression/test-script/excluded-line/test.txt @@ -0,0 +1,3 @@ +Hello +World + diff --git a/regression/test-script/failing-excluded-line/program.c b/regression/test-script/failing-excluded-line/program.c deleted file mode 100755 index 882fedcc2fd..00000000000 --- a/regression/test-script/failing-excluded-line/program.c +++ /dev/null @@ -1,7 +0,0 @@ -#include - -int main(void) { - printf("Hello\n"); - printf("World\n"); - return 0; -} diff --git a/regression/test-script/failing-excluded-line/test.desc b/regression/test-script/failing-excluded-line/test.desc index 36668db5a5f..3c8b8bc9f72 100644 --- a/regression/test-script/failing-excluded-line/test.desc +++ b/regression/test-script/failing-excluded-line/test.desc @@ -1,5 +1,5 @@ KNOWNBUG -program.c +test.txt ^Hello$ -- diff --git a/regression/test-script/failing-excluded-line/test.txt b/regression/test-script/failing-excluded-line/test.txt new file mode 100755 index 00000000000..0ac4c9a8b57 --- /dev/null +++ b/regression/test-script/failing-excluded-line/test.txt @@ -0,0 +1,3 @@ +Hello +World + diff --git a/regression/test-script/failing-multi-line/program.c b/regression/test-script/failing-multi-line/program.c deleted file mode 100755 index 882fedcc2fd..00000000000 --- a/regression/test-script/failing-multi-line/program.c +++ /dev/null @@ -1,7 +0,0 @@ -#include - -int main(void) { - printf("Hello\n"); - printf("World\n"); - return 0; -} diff --git a/regression/test-script/failing-multi-line/test.desc b/regression/test-script/failing-multi-line/test.desc index cf4fcf3034b..b3b2f171842 100644 --- a/regression/test-script/failing-multi-line/test.desc +++ b/regression/test-script/failing-multi-line/test.desc @@ -1,5 +1,5 @@ KNOWNBUG -program.c +test.txt activate-multi-line-match Hello\nAnother\nWorld diff --git a/regression/test-script/failing-multi-line/test.txt b/regression/test-script/failing-multi-line/test.txt new file mode 100755 index 00000000000..0ac4c9a8b57 --- /dev/null +++ b/regression/test-script/failing-multi-line/test.txt @@ -0,0 +1,3 @@ +Hello +World + diff --git a/regression/test-script/failing-single-line/program.c b/regression/test-script/failing-single-line/program.c deleted file mode 100755 index 882fedcc2fd..00000000000 --- a/regression/test-script/failing-single-line/program.c +++ /dev/null @@ -1,7 +0,0 @@ -#include - -int main(void) { - printf("Hello\n"); - printf("World\n"); - return 0; -} diff --git a/regression/test-script/failing-single-line/test.desc b/regression/test-script/failing-single-line/test.desc index 604682ecbdb..973b5aa464b 100644 --- a/regression/test-script/failing-single-line/test.desc +++ b/regression/test-script/failing-single-line/test.desc @@ -1,5 +1,5 @@ KNOWNBUG -program.c +test.txt ^Goodbye$ -- diff --git a/regression/test-script/failing-single-line/test.txt b/regression/test-script/failing-single-line/test.txt new file mode 100755 index 00000000000..0ac4c9a8b57 --- /dev/null +++ b/regression/test-script/failing-single-line/test.txt @@ -0,0 +1,3 @@ +Hello +World + diff --git a/regression/test-script/multi-line/program.c b/regression/test-script/multi-line/program.c deleted file mode 100755 index 882fedcc2fd..00000000000 --- a/regression/test-script/multi-line/program.c +++ /dev/null @@ -1,7 +0,0 @@ -#include - -int main(void) { - printf("Hello\n"); - printf("World\n"); - return 0; -} diff --git a/regression/test-script/multi-line/test.desc b/regression/test-script/multi-line/test.desc index cf9bb072880..2ef644c2082 100644 --- a/regression/test-script/multi-line/test.desc +++ b/regression/test-script/multi-line/test.desc @@ -1,5 +1,5 @@ CORE -program.c +test.txt activate-multi-line-match Hello\nWorld diff --git a/regression/test-script/multi-line/test.txt b/regression/test-script/multi-line/test.txt new file mode 100755 index 00000000000..0ac4c9a8b57 --- /dev/null +++ b/regression/test-script/multi-line/test.txt @@ -0,0 +1,3 @@ +Hello +World + diff --git a/regression/test-script/program_runner.sh b/regression/test-script/program_runner.sh index 8e09b75f0ab..851f1716b12 100755 --- a/regression/test-script/program_runner.sh +++ b/regression/test-script/program_runner.sh @@ -2,5 +2,4 @@ set -e -gcc $1 -o a.out -./a.out +cat $1 diff --git a/regression/test-script/single-line-windows-line-ends/test.desc b/regression/test-script/single-line-windows-line-ends/test.desc new file mode 100644 index 00000000000..d7c83bd851e --- /dev/null +++ b/regression/test-script/single-line-windows-line-ends/test.desc @@ -0,0 +1,5 @@ +CORE +test.txt + +^Hello$ +-- diff --git a/regression/test-script/single-line-windows-line-ends/test.txt b/regression/test-script/single-line-windows-line-ends/test.txt new file mode 100755 index 00000000000..7c9ae46963c --- /dev/null +++ b/regression/test-script/single-line-windows-line-ends/test.txt @@ -0,0 +1,3 @@ +Hello +World + diff --git a/regression/test-script/single-line/program.c b/regression/test-script/single-line/program.c deleted file mode 100755 index 882fedcc2fd..00000000000 --- a/regression/test-script/single-line/program.c +++ /dev/null @@ -1,7 +0,0 @@ -#include - -int main(void) { - printf("Hello\n"); - printf("World\n"); - return 0; -} diff --git a/regression/test-script/single-line/test.desc b/regression/test-script/single-line/test.desc index 2507fd6a412..d7c83bd851e 100644 --- a/regression/test-script/single-line/test.desc +++ b/regression/test-script/single-line/test.desc @@ -1,5 +1,5 @@ CORE -program.c +test.txt ^Hello$ -- diff --git a/regression/test-script/single-line/test.txt b/regression/test-script/single-line/test.txt new file mode 100755 index 00000000000..0ac4c9a8b57 --- /dev/null +++ b/regression/test-script/single-line/test.txt @@ -0,0 +1,3 @@ +Hello +World + diff --git a/regression/test.pl b/regression/test.pl index a2ac088d0e0..d27c663b0aa 100755 --- a/regression/test.pl +++ b/regression/test.pl @@ -73,7 +73,7 @@ ($$$$$) $options =~ s/$ign//g if(defined($ign)); my $output = $input; - $output =~ s/\.(c|i|gb|cpp|ii|xml|class|jar)$/.out/; + $output =~ s/\.[^.]*$/.out/; if($output eq $input) { print("Error in test file -- $test\n"); @@ -125,6 +125,7 @@ ($$$$$) local $/ = undef; binmode $fh; my $whole_file = <$fh>; + $whole_file =~ s/\r\n/\n/g; my $is_match = $whole_file =~ /$result/; $r = ($included ? !$is_match : $is_match); } @@ -132,6 +133,7 @@ ($$$$$) { my $found_line = 0; while(my $line = <$fh>) { + $line =~ s/\r$//; if($line =~ /$result/) { # We've found the line, therefore if it is included we set # the result to 0 (OK) If it is excluded, we set the result