diff options
| author | Charles Cabergs <me@cacharle.xyz> | 2021-03-05 15:45:47 +0100 |
|---|---|---|
| committer | Charles Cabergs <me@cacharle.xyz> | 2021-03-05 15:45:47 +0100 |
| commit | 13c100a7dcae66f78339019dd272af8b177e79ba (patch) | |
| tree | 6d1a97181ae76350bcefe9395b8640e21d06ce4c /test.sh | |
| parent | 7513e3aa5266733470cf5033a771909b92978c78 (diff) | |
| download | push_swap-13c100a7dcae66f78339019dd272af8b177e79ba.tar.gz push_swap-13c100a7dcae66f78339019dd272af8b177e79ba.tar.bz2 push_swap-13c100a7dcae66f78339019dd272af8b177e79ba.zip | |
Updated test.sh to be complient to shellcheck
Diffstat (limited to 'test.sh')
| -rwxr-xr-x | test.sh | 150 |
1 files changed, 81 insertions, 69 deletions
@@ -18,12 +18,12 @@ MIN_LONG1=-9223372036854775809 test_status=0 red() { - echo "$(tput setaf 1)$1$(tput sgr 0)\c" + printf "%s%s%s" "$(tput setaf 1)" "$1" "$(tput sgr 0)" test_status=1 } green() { - echo "$(tput setaf 2)$1$(tput sgr 0)\c" + printf "%s%s%s" "$(tput setaf 2)" "$1" "$(tput sgr 0)" } assert() { @@ -31,15 +31,15 @@ assert() { red "[KO] " return 0 fi - if [ -z $1 ]; then + if [ -z "$1" ]; then red "[KO] " return 0 fi - if [ -z $2 ]; then + if [ -z "$2" ]; then red "[KO] " return 0 fi - if [ $1 = $2 ]; then + if [ "$1" = "$2" ]; then green "[OK] " else red "[KO] " @@ -47,93 +47,105 @@ assert() { } assert_ok() { - assert $1 "OK" + assert "$1" "OK" } assert_error() { - assert $1 "Error" + assert "$1" "Error" } -if [ $1 = "--error" ]; then - echo "No arguments: \c" - if [ -z `./checker` ] - then green "[OK] " - else red "[KO] " +if [ "$1" = "--error" ]; then + printf "No arguments:\n" + if [ -z "$(./checker)" ] + then + green "[OK] " + else + red "[KO] " fi - if [ -z `./push_swap` ] - then green "[OK] " - else red "[KO] " + if [ -z "$(./push_swap)" ] + then + green "[OK] " + else + red "[KO] " fi - echo "\nNot digit character \c" - assert_error `./checker 1 2 3 four 2>&1` - assert_error `./checker -1 2 3-3 2>&1` - assert_error `./checker 1_000 23 0 -1 2>&1` - assert_error `./push_swap 1 2 3 four 2>&1` - assert_error `./push_swap -1 2 3-3 2>&1` - assert_error `./push_swap 1_000 23 0 -1 2>&1` - - echo "\nDuplicates \c" - assert_error `./checker 1 1 2 3 2>&1` - assert_error `./checker 1 2 3 3 2>&1` - assert_error `./checker -1 0 2 0 2>&1` - assert_error `./checker -100 2 -100 2>&1` - assert_error `./checker 1 1 2>&1` - assert_error `./push_swap 1 1 2 3 2>&1` - assert_error `./push_swap 1 2 3 3 2>&1` - assert_error `./push_swap -1 0 2 0 2>&1` - assert_error `./push_swap -100 2 -100 2>&1` - assert_error `./push_swap 1 1 2>&1` - - echo "\nMax/min int \c" - assert_ok `echo "\c" | ./checker $MIN_INT 2>&1` - assert_ok `echo "\c" | ./checker $MAX_INT 2>&1` - assert_error `echo "\c" | ./checker $MIN_INT1 2>&1` - assert_error `echo "\c" | ./checker $MAX_INT1 2>&1` - if [ -z `./push_swap $MIN_INT 2>&1` ] - then green "[OK] " - else red "[KO] " + printf "\nNot digit character\n" + assert_error "$(./checker 1 2 3 four 2>&1)" + assert_error "$(./checker -1 2 3-3 2>&1)" + assert_error "$(./checker 1_000 23 0 -1 2>&1)" + assert_error "$(./push_swap 1 2 3 four 2>&1)" + assert_error "$(./push_swap -1 2 3-3 2>&1)" + assert_error "$(./push_swap 1_000 23 0 -1 2>&1)" + + printf "\nDuplicates\n" + assert_error "$(./checker 1 1 2 3 2>&1)" + assert_error "$(./checker 1 2 3 3 2>&1)" + assert_error "$(./checker -1 0 2 0 2>&1)" + assert_error "$(./checker -100 2 -100 2>&1)" + assert_error "$(./checker 1 1 2>&1)" + assert_error "$(./push_swap 1 1 2 3 2>&1)" + assert_error "$(./push_swap 1 2 3 3 2>&1)" + assert_error "$(./push_swap -1 0 2 0 2>&1)" + assert_error "$(./push_swap -100 2 -100 2>&1)" + assert_error "$(./push_swap 1 1 2>&1)" + + printf "\nMax/min int\n" + assert_ok "$(printf "" | ./checker $MIN_INT 2>&1)" + assert_ok "$(printf "" | ./checker $MAX_INT 2>&1)" + assert_error "$(printf "" | ./checker $MIN_INT1 2>&1)" + assert_error "$(printf "" | ./checker $MAX_INT1 2>&1)" + if [ -z "$(./push_swap $MIN_INT 2>&1)" ] + then + green "[OK] " + else + red "[KO] " fi - if [ -z `./push_swap $MAX_INT 2>&1` ] - then green "[OK] " - else red "[KO] " + if [ -z "$(./push_swap $MAX_INT 2>&1)" ] + then + green "[OK] " + else + red "[KO] " fi - assert_error `./push_swap $MIN_INT1 2>&1` - assert_error `./push_swap $MAX_INT1 2>&1` + assert_error "$(./push_swap $MIN_INT1 2>&1)" + assert_error "$(./push_swap $MAX_INT1 2>&1)" - echo "\nMax/min long \c" - assert_error `echo "\c" | ./checker $MIN_LONG 2>&1` - assert_error `echo "\c" | ./checker $MAX_LONG 2>&1` - assert_error `echo "\c" | ./checker $MIN_LONG1 2>&1` - assert_error `echo "\c" | ./checker $MAX_LONG1 2>&1` - assert_error `./push_swap $MIN_LONG 2>&1` - assert_error `./push_swap $MAX_LONG 2>&1` - assert_error `./push_swap $MIN_LONG1 2>&1` - assert_error `./push_swap $MAX_LONG1 2>&1` + printf "\nMax/min long\n" + assert_error "$(printf "" | ./checker $MIN_LONG 2>&1)" + assert_error "$(printf "" | ./checker $MAX_LONG 2>&1)" + assert_error "$(printf "" | ./checker $MIN_LONG1 2>&1)" + assert_error "$(printf "" | ./checker $MAX_LONG1 2>&1)" + assert_error "$(./push_swap $MIN_LONG 2>&1)" + assert_error "$(./push_swap $MAX_LONG 2>&1)" + assert_error "$(./push_swap $MIN_LONG1 2>&1)" + assert_error "$(./push_swap $MAX_LONG1 2>&1)" - exit $test_status + exit "$test_status" fi -test_nb=$1 +test_nb="$1" -if [ -z $2 ]; then +if [ -z "$2" ] +then start=1 else - start=$2 + start="$2" fi -if [ -z $3 ]; then - end=100 +if [ -z "$3" ] +then + end=100 else - end=$3 + end="$3" fi -for i in `seq 1 $test_nb`; do - arg=`./random_stack.rb $start $end` - result=`./push_swap $arg | ./checker $arg` +for i in $(seq 1 "$test_nb") +do + arg="$(seq "$start" "$end" | shuf | xargs)" + # shellcheck disable=SC2086 + result="$(./push_swap $arg | ./checker $arg 2>&1)" - case $result in + case "$result" in "OK") green "." ;; @@ -152,4 +164,4 @@ for i in `seq 1 $test_nb`; do esac done -exit $test_status +exit "$test_status" |
