RunTests.sh 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. #!/usr/bin/env bash
  2. if [ $1 == '--help' ]; then
  3. echo "";
  4. echo " Usage: RunTests.sh [OPTIONS]";
  5. echo " or: Runtests.sh --help";
  6. echo "";
  7. echo " OPTIONS:";
  8. echo " --allow-failed=TRUE Failed tests will be ignored and execution will";
  9. echo " continue. Usefull in code coverage testing. Default";
  10. echo " value: FALSE (execution will stop when a test failed.)";
  11. echo "";
  12. exit -1;
  13. fi
  14. if [ $1 == '--allow-failed=TRUE' ]; then
  15. ALLOW_FAILED=TRUE;
  16. else
  17. ALLOW_FAILED=FALSE;
  18. fi
  19. FILES=*.txt
  20. DOCSIS=../src/docsis
  21. KEYFILE=key
  22. for f in $FILES
  23. do
  24. TEST=$(echo $f | cut -f1 -d.)
  25. $DOCSIS -e $TEST.txt $KEYFILE $TEST.cm.new
  26. if [ ! -f $TEST.cm.new ]; then
  27. echo "Test $TEST failed to create CM file on first pass.";
  28. if [ $ALLOW_FAILED = FALSE ]; then
  29. exit -1;
  30. fi
  31. fi
  32. MD5SUM_1=$(md5sum $TEST.cm)
  33. MD5SUM_1_array=($MD5SUM_1)
  34. MD5SUM_2=$(md5sum $TEST.cm.new)
  35. MD5SUM_2_array=($MD5SUM_2)
  36. if [ "${MD5SUM_1_array[0]}" != "${MD5SUM_2_array[0]}" ]; then
  37. echo "Test $TEST created a wrong CM file on first pass.";
  38. if [ $ALLOW_FAILED = FALSE ]; then
  39. exit -1;
  40. fi
  41. fi
  42. $DOCSIS -d $TEST.cm.new > $TEST.conf.new
  43. if [ ! -f $TEST.conf.new ]; then
  44. echo "Test $TEST failed to create a conf file on second pass.";
  45. if [ $ALLOW_FAILED = FALSE ]; then
  46. exit -1;
  47. fi
  48. fi
  49. MD5SUM_1=$(md5sum $TEST.conf)
  50. MD5SUM_1_array=($MD5SUM_1)
  51. MD5SUM_2=$(md5sum $TEST.conf.new)
  52. MD5SUM_2_array=($MD5SUM_2)
  53. if [ "${MD5SUM_1_array[0]}" != "${MD5SUM_2_array[0]}" ]; then
  54. echo "Test $TEST created a wrong CONF file on second pass.";
  55. if [ $ALLOW_FAILED = FALSE ]; then
  56. exit -1;
  57. fi
  58. fi
  59. $DOCSIS -e $TEST.conf.new $KEYFILE $TEST.cm.new
  60. if [ ! -f $TEST.cm.new ]; then
  61. echo "Test $TEST failed to create CM file on third pass.";
  62. if [ $ALLOW_FAILED = FALSE ]; then
  63. exit -1;
  64. fi
  65. fi
  66. MD5SUM_1=$(md5sum $TEST.cm)
  67. MD5SUM_1_array=($MD5SUM_1)
  68. MD5SUM_2=$(md5sum $TEST.cm.new)
  69. MD5SUM_2_array=($MD5SUM_2)
  70. if [ "${MD5SUM_1_array[0]}" != "${MD5SUM_2_array[0]}" ]; then
  71. echo "Test $TEST created a wrong CM file on third pass.";
  72. if [ $ALLOW_FAILED = FALSE ]; then
  73. exit -1;
  74. fi
  75. fi
  76. rm $TEST*.new
  77. done