Whamcloud - gitweb
LU-10973 lnet: LUTF UDSP test suite and routing test suite
[fs/lustre-release.git] / lustre / tests / lutf / python / tests / suite_udsp / test_udsp_basic_err_02.py
1 """
2 @PRIMARY: N/A
3 @PRIMARY_DESC: Verify that providing incorrect parameters to UDSP lnetctl results in an error
4 @SECONDARY: N/A
5 @DESIGN: N/A
6 @TESTCASE:
7 - configure LNet
8 - attempt to add udsp rule providing incorrect parameters
9 - verify that attempts fail with an error
10 """
11
12 import os
13 import yaml
14 import lnetconfig
15 from lutf import agents, me
16 from lutf_basetest import *
17 from lnet import TheLNet
18 from lutf_exception import LUTFError
19 from lnet_helpers import LNetHelpers
20 from lutf_cmd import lutf_exec_local_cmd
21
22
23 test_action_list = [{'udsp_cmd': "add --src abcd",
24                      'fail_res': "ailed to parse src"},
25                     {'udsp_cmd': "add --src tcppp",
26                      'fail_res': "ailed to parse src"},
27                     {'udsp_cmd': "add --src t",
28                      'fail_res': "ailed to parse src"},
29                     {'udsp_cmd': "add --src o2ibbb",
30                      'fail_res': "ailed to parse src"},
31                     {'udsp_cmd': "add --src o2i",
32                      'fail_res': "ailed to parse src"},
33                     {'udsp_cmd': "add --src 10000000000000000000000000000001",
34                      'fail_res': "ailed to parse src"},
35                     {'udsp_cmd': "add --dst abcd",
36                      'fail_res': "ailed to parse dst"},
37                     {'udsp_cmd': "add --dst tcppp",
38                      'fail_res': "ailed to parse dst"},
39                     {'udsp_cmd': "add --dst t",
40                      'fail_res': "ailed to parse dst"},
41                     {'udsp_cmd': "add --dst o2ibbb",
42                      'fail_res': "ailed to parse dst"},
43                     {'udsp_cmd': "add --dst o2i",
44                      'fail_res': "ailed to parse dst"},
45                     {'udsp_cmd': "add --dst 10000000000000000000000000000001",
46                      'fail_res': "ailed to parse dst"},
47                     {'udsp_cmd': "add --rte abcd --dst tcp",
48                      'fail_res': "ailed to parse rte"},
49                     {'udsp_cmd': "add --rte tcppp --dst tcp",
50                      'fail_res': "ailed to parse rte"},
51                     {'udsp_cmd': "add --rte t --dst tcp",
52                      'fail_res': "ailed to parse rte"},
53                     {'udsp_cmd': "add --rte o2ibbb --dst tcp",
54                      'fail_res': "ailed to parse rte"},
55                     {'udsp_cmd': "add --rte o2i --dst tcp",
56                      'fail_res': "ailed to parse rte"},
57                     {'udsp_cmd': "add --rte 10000000000000000000000000000001 --dst tcp",
58                      'fail_res': "ailed to parse rte"}]
59
60 def run():
61         la = agents.keys()
62         if len(la) < 1:
63                 return lutfrc(LUTF_TEST_SKIP, "No agents to run test")
64         try:
65                 t = LNetHelpers(target=la[0])
66                 t.configure_lnet()
67                 if not t.check_udsp_present():
68                         return lutfrc(LUTF_TEST_SKIP, "UDSP feature is missing")
69                 rc = t.check_udsp_empty()
70                 if not rc:
71                         return lutfrc(LUTF_TEST_FAIL)
72                 count = 0
73                 for test_action in test_action_list:
74                         count+=1
75                         print("Test action: ", count)
76                         """
77                         Expect the command to fail with an exception.
78                         Look for the specific error message.
79                         """
80                         try:
81                                 rc = t.exec_udsp_cmd(test_action['udsp_cmd'])
82                                 return lutfrc(LUTF_TEST_FAIL)
83                         except Exception as e:
84                                 if test_action['fail_res'] not in e.msg:
85                                         return lutfrc(LUTF_TEST_FAIL)
86
87                 rc = t.cleanup_udsp()
88                 return lutfrc(LUTF_TEST_PASS)
89         except Exception as e:
90                 t.uninit()
91                 raise e
92
93