First upload
[CS310.git] / grade_lab_alarm.py
blob826a88ee0a962a69a16a7336260d5d5b26d77337
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 alarmtest")
10 def test_alarmtest():
11 r.run_qemu(shell_script([
12 'alarmtest'
13 ]))
15 @test(30, "alarmtest: test0", parent=test_alarmtest)
16 def test_alarmtest_test0():
17 r.match('^test0 passed$')
19 @test(40, "alarmtest: test1", parent=test_alarmtest)
20 def test_alarmtest_test1():
21 r.match('^\\.?test1 passed$')
23 @test(10, "alarmtest: test2", parent=test_alarmtest)
24 def test_alarmtest_test2():
25 r.match('^\\.?test2 passed$')
27 @test(20, "usertests")
28 def test_usertests():
29 r.run_qemu(shell_script([
30 'usertests'
31 ]), timeout=300)
32 r.match('^ALL TESTS PASSED$')
34 if __name__ == '__main__':
35 if len(sys.argv) > 1:
36 run_tests(outputJSON=sys.argv[1])
37 else:
38 run_tests()