2. ----------------
  3. Running LTP test cases in Graphene :
  4. 1) run 'make' in LibOS/shim/test/apps/ltp
  5. 2) cd Graphene/LibOS/shim/test/regression
  6. 3) make regression
  7. The above command will start running LTP system call test cases in Graphene.
  8. It works in 2 steps:
  9. 1) Creates a testfile (Graphene/LibOS/shim/test/apps/ltp/syscalls.graphene) with all the LTP system call test cases to run, excluding the ones mentioned in Graphene/LibOS/shim/test/apps/ltp/BLOCKED. “BLOCKED” contains all the test cases which are hanging in the Graphene and thus are excluded from regression tests.
  10. 2) Calls Graphene/LibOS/shim/test/apps/ltp/ It runs the LTP test cases and display output on the terminal.
  11. Some LTP testcases hangs in Graphene. This python script sets a timeout for each testcase referring the file 'TIMEOUTS'. Default timeout is set 20 seconds in the script.
  12. It also shows, ‘new passed testcases’ (passed testcases which are not in Graphene/LibOS/shim/test/apps/ltp/PASSED) and ‘new failed testcases’ (failed testcases which are in ‘PASSED’).
  13. It also creates files ‘run_output’, ‘Failed.csv’, ‘Passed.csv’, ‘Blocked.csv’ under Graphene/LibOS/shim/test/apps/ltp for reference.
  14. Results are of 4 types :
  15. [Pass] -> Testcase passed
  16. [Failed] -> Testcase failed
  17. [Hanged] -> Testcase hanged and thereafter killed
  18. [Broken] -> Either system call is not implemented in Graphene or test preparation failed
  19. To run one particular testcase, execute following :
  20. ~/Runtime/pal <ltp-repo>/opt/ltp/testcases/bin/<test>
  21. In this way, one can debug one particular syscall testcase.
  22. As you fix bugs, keep updating PASSED BLOCKED lists.