Push Swapテストshellスクリプト


push swapプログラムを実装する過程で,必要なテストshellスクリプトファイルを作成した.
push swapプログラムは、少なくとも2つのパラメータと多くのパラメータが存在する場合に実行することができる.
動作は正常でなければならない.
そのためには,各パラメータの個数からケースの個数を計算し,頻繁にテストする必要がある.
テストの過程で、パラメータを一つ一つ記入するのは本当に面倒です.
時間を節約し、面倒を減らすために、
パラメータを自動的に生成してテストできるShellスクリプトファイルを作成しました.
#!/bin/bash

i=$1
ARG=""

while [ $i -gt 0 ]
do
        random_num="$(($RANDOM% 20-9))"
        ARG="${ARG}$random_num "
        i=$(($i-1))
done

clear
make re
echo "========================"
echo "Arguments : $ARG"
echo "========================"
./push_swap $ARG

./push_swap $ARG | ./checker $ARG
実行方法は、上記のスクリプトファイルのパラメータを使用して、push swapプログラムをテストするパラメータの数を入力します.
入力パラメータの個数が0より大きい場合をwhile文の条件文に設定します.
i 1を減らし、while文を繰り返す.
文の条件を満たすと、整数が生成されます.
random numという変数(((((RANDOM%19-9))の値を指定します.
$RANDOMというbash内部関数
-random num変数に、9以上10未満(-9+19)の整数を格納します.
次に、文字列変数ARGと生成された数値を合成する.
シェルスクリプトパラメータと同じ文字列の数値リストをwhile文で作成した場合、
これらの数字はpush swapプログラムのパラメータとして使用できます.
echoコマンドで端末に出力し、生成した数字を確認します.
push swapプログラムは、これらの数字を昇順に並べ替えます.
どのコマンドが使用されているかを確認します.
まず、push swapプログラムを単独で実行します.
次にcheckerプログラムとパイプ演算子(|)を再使用します.
採点(?)受け入れる




参考資料—Shellスクリプト番号