Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/bash +H
- # 2'nd labwork
- # ./2 variant current_testing_script
- # dir w/ results for all labs
- #TESTDIR=/usr/local/labtest/lab_2/
- TESTDIR=d/
- panic(){ echo "error: $* " >&2 ;exit 1 ;}
- cd -- "$TESTDIR/${1:-variant}/" || panic no such dir
- for arg in `/usr/xpg4/bin/ls -aq` ;do
- case $arg in
- .|..) continue ;;
- NULL) unset arg ;;
- *SPACE*) arg=${arg//SPACE/ } ;;
- *TAB*) arg=${arg//TAB/ } ;;
- esac
- OUT=$HOME/test_$arg.out
- ERR=$HOME/test_$arg.err
- /usr/bin/echo "\"${2:?no script}\" \"$arg\" > \"$OUT\" 2> \"$ERR\" "
- [ -f "$HOME/test_$arg.out" ] || panic no output file
- [ -f "$HOME/test_$arg.err" ] || panic no errors file
- # here is diff check w/ $arg/out & $arg/err
- diff "$TESTDIR/$1/$arg/err" $ERR &> /dev/null
- result_diff=$?;
- diff "$TESTDIR/$1/$arg/out" $OUT &> /dev/null
- result_diff+=$?;
- [ $result_diff -eq 0 ] || { /usr/bin/echo "The result of a script with \"$arg\" argument is incorrect"; exit 0; }
- # exit if differs, so they willn't be deleted
- /usr/bin/echo "/usr/xpg4/bin/rm -- \"$HOME/test_$arg\".{out,err} "
- done
- /usr/bin/echo "The result of a script with all arguments is correct"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement