@@ -169,12 +169,14 @@ def bpftool(args, JSON=True, ns="", fail=True, include_stderr=False):
169
169
return tool ("bpftool" , args , {"json" :"-p" }, JSON = JSON , ns = ns ,
170
170
fail = fail , include_stderr = include_stderr )
171
171
172
- def bpftool_prog_list (expected = None , ns = "" ):
172
+ def bpftool_prog_list (expected = None , ns = "" , exclude_orphaned = True ):
173
173
_ , progs = bpftool ("prog show" , JSON = True , ns = ns , fail = True )
174
174
# Remove the base progs
175
175
for p in base_progs :
176
176
if p in progs :
177
177
progs .remove (p )
178
+ if exclude_orphaned :
179
+ progs = [ p for p in progs if not p ['orphaned' ] ]
178
180
if expected is not None :
179
181
if len (progs ) != expected :
180
182
fail (True , "%d BPF programs loaded, expected %d" %
@@ -612,11 +614,9 @@ def pin_map(file_name, idx=0, expected=1):
612
614
613
615
def check_dev_info_removed (prog_file = None , map_file = None ):
614
616
bpftool_prog_list (expected = 0 )
617
+ bpftool_prog_list (expected = 1 , exclude_orphaned = False )
615
618
ret , err = bpftool ("prog show pin %s" % (prog_file ), fail = False )
616
- fail (ret == 0 , "Showing prog with removed device did not fail" )
617
- fail (err ["error" ].find ("No such device" ) == - 1 ,
618
- "Showing prog with removed device expected ENODEV, error is %s" %
619
- (err ["error" ]))
619
+ fail (ret != 0 , "failed to show prog with removed device" )
620
620
621
621
bpftool_map_list (expected = 0 )
622
622
ret , err = bpftool ("map show pin %s" % (map_file ), fail = False )
@@ -1395,10 +1395,7 @@ def test_multi_prog(simdev, sim, obj, modename, modeid):
1395
1395
1396
1396
start_test ("Test multi-dev ASIC cross-dev destruction - orphaned..." )
1397
1397
ret , out = bpftool ("prog show %s" % (progB ), fail = False )
1398
- fail (ret == 0 , "got information about orphaned program" )
1399
- fail ("error" not in out , "no error reported for get info on orphaned" )
1400
- fail (out ["error" ] != "can't get prog info: No such device" ,
1401
- "wrong error for get info on orphaned" )
1398
+ fail (ret != 0 , "couldn't get information about orphaned program" )
1402
1399
1403
1400
print ("%s: OK" % (os .path .basename (__file__ )))
1404
1401
0 commit comments