generate-trycmd-test.sh 985 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #!/usr/bin/env bash
  2. # Generate test data for the program
  3. if [ $# -le 1 ]; then
  4. echo "Usage: $0 <test name> <test argument>"
  5. exit 1
  6. fi
  7. test_name=$1
  8. shift
  9. # Clean up previous test data
  10. if [ -f tests/cmd/"$test_name".toml ]; then
  11. rm tests/cmd/"$test_name".toml
  12. fi
  13. if [ -f tests/cmd/"$test_name".stdout ]; then
  14. rm tests/cmd/"$test_name".stdout
  15. fi
  16. if [ -f tests/cmd/"$test_name".stderr ]; then
  17. rm tests/cmd/"$test_name".stderr
  18. fi
  19. # Generate test data
  20. touch tests/cmd/"$test_name".toml
  21. echo 'bin.name = "eza"' >> tests/cmd/"$test_name".toml
  22. echo 'args = "'"$*"'"' >> tests/cmd/"$test_name".toml
  23. # Generate expected output
  24. if [ -f target/debug/eza ]; then
  25. target/debug/eza "$@" > tests/cmd/"$test_name".stdout 2> tests/cmd/"$test_name".stderr
  26. returncode=$?
  27. if [ $returncode -ne 0 ]; then
  28. echo -e 'status.code = '$returncode'' >> tests/cmd/"$test_name".toml
  29. exit 0
  30. fi
  31. else
  32. echo "Please build the program first"
  33. exit 1
  34. fi