Ingen beskrivning
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

runtest_context.sh 2.1KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. #!/bin/bash
  2. #
  3. # Usage : ./runtest [OPTIONS] [test_module[.test_class][ test_module2[.test_class2]...]
  4. #########
  5. #
  6. # Options list :
  7. ################
  8. #
  9. # -b, --buffer
  10. #
  11. # The standard output and standard error streams are buffered during the test run. Output during a passing test is discarded. Output is echoed normally on test fail or error and is added to the failure messages.
  12. #
  13. # -c, --catch
  14. #
  15. # Control-C during the test run waits for the current test to end and then reports all the results so far. A second control-C raises the normal KeyboardInterrupt exception.
  16. #
  17. #
  18. # -f, --failfast
  19. #
  20. # Stop the test run on the first error or failure.
  21. #
  22. # -h, --help
  23. #
  24. # Get some help
  25. #
  26. # -v, --verbose
  27. #
  28. # higher verbosity
  29. #
  30. # Examples :
  31. ############
  32. #
  33. # Running all discoverables tests :
  34. # ./runtest
  35. #
  36. # Running only Em test about component object (only tests about the __init__ and modify_rank methods) with higher verbosity and failfast :
  37. # ./runtest -fv EditorialModel.test.test_component.TestInit EditorialModel.test.test_component.TestModifyRank
  38. #
  39. #
  40. # Running only Em tests
  41. # ./runtest discover EditorialModel
  42. #
  43. # More details :
  44. ################
  45. #
  46. # https://docs.python.org/3.4/library/unittest.html
  47. #
  48. export PYTHONPATH="$(pwd)/$(dirname $0)/:$PYTHONPATH"
  49. if test ! -f lodel/buildconf.py
  50. then
  51. echo "You have to build the project before running the tests"
  52. echo "See README"
  53. exit 1
  54. fi
  55. PYTHON="env python3"
  56. testdir=$(mktemp -td "lodel2_unittest_instance_XXXXXXXX")
  57. install_model_dir="[@]INSTALLMODEL_DIR[@]"
  58. if [ ! -d "$install_model_dir" ]
  59. then
  60. install_model_dir="$(dirname $0)/progs/slim/install_model/"
  61. fi
  62. libdir="$(dirname $(realpath $0))/lodel"
  63. rmdir $testdir
  64. progs/create_instance test_instance $testdir "$install_model_dir" examples/em_test.pickle "$libdir"
  65. echo progs/create_instance test_instance $testdir "$install_model_dir" examples/em_test.pickle "$libdir"
  66. cp -R examples $testdir
  67. cp -R tests $testdir
  68. cd $testdir
  69. chmod +x lodel_admin.py
  70. rm -R conf.d && mv tests/tests_conf.d conf.d
  71. make
  72. make refresh_plugins
  73. $PYTHON loader.py $@ && ret_status=0 || ret_status=1
  74. rm -Rf $testdir
  75. exit $ret_status