/contrib/groff/contrib/gdiffmk/tests/runtests.in

https://bitbucket.org/freebsd/freebsd-head/ · Autoconf · 98 lines · 65 code · 18 blank · 15 comment · 1 complexity · f73e073ff51090802624bd311e068da9 MD5 · raw file

  1. #! /bin/sh
  2. # A very simple function test for gdiffmk.sh.
  3. srcdir=@srcdir@
  4. command=../gdiffmk
  5. # Test the number of arguments and the first argument.
  6. case $#-$1 in
  7. 1-clean )
  8. rm -fv test_result* tmp_file*
  9. exit 0
  10. ;;
  11. 1-run )
  12. ;;
  13. * )
  14. echo >&2 "$0 [ clean | run ]
  15. Run a few simple tests on \`${command}'."'
  16. clean Remove the test_result? and tmp_file? files.
  17. run Run the tests.
  18. '
  19. exit 255
  20. ;;
  21. esac
  22. function TestResult {
  23. if cmp -s $1 $2
  24. then
  25. echo $2 PASSED
  26. else
  27. echo ''
  28. echo $2 TEST FAILED
  29. diff $1 $2
  30. echo ''
  31. fi
  32. }
  33. tmpfile=/tmp/$$
  34. trap 'rm -f ${tmpfile}' 0 1 2 3 15
  35. # Run tests.
  36. # 3 file arguments
  37. ResultFile=test_result1
  38. ${command} ${srcdir}/file1 ${srcdir}/file2 ${ResultFile} 2>${tmpfile}
  39. cat ${tmpfile} >>${ResultFile}
  40. TestResult ${srcdir}/test_baseline ${ResultFile}
  41. # OUTPUT to stdout by default
  42. ResultFile=test_result2
  43. ${command} ${srcdir}/file1 ${srcdir}/file2 >${ResultFile} 2>&1
  44. TestResult ${srcdir}/test_baseline ${ResultFile}
  45. # OUTPUT to stdout via - argument
  46. ResultFile=test_result3
  47. ${command} ${srcdir}/file1 ${srcdir}/file2 - >${ResultFile} 2>&1
  48. TestResult ${srcdir}/test_baseline ${ResultFile}
  49. # FILE1 from standard input via - argument
  50. ResultFile=test_result4
  51. ${command} - ${srcdir}/file2 <${srcdir}/file1 >${ResultFile} 2>&1
  52. TestResult ${srcdir}/test_baseline ${ResultFile}
  53. # FILE2 from standard input via - argument
  54. ResultFile=test_result5
  55. ${command} ${srcdir}/file1 - <${srcdir}/file2 >${ResultFile} 2>&1
  56. TestResult ${srcdir}/test_baseline ${ResultFile}
  57. # Different values for addmark, changemark, deletemark
  58. ResultFile=test_result6
  59. ${command} -aA -cC -dD ${srcdir}/file1 ${srcdir}/file2 >${ResultFile} 2>&1
  60. TestResult ${srcdir}/test_baseline6 ${ResultFile}
  61. # Test for accidental file overwrite.
  62. ResultFile=test_result7
  63. cp ${srcdir}/file2 tmp_file7
  64. ${command} -aA -dD -cC ${srcdir}/file1 tmp_file7 tmp_file7 \
  65. >${ResultFile} 2>&1
  66. TestResult ${srcdir}/test_baseline7 ${ResultFile}
  67. # Test -D option
  68. ResultFile=test_result8
  69. ${command} -D ${srcdir}/file1 ${srcdir}/file2 >${ResultFile} 2>&1
  70. TestResult ${srcdir}/test_baseline8 ${ResultFile}
  71. # Test -D and -M options
  72. ResultFile=test_result9
  73. ${command} -D -M '<<<<' '>>>>' \
  74. ${srcdir}/file1 ${srcdir}/file2 >${ResultFile} 2>&1
  75. TestResult ${srcdir}/test_baseline9 ${ResultFile}
  76. # Test -D and -B options
  77. ResultFile=test_result10
  78. ${command} -D -B ${srcdir}/file1 ${srcdir}/file2 >${ResultFile} 2>&1
  79. TestResult ${srcdir}/test_baseline10 ${ResultFile}
  80. # EOF