| #!/usr/bin/env bash |
| |
| if [ -x ./sdcparse_test ]; then |
| echo "Found test executable" |
| else |
| echo "Failed to find test executabe" |
| exit 1 |
| fi |
| |
| test_cnt=0 |
| for path in "$@" |
| do |
| sdc_files=`find $path -name '*.sdc' | sort -V` |
| for sdc_file in ${sdc_files[@]} |
| do |
| test_cnt=$((test_cnt + 1)) |
| echo |
| echo "File: $sdc_file" |
| #valgrind --leak-check=full --track-origins=yes ./sdcparse_test $sdc_file |
| ./sdcparse_test $sdc_file |
| exit_code=$? |
| if [[ $sdc_file != *"invalid"* ]]; then |
| if [ $exit_code -ne 0 ]; then |
| #Should have parsed ok |
| echo "Error: $sdc_file should have parsed correctly!" |
| exit 1 |
| fi |
| else |
| if [ $exit_code -eq 0 ]; then |
| echo "Error: $sdc_file should have failed to parse!" |
| exit 1 |
| else |
| echo "PASS: invalid sdc $sdc_file did not parse (as expected)" |
| fi |
| fi |
| done |
| |
| done |
| |
| echo "ALL $test_cnt TESTS PASSED" |
| exit 0 |