First upload
[CS310.git] / grade_lab_kthread.py
bloba33e620c3bad03623f6286f771c74ad18d65ff8b
1 #!/usr/bin/env python3
3 import re
4 import sys
5 from gradelib import *
7 r = Runner(save("xv6.out"))
9 @test(0, "running threadtest")
10 def test_threadtest():
11 r.run_qemu(shell_script([
12 'threadtest'
13 ]))
15 @test(10, "threadmtest: test1", parent=test_threadtest)
16 def test_threadtest_test1():
17 r.match('^TEST1 PASSED$')
19 @test(10, "threadmtest: test2", parent=test_threadtest)
20 def test_threadtest_test2():
21 r.match('^TEST2 PASSED$')
23 @test(40, "threadmtest: test3", parent=test_threadtest)
24 def test_threadtest_test3():
25 r.match('^TEST3 PASSED$')
27 @test(10, "threadmtest: test4", parent=test_threadtest)
28 def test_threadtest_test4():
29 r.match('^TEST4 PASSED$')
31 @test(10, "threadmtest: test5", parent=test_threadtest)
32 def test_threadtest_test5():
33 r.match('^TEST5 PASSED$')
35 @test(10, "threadmtest: test6", parent=test_threadtest)
36 def test_threadtest_test6():
37 r.match('^TEST6 PASSED$')
39 @test(10, "usertests")
40 def test_usertests():
41 r.run_qemu(shell_script([
42 'usertests'
43 ]), timeout=300)
44 r.match('^ALL TESTS PASSED$')
46 if __name__ == '__main__':
47 if len(sys.argv) > 1:
48 run_tests(outputJSON=sys.argv[1])
49 else:
50 run_tests()