summaryrefslogtreecommitdiff
path: root/grade-lab-lock
diff options
context:
space:
mode:
authorMole Shang <[email protected]>2024-02-16 10:20:27 +0800
committerMole Shang <[email protected]>2024-02-16 10:20:27 +0800
commita98c56a811142e5ede3332a7a444cca45f628769 (patch)
treec93ff7090da7b6ef911932be283818c2f6a03784 /grade-lab-lock
parent0d65be5d1d880afafbf08c2adb605cf9f72216e2 (diff)
parent99015f3a985b2fd051606636743a2a2969b216e8 (diff)
downloadxv6-labs-a98c56a811142e5ede3332a7a444cca45f628769.tar.gz
xv6-labs-a98c56a811142e5ede3332a7a444cca45f628769.tar.bz2
xv6-labs-a98c56a811142e5ede3332a7a444cca45f628769.zip
Merge branch 'lock' into thread
Conflicts: .gitignore Makefile conf/lab.mk
Diffstat (limited to 'grade-lab-lock')
-rwxr-xr-xgrade-lab-lock62
1 files changed, 62 insertions, 0 deletions
diff --git a/grade-lab-lock b/grade-lab-lock
new file mode 100755
index 0000000..fa90fef
--- /dev/null
+++ b/grade-lab-lock
@@ -0,0 +1,62 @@
+#!/usr/bin/env python3
+
+import re
+from gradelib import *
+
+r = Runner(save("xv6.out"))
+
+@test(0, "running kalloctest")
+def test_kalloctest():
+ r.run_qemu(shell_script([
+ 'kalloctest'
+ ]), timeout=200)
+
+@test(10, "kalloctest: test1", parent=test_kalloctest)
+def test_kalloctest_test1():
+ r.match('^test1 OK$')
+
+@test(10, "kalloctest: test2", parent=test_kalloctest)
+def test_kalloctest_test2():
+ r.match('^test2 OK$')
+
+@test(10, "kalloctest: test3", parent=test_kalloctest)
+def test_kalloctest_test3():
+ r.match('^test3 OK$')
+
+@test(10, "kalloctest: sbrkmuch")
+def test_sbrkmuch():
+ r.run_qemu(shell_script([
+ 'usertests sbrkmuch'
+ ]), timeout=90)
+ r.match('^ALL TESTS PASSED$')
+
+@test(0, "running bcachetest")
+def test_bcachetest():
+ r.run_qemu(shell_script([
+ 'bcachetest'
+ ]), timeout=90)
+
+@test(10, "bcachetest: test0", parent=test_bcachetest)
+def test_bcachetest_test0():
+ r.match('^test0: OK$')
+
+@test(10, "bcachetest: test1", parent=test_bcachetest)
+def test_bcachetest_test1():
+ r.match('^test1 OK$')
+
+@test(10, "bcachetest: test2", parent=test_bcachetest)
+def test_bcachetest_test2():
+ r.match('^test2 OK$')
+
+@test(19, "usertests")
+def test_usertests():
+ r.run_qemu(shell_script([
+ 'usertests -q'
+ ]), timeout=300)
+ r.match('^ALL TESTS PASSED$')
+
+@test(1, "time")
+def test_time():
+ check_time()
+
+run_tests()