tester.sh
1 #!/bin/bash 2 3 if [ "$1" = "jot" ]; then 4 generate="1" 5 elif [ "$1" = "seq" ]; then 6 generate="2" 7 else 8 echo "Usage: ./tester.sh <jot | seq>" >&2 9 exit 1 10 fi 11 12 if ! command -v ./PmergeMe &> /dev/null 13 then 14 echo "error: Program(PmergeMe) not exist" >&2 15 exit 1 16 fi 17 18 RED=$(tput setaf 1) 19 GREEN=$(tput setaf 2) 20 RESET=$(tput sgr0) 21 22 for ((a = 1, c = 1; a <= 3002;)); do 23 if [ "$c" -gt 100000 ]; then 24 c=100000 25 fi 26 27 if [ "$a" -gt 3000 ]; then 28 a=3000 29 fi 30 31 if [ "$generate" -eq 1 ]; then 32 args=$(jot -r $a 1 $c | tr '\n' ' ') 33 elif [ "$generate" -eq 2 ]; then 34 args=$(seq 1 $a | sort -R) 35 fi 36 37 result=$(./PmergeMe $args 1>/dev/null) 38 39 if [ "$?" -eq 1 ]; then 40 echo "$args" 41 echo "${RED}KO${RESET}" 42 exit 1 43 else 44 if [ "$generate" -eq 1 ]; then 45 echo "[jot -r $a 1 $c]: ${GREEN}OK${RESET}" 46 elif [ "$generate" -eq 2 ]; then 47 echo "[seq 1 $a | sort -R]: ${GREEN}OK${RESET}" 48 fi 49 fi 50 51 if [ "$a" -eq 3000 ]; then 52 ./PmergeMe $args 53 break 54 fi 55 56 if [ "$a" -le 999 ]; then 57 ((a++)) 58 if [ "$generate" -eq 1 ]; then 59 ((c+=1)) 60 fi 61 else 62 ((a+=11)) 63 if [ "$generate" -eq 1 ]; then 64 ((c+=a)) 65 fi 66 fi 67 done 68 69 echo "${GREEN}Test done!${RESET}"