harness: update to devq test
[barrelfish] / tools / harness / tests / devif_test.py
1 ##########################################################################
2 # Copyright (c) 2017, ETH Zurich.
3 # All rights reserved.
4 #
5 # This file is distributed under the terms in the attached LICENSE file.
6 # If you do not find this file, copies can be found by writing to:
7 # ETH Zurich D-INFK, Haldeneggsteig 4, CH-8092 Zurich. Attn: Systems Group.
8 ##########################################################################
9
10 import re, datetime
11 import debug, tests
12 from common import TestCommon, TimeoutError
13 from results import RowResults, PassFailResult
14
15 TEST_TIMEOUT = datetime.timedelta(minutes=8)
16
17
18 class DevifTests(TestCommon):
19
20     def __init__(self, options):
21         super(DevifTests, self).__init__(options)
22
23     def get_module_name(self):
24         return "devif_test"
25
26     def boot(self, *args):
27         super(DevifTests, self).boot(*args)
28         self.set_timeout(TEST_TIMEOUT)
29
30     def get_modules(self, build, machine):
31         self.machine = machine.name
32         modules = super(DevifTests, self).get_modules(build, machine)
33         modules.add_module("e10k", ["auto", "function=0"])
34         modules.add_module("sfn5122f", ["auto", "function=0"])
35         modules.add_module("devif_idc", ["core=1"])
36         modules.add_module(self.get_module_name(), ["core=2", self.OP, self.CARD])
37
38         return modules
39
40     def is_finished(self, line):
41         return line.startswith("SUCCESS")
42
43     def process_data(self, testdir, rawiter):
44         passed = False
45         for line in rawiter:
46             if "SUCCESS" in line:
47                 passed = True
48         return PassFailResult(passed)
49
50 @tests.add_test
51 class DevifNetTxSF(DevifTests):
52     ''' Devif Net TX Test'''
53     name = "devif_nettx_sf"
54     OP = "net_tx"
55     CARD = "sfn5122f"
56
57
58 @tests.add_test
59 class DevifNetTxE10k(DevifTests):
60     ''' Devif Net TX Test'''
61     name = "devif_nettx_e10k"
62     OP = "net_tx"
63     CARD = "e10k"
64
65 @tests.add_test
66 class DevifNetRxSF(DevifTests):
67     ''' Devif Net RX Test'''
68     name = "devif_netrx_sf"
69     OP = "net_rx"
70     CARD = "sfn5122f"
71
72 @tests.add_test
73 class DevifNetRxE10k(DevifTests):
74     ''' Devif Net RX Test'''
75     name = "devif_netrx_e10k"
76     OP = "net_rx"
77     CARD = "e10k"
78
79 @tests.add_test
80 class DevifIdcTest(DevifTests):
81     ''' Devif IDC Test'''
82     name = "devif_idc_test"
83     OP = "idc"
84     CARD = "none"
85