Lines Matching +full:stdout +full:- +full:path
7 # June 1991 as shown in the file COPYING in the top-level directory of this
38 bpf_test_dir = os.path.dirname(os.path.realpath(__file__))
53 log_level -= sub
101 Run a command in subprocess and return tuple of (retval, stdout);
104 proc = subprocess.Popen(cmd, shell=shell, stdout=subprocess.PIPE,
115 stdout, stderr = proc.communicate()
116 stdout = stdout.decode("utf-8")
117 stderr = stderr.decode("utf-8")
118 proc.stdout.close()
122 if stderr[-1] == "\n":
123 stderr = stderr[:-1]
127 "RETCODE: %d\n%s STDOUT:\n%s%s STDERR:%s\n%s END: %s" %
128 (proc.returncode, sec, stdout, sec, stderr,
132 if len(stderr) > 0 and stderr[-1] == "\n":
133 stderr = stderr[:-1]
137 return proc.returncode, stdout, stderr
139 return proc.returncode, stdout
142 cmd("rm -f %s" % (f))
157 ret, stdout, stderr = cmd(ns + name + " " + params + args,
160 ret, stdout = cmd(ns + name + " " + params + args,
163 if JSON and len(stdout.strip()) != 0:
164 out = json.loads(stdout)
166 out = stdout
174 return tool("bpftool", args, {"json":"-p"}, JSON=JSON, ns=ns,
219 args = "prog load %s %s" % (os.path.join(bpf_test_dir, sample), file_name)
236 args = "-force " + args
237 return tool("ip", args, {"json":"-j"}, JSON=JSON, ns=ns,
241 return tool("tc", args, {"json":"-p"}, JSON=JSON, ns=ns,
247 def bpf_obj(name, sec="xdp", path=bpf_test_dir,): argument
248 return "obj %s sec %s" % (os.path.join(path, name), sec)
290 def __init__(self, path): argument
291 self.path = path
292 self._dict = self._debugfs_dir_read(path)
306 cmd("echo '%s' > %s/%s" % (value, self.path, key))
309 _, out = cmd('cat %s/%s' % (self.path, key))
312 def _debugfs_dir_read(self, path): argument
315 log("DebugFS state for %s" % (path), "")
318 _, out = cmd('ls ' + path)
323 p = os.path.join(path, f)
327 if os.path.isfile(p):
330 cmd('echo deadbeef > %s/%s' % (path, f))
331 _, out = cmd('cat %s/%s' % (path, f))
333 elif os.path.isdir(p):
356 path = os.path.join(self.dfs_dir, "bpf_bound_progs")
357 _, progs = cmd('ls %s' % (path))
361 progs = DebugfsDir(os.path.join(self.dfs_dir, "bpf_bound_progs"))
395 path = os.path.join(self.dfs_dir, f)
396 _, data = cmd('cat %s' % (path))
458 args = "-s filter show dev %s ingress" % (self['ifname'])
521 args = "hw-tc-offload %s" % ("on" if enable else "off")
522 return ethtool(self, "-K", args, fail=fail)
531 cmd("rm -f %s" % (f))
562 fail(err["error"].find("No such device") == -1,
631 start_test("Test multi-attachment XDP - %s + offload..." %
651 start_test("Test multi-attachment XDP - replace...")
653 fail(ret == 0, "Replaced one of programs without -force")
656 start_test("Test multi-attachment XDP - remove without mode...")
675 start_test("Test multi-attachment XDP - reattach...")
683 start_test("Test multi-attachment XDP - device remove...")
693 parser.add_argument("--log", help="output verbose log to given file")
697 logfile.write("# -*-Org-*-")
716 if not os.path.isdir("/sys/bus/netdevsim/"):
722 if out.find("/sys/kernel/debug type debugfs") == -1:
723 cmd("mount -t debugfs none /sys/kernel/debug")
735 if err.find("Error: Failed to find qdisc with specified handle.") == -1:
761 start_test("Test TC non-offloaded...")
765 start_test("Test TC non-offloaded isn't getting bound...")
811 start_test("Test non-0 chain offload...")
881 start_test("Test TC offload is device-bound...")
931 fail(ret == 0, "Replaced XDP program without -force")
936 fail(ret != 0, "Could not replace XDP program with -force")
943 "Device parameters reported for non-offloaded program")
966 start_test("Test non-offload XDP attaching to HW...")
971 fail(ret == 0, "attached non-offloaded XDP program to HW")
972 check_extack_nsim(err, "xdpoffload of non-bound program.", args)
988 start_test("Test dev-bound program in generic mode...")
991 check_extack(err, "Can't attach device-bound programs in generic mode.", args)
1109 time_diff = end - start
1182 fail(ret == 0, "updated non-existing key")
1183 fail(err["error"].find("No such file or directory") == -1,
1193 fail(err["error"].find("File exists") == -1,
1217 fail(err["error"].find("No such file or directory") == -1,
1229 fail(err["error"].find("No such file or directory") == -1,
1243 start_test("Test map creation fail path...")
1253 start_test("Test multi-dev ASIC program reuse...")
1272 start_test("Test multi-dev ASIC cross-dev replace...")
1274 fail(ret == 0, "cross-ASIC program allowed")
1277 fail(ret == 0, "cross-ASIC program allowed")
1279 start_test("Test multi-dev ASIC cross-dev install...")
1285 fail(ret == 0, "cross-ASIC program allowed")
1290 fail(ret == 0, "cross-ASIC program allowed")
1293 start_test("Test multi-dev ASIC cross-dev map reuse...")
1311 "error message missing for cross-ASIC map")
1319 "error message missing for cross-ASIC map")
1321 start_test("Test multi-dev ASIC cross-dev destruction...")
1332 start_test("Test multi-dev ASIC cross-dev destruction - move...")
1345 start_test("Test multi-dev ASIC cross-dev destruction - orphaned...")
1349 print("%s: OK" % (os.path.basename(__file__)))