RunTests.sh 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  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. MD5=$(which md5sum)
  20. if [ ! $MD5 ]; then
  21. MD5='md5 -q';
  22. else
  23. MD5='md5sum';
  24. fi
  25. FILES=*.txt
  26. DOCSIS=../src/docsis
  27. KEYFILE=key
  28. for f in $FILES
  29. do
  30. TEST=$(echo $f | cut -f1 -d.)
  31. $DOCSIS -e $TEST.txt $KEYFILE $TEST.cm.new
  32. if [ ! -f $TEST.cm.new ]; then
  33. echo "Test $TEST failed to create CM file on first pass.";
  34. if [ $ALLOW_FAILED = FALSE ]; then
  35. exit -1;
  36. fi
  37. fi
  38. MD5SUM_1=$($MD5 $TEST.cm)
  39. MD5SUM_1_array=($MD5SUM_1)
  40. MD5SUM_2=$($MD5 $TEST.cm.new)
  41. MD5SUM_2_array=($MD5SUM_2)
  42. if [ "${MD5SUM_1_array[0]}" != "${MD5SUM_2_array[0]}" ]; then
  43. echo "Test $TEST created a wrong CM file on first pass.";
  44. if [ $ALLOW_FAILED = FALSE ]; then
  45. exit -1;
  46. fi
  47. fi
  48. $DOCSIS -d $TEST.cm.new > $TEST.conf.new
  49. if [ ! -f $TEST.conf.new ]; then
  50. echo "Test $TEST failed to create a conf file on second pass.";
  51. if [ $ALLOW_FAILED = FALSE ]; then
  52. exit -1;
  53. fi
  54. fi
  55. MD5SUM_1=$($MD5 $TEST.conf)
  56. MD5SUM_1_array=($MD5SUM_1)
  57. MD5SUM_2=$($MD5 $TEST.conf.new)
  58. MD5SUM_2_array=($MD5SUM_2)
  59. if [ "${MD5SUM_1_array[0]}" != "${MD5SUM_2_array[0]}" ]; then
  60. echo "Test $TEST created a wrong CONF file on second pass.";
  61. if [ $ALLOW_FAILED = FALSE ]; then
  62. exit -1;
  63. fi
  64. fi
  65. $DOCSIS -e $TEST.conf.new $KEYFILE $TEST.cm.new
  66. if [ ! -f $TEST.cm.new ]; then
  67. echo "Test $TEST failed to create CM file on third pass.";
  68. if [ $ALLOW_FAILED = FALSE ]; then
  69. exit -1;
  70. fi
  71. fi
  72. MD5SUM_1=$($MD5 $TEST.cm)
  73. MD5SUM_1_array=($MD5SUM_1)
  74. MD5SUM_2=$($MD5 $TEST.cm.new)
  75. MD5SUM_2_array=($MD5SUM_2)
  76. if [ "${MD5SUM_1_array[0]}" != "${MD5SUM_2_array[0]}" ]; then
  77. echo "Test $TEST created a wrong CM file on third pass.";
  78. if [ $ALLOW_FAILED = FALSE ]; then
  79. exit -1;
  80. fi
  81. fi
  82. rm $TEST*.new
  83. done