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

This commit is contained in:
Ihar Hrachyshka 2024-09-22 20:05:38 -04:00 committed by Christina Sørensen
parent 9681cb65b3
commit d1702f0db1

View file

@ -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