Browse Source

fix: Support passing multiple options for generate-trycmd-test.sh

Ihar Hrachyshka 1 năm trước cách đây
mục cha
commit
d1702f0db1
1 tập tin đã thay đổi với 15 bổ sung12 xóa
  1. 15 12
      devtools/generate-trycmd-test.sh

+ 15 - 12
devtools/generate-trycmd-test.sh

@@ -2,39 +2,42 @@
 
 # Generate test data for the program
 
-if [ $# -ne 2 ]; then
+if [ $# -le 1 ]; then
     echo "Usage: $0 <test name> <test argument>"
     exit 1
 fi
 
+test_name=$1
+shift
+
 # Clean up previous test data
 
-if [ -f tests/cmd/"$1".toml ]; then
-    rm tests/cmd/"$1".toml
+if [ -f tests/cmd/"$test_name".toml ]; then
+    rm tests/cmd/"$test_name".toml
 fi
 
-if [ -f tests/cmd/"$1".stdout ]; then
-    rm tests/cmd/"$1".stdout
+if [ -f tests/cmd/"$test_name".stdout ]; then
+    rm tests/cmd/"$test_name".stdout
 fi
 
-if [ -f tests/cmd/"$1".stderr ]; then
-    rm tests/cmd/"$1".stderr
+if [ -f tests/cmd/"$test_name".stderr ]; then
+    rm tests/cmd/"$test_name".stderr
 fi
 
 # Generate test data
 
-touch tests/cmd/"$1".toml
+touch tests/cmd/"$test_name".toml
 
-echo 'bin.name = "eza"' >> tests/cmd/"$1".toml
-echo 'args = "'"$2"'"' >> tests/cmd/"$1".toml
+echo 'bin.name = "eza"' >> tests/cmd/"$test_name".toml
+echo 'args = "'"$*"'"' >> tests/cmd/"$test_name".toml
 
 # Generate expected output
 
 if [ -f target/debug/eza ]; then
-    target/debug/eza "$2" > tests/cmd/"$1".stdout 2> tests/cmd/"$1".stderr
+    target/debug/eza "$@" > tests/cmd/"$test_name".stdout 2> tests/cmd/"$test_name".stderr
     returncode=$?
     if [ $returncode -ne 0 ]; then
-        echo -e 'status.code = '$returncode'' >> tests/cmd/"$1".toml
+        echo -e 'status.code = '$returncode'' >> tests/cmd/"$test_name".toml
         exit 0
     fi
 else