diff --git a/cicd_tests/verify-fails.sh b/cicd_tests/verify-fails.sh index 4eb13f0e73febe66e9ca0fa137bdcd0bad67b675..a6cae1e3ec820d4e24a9d350b1a4a03e99f2d595 100755 --- a/cicd_tests/verify-fails.sh +++ b/cicd_tests/verify-fails.sh @@ -9,8 +9,8 @@ cd $PEASOUP_HOME/tests make clean # verify "fail" configuration -./test_cmds.sh -l -c fail -a ls -./test_cmds.sh -l -c fail -a grep +./test_cmds.sh -l -c expect_fail -a ls +./test_cmds.sh -l -c expect_fail -a grep exit 0 diff --git a/tests/test_cmds.sh b/tests/test_cmds.sh index 84fd9c9edd0ab6619a374f34a04879ff00b7a680..69ccad53242f361b3955dda484a0329149888ebc 100755 --- a/tests/test_cmds.sh +++ b/tests/test_cmds.sh @@ -162,7 +162,7 @@ do_tests() orig) cp $progpath $protected ;; - fail) + expect_fail) set -x base_prog=$(basename $progpath) if [ $base_prog = "ls" ]; then @@ -195,13 +195,24 @@ do_tests() echo "TEST ($config) ${prog}: Running tests..." TEST_VERBOSE=1 timeout 300 ../$prog/test_script.sh $progpath ./$protected > test_${prog}.log 2>&1 if [ $? -eq 0 ]; then - echo "TEST ($config) ${prog}: PASS" - progs_pass="$progs_pass $prog.$config" + if [ "$config" != "fail" ]; then + echo "TEST ($config) ${prog}: PASS" + progs_pass="$progs_pass $prog.$config" + else + progs_fail="$progs_fail $prog.$config" + if [ $show_logs_on_failure -eq 1 ]; then + cat test_${prog}.log + fi + fi else - echo "TEST ($config) ${prog}: FAIL" - progs_fail="$progs_fail $prog.$config" - if [ $show_logs_on_failure -eq 1 ]; then - cat test_${prog}.log + if [ "$config" != "fail" ]; then + echo "TEST ($config) ${prog}: FAIL" + progs_fail="$progs_fail $prog.$config" + if [ $show_logs_on_failure -eq 1 ]; then + cat test_${prog}.log + fi + else + progs_pass="$progs_pass $prog.$config" fi fi done @@ -218,9 +229,7 @@ do_tests() done if [[ $progs_fail != "" ]] || [[ $progs_fail_peasoup != "" ]]; then - if [[ $config != "fail" ]]; then - had_fails=1 - fi + had_fails=1 fi }