108 lines
2.8 KiB
Python
Executable File
108 lines
2.8 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
import re
|
|
from gradelib import *
|
|
|
|
r = Runner(save("chcore.out"),
|
|
stop_breakpoint("break_point"))
|
|
|
|
@test(0, "runing fs_test")
|
|
def test_fs_run():
|
|
r.make_kernel("fs_test")
|
|
r.run_qemu(5)
|
|
|
|
@test(5, parent=test_fs_run)
|
|
def test_fs_server_init():
|
|
r.match("test_fs_server_init pass!")
|
|
#line = r.match("Hello, I am thread 0")
|
|
#r.match_line(line,"Iteration 10, thread 1, cpu 0")
|
|
|
|
@test(10, parent=test_fs_run)
|
|
def test_fs_scan():
|
|
line = r.match("/tar has 16 files")
|
|
r.match("/tar/test has 85 files")
|
|
|
|
@test(10, parent=test_fs_run)
|
|
def test_fs_write_read():
|
|
r.match("test_write_read pass!")
|
|
|
|
@test(5, parent=test_fs_run)
|
|
def test_fs_deepfile():
|
|
r.match("test_deepfile pass!")
|
|
|
|
@test(0, "runing init_test")
|
|
def test_shell_run():
|
|
r.make_kernel("init_test")
|
|
r.run_qemu(5)
|
|
|
|
@test(5, parent=test_shell_run)
|
|
def test_readline():
|
|
r.match("> echo ls tt yy")
|
|
|
|
@test(5, parent=test_shell_run)
|
|
def test_echo():
|
|
r.match("abc123XYZ")
|
|
|
|
@test(5, parent=test_shell_run)
|
|
def test_ls():
|
|
r.match("init.bin")
|
|
r.match("tmpfs.srv")
|
|
r.match("ipc_mem.bin")
|
|
r.match("spawn_basic.bin")
|
|
r.match("ipc_reg_server.bin")
|
|
r.match("spawn_child.bin")
|
|
r.match("init_test.bin")
|
|
r.match("ipc_data.bin")
|
|
r.match("yield_aff.bin")
|
|
r.match("yield_spin.bin")
|
|
r.match("yield_multi.bin")
|
|
r.match("ipc_mem_server.bin")
|
|
r.match("ipc_reg.bin")
|
|
r.match("tar")
|
|
r.match("yield_multi_aff.bin")
|
|
r.match("spawn_info.bin")
|
|
r.match("yield_single.bin")
|
|
r.match("ipc_data_server.bin")
|
|
|
|
@test(5, parent=test_shell_run)
|
|
def test_ls_dicrectory():
|
|
r.match("test")
|
|
r.match("bsdtar_windows.c")
|
|
r.match("bsdtar_windows.h")
|
|
r.match("config_freebsd.h")
|
|
r.match("cmdline.c")
|
|
r.match("bsdtar.h")
|
|
r.match("subst.c")
|
|
r.match("bsdtar.1")
|
|
r.match("bsdtar.c")
|
|
r.match("creation_set.c")
|
|
r.match("read.c")
|
|
r.match("write.c")
|
|
r.match("util.c")
|
|
r.match("CMakeLists.txt")
|
|
r.match("bsdtar_platform.h")
|
|
|
|
@test(5, parent=test_shell_run)
|
|
def test_cat():
|
|
r.match("apple banana This is a test file.")
|
|
|
|
@test(5, parent=test_shell_run)
|
|
def test_auto_complement():
|
|
r.match("> yie.*ld_spin.bin")
|
|
r.match("> sp.*awn_basic.bin")
|
|
|
|
@test(10, parent=test_shell_run)
|
|
def test_run_executable():
|
|
r.match("\[Parent\] create the server process.")
|
|
|
|
TOP_RE = r" *Thread *ffffff00[0-9a-z]{8}[\t ]*Type:[\t ]*[A-Z]{4}[\t ]*State:[\t ]*TS_[A-Z]+[\t ]*CPU[\t ]*[0-3]{1}[\t ]*AFF[\t ]*[0-3]{1}[\t ]*Budget[\t ]*[0-9]{1}"
|
|
#BACKTRACE_RE = r" *LR *ffffff00000[0-9a-z]{5} *FP *ffffff00000d[0-9a-z]{4} *Args *([0-9a-z]+)"
|
|
#BACKTRACE_LR = r" *LR *(ffffff00000[0-9a-z]{5}) *FP *ffffff00000d[0-9a-z]{4} *Args *[0-9a-z]+"
|
|
@test(10, parent=test_shell_run)
|
|
def test_top():
|
|
matches = re.findall(TOP_RE, r.qemu.output, re.MULTILINE)
|
|
assert_equal(len(matches), 6)
|
|
|
|
|
|
run_tests()
|