1
-
2
1
from pprint import pprint
3
-
4
2
import pytest
5
3
6
4
7
- @pytest .fixture (scope = "module" , autouse = True )
8
- def discovery (npu ):
9
- npu .objects_discovery ()
10
-
11
-
12
- @pytest .fixture (scope = "module" , autouse = True )
5
+ @pytest .fixture (scope = 'module' , autouse = True )
13
6
def skip_all (testbed_instance ):
14
7
testbed = testbed_instance
15
8
if testbed is not None and len (testbed .npu ) != 1 :
16
- pytest .skip ("invalid for {} testbed" .format (testbed .name ))
17
-
9
+ pytest .skip ('invalid for {} testbed' .format (testbed .name ))
18
10
19
11
@pytest .mark .npu
20
12
class TestSaiUdf :
21
13
# object with parent SAI_OBJECT_TYPE_UDF_MATCH SAI_OBJECT_TYPE_UDF_GROUP
22
14
23
15
def test_udf_create (self , npu ):
24
-
25
- commands = [{'name' : 'udf_match_1' , 'op' : 'create' , 'type' : 'SAI_OBJECT_TYPE_UDF_MATCH' , 'attributes' : []}, {'name' : 'udf_group_1' , 'op' : 'create' , 'type' : 'SAI_OBJECT_TYPE_UDF_GROUP' , 'attributes' : ['SAI_UDF_GROUP_ATTR_LENGTH' , '10' ]}, {'name' : 'udf_1' , 'op' : 'create' , 'type' : 'SAI_OBJECT_TYPE_UDF' , 'attributes' : ['SAI_UDF_ATTR_MATCH_ID' , '$udf_match_1' , 'SAI_UDF_ATTR_GROUP_ID' , '$udf_group_1' , 'SAI_UDF_ATTR_OFFSET' , '10' ]}]
16
+ commands = [
17
+ {
18
+ 'name' : 'udf_match_1' ,
19
+ 'op' : 'create' ,
20
+ 'type' : 'SAI_OBJECT_TYPE_UDF_MATCH' ,
21
+ 'attributes' : [],
22
+ },
23
+ {
24
+ 'name' : 'udf_group_1' ,
25
+ 'op' : 'create' ,
26
+ 'type' : 'SAI_OBJECT_TYPE_UDF_GROUP' ,
27
+ 'attributes' : ['SAI_UDF_GROUP_ATTR_LENGTH' , '10' ],
28
+ },
29
+ {
30
+ 'name' : 'udf_1' ,
31
+ 'op' : 'create' ,
32
+ 'type' : 'SAI_OBJECT_TYPE_UDF' ,
33
+ 'attributes' : [
34
+ 'SAI_UDF_ATTR_MATCH_ID' ,
35
+ '$udf_match_1' ,
36
+ 'SAI_UDF_ATTR_GROUP_ID' ,
37
+ '$udf_group_1' ,
38
+ 'SAI_UDF_ATTR_OFFSET' ,
39
+ '10' ,
40
+ ],
41
+ },
42
+ ]
26
43
27
44
results = [* npu .process_commands (commands )]
28
45
print ('======= SAI commands RETURN values create =======' )
29
46
pprint (results )
30
47
31
-
32
-
33
48
@pytest .mark .dependency (name = "test_sai_udf_attr_base_set" )
34
49
def test_sai_udf_attr_base_set (self , npu ):
35
50
@@ -66,47 +81,13 @@ def test_sai_udf_attr_base_get(self, npu):
66
81
assert r_value == 'SAI_UDF_BASE_L2' , 'Get error, expected SAI_UDF_BASE_L2 but got %s' % r_value
67
82
68
83
69
- @pytest .mark .dependency (name = "test_sai_udf_attr_hash_mask_set" )
70
- def test_sai_udf_attr_hash_mask_set (self , npu ):
71
-
72
- commands = [
73
- {
74
- "name" : "udf_1" ,
75
- "op" : "set" ,
76
- "attributes" : ["SAI_UDF_ATTR_HASH_MASK" , 'const' ]
77
- }
78
- ]
79
- results = [* npu .process_commands (commands )]
80
- print ("======= SAI commands RETURN values set =======" )
81
- pprint (results )
82
-
83
-
84
-
85
- @pytest .mark .dependency (depends = ["test_sai_udf_attr_hash_mask_set" ])
86
- def test_sai_udf_attr_hash_mask_get (self , npu ):
87
-
84
+ def test_udf_remove (self , npu ):
88
85
commands = [
89
- {
90
- "name" : "udf_1" ,
91
- "op" : "get" ,
92
- "attributes" : ["SAI_UDF_ATTR_HASH_MASK" ]
93
- }
86
+ {'name' : 'udf_1' , 'op' : 'remove' },
87
+ {'name' : 'udf_group_1' , 'op' : 'remove' },
88
+ {'name' : 'udf_match_1' , 'op' : 'remove' },
94
89
]
95
- results = [* npu .process_commands (commands )]
96
- print ("======= SAI commands RETURN values get =======" )
97
- for command in results :
98
- for attribute in command :
99
- pprint (attribute .raw ())
100
- r_value = results [0 ][0 ].value ()
101
- print (r_value )
102
- assert r_value == 'const' , 'Get error, expected const but got %s' % r_value
103
-
104
-
105
- def test_udf_remove (self , npu ):
106
-
107
- commands = [{'name' : 'udf_1' , 'op' : 'remove' }, {'name' : 'udf_group_1' , 'op' : 'remove' }, {'name' : 'udf_match_1' , 'op' : 'remove' }]
108
90
109
91
results = [* npu .process_commands (commands )]
110
92
print ('======= SAI commands RETURN values remove =======' )
111
- pprint (results )
112
-
93
+ pprint (results )
0 commit comments