#!/usr/bin/env python3 import re import subprocess from gradelib import * r = Runner(save("xv6.out")) @test(0, "running nettests") def test_nettest(): server = subprocess.Popen(["make", "server"], stdout=subprocess.PIPE, stderr=subprocess.PIPE) r.run_qemu(shell_script([ 'nettests' ]), timeout=30) server.terminate() server.communicate() @test(40, "nettest: ping", parent=test_nettest) def test_nettest_(): r.match('^testing ping: OK$') @test(20, "nettest: single process", parent=test_nettest) def test_nettest_(): r.match('^testing single-process pings: OK$') @test(20, "nettest: multi-process", parent=test_nettest) def test_nettest_fork_test(): r.match('^testing multi-process pings: OK$') @test(19, "nettest: DNS", parent=test_nettest) def test_nettest_dns_test(): r.match('^DNS OK$') #@test(10, "answers-net.txt") #def test_answers(): # # just a simple sanity check, will be graded manually # check_answers("answers-net.txt") @test(1, "time") def test_time(): check_time() run_tests()