Devq: extended test to e10k
[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 DevifNetTxTest(DevifTests):
52     ''' Devif Net TX Test'''
53     name = "devif_net_tx_test"
54     OP = "net_tx"
55     CARD = "e10k"
56
57 @tests.add_test
58 class DevifNetRxTest(DevifTests):
59     ''' Devif Net RX Test'''
60     name = "devif_net_rx_test"
61     OP = "net_rx"
62     CARD = "e10k"
63
64 @tests.add_test
65 class DevifIdcTest(DevifTests):
66     ''' Devif IDC Test'''
67     name = "devif_idc_test"
68     OP = "idc"
69