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,
221 args = "prog load %s %s" % (os.path.join(bpf_test_dir, sample), file_name)
238 args = "-force " + args
239 return tool("ip", args, {"json":"-j"}, JSON=JSON, ns=ns,
243 return tool("tc", args, {"json":"-p"}, JSON=JSON, ns=ns,
249 def bpf_obj(name, sec="xdp", path=bpf_test_dir,): argument
250 return "obj %s sec %s" % (os.path.join(path, name), sec)
292 def __init__(self, path): argument
293 self.path = path
294 self._dict = self._debugfs_dir_read(path)
308 cmd("echo '%s' > %s/%s" % (value, self.path, key))
311 _, out = cmd('cat %s/%s' % (self.path, key))
314 def _debugfs_dir_read(self, path): argument
317 log("DebugFS state for %s" % (path), "")
320 _, out = cmd('ls ' + path)
325 p = os.path.join(path, f)
329 if os.path.isfile(p):
332 cmd('echo deadbeef > %s/%s' % (path, f))
333 _, out = cmd('cat %s/%s' % (path, f))
335 elif os.path.isdir(p):
358 path = os.path.join(self.dfs_dir, "bpf_bound_progs")
359 _, progs = cmd('ls %s' % (path))
363 progs = DebugfsDir(os.path.join(self.dfs_dir, "bpf_bound_progs"))
397 path = os.path.join(self.dfs_dir, f)
398 _, data = cmd('cat %s' % (path))
460 args = "-s filter show dev %s ingress" % (self['ifname'])
523 args = "hw-tc-offload %s" % ("on" if enable else "off")
524 return ethtool(self, "-K", args, fail=fail)
533 cmd("rm -f %s" % (f))
564 fail(err["error"].find("No such device") == -1,
633 start_test("Test multi-attachment XDP - %s + offload..." %
653 start_test("Test multi-attachment XDP - replace...")
655 fail(ret == 0, "Replaced one of programs without -force")
658 start_test("Test multi-attachment XDP - remove without mode...")
677 start_test("Test multi-attachment XDP - reattach...")
685 start_test("Test multi-attachment XDP - device remove...")
695 parser.add_argument("--log", help="output verbose log to given file")
699 logfile.write("# -*-Org-*-")
719 if not os.path.isdir("/sys/bus/netdevsim/"):
725 if out.find("/sys/kernel/debug type debugfs") == -1:
726 cmd("mount -t debugfs none /sys/kernel/debug")
738 if err.find("Error: Failed to find qdisc with specified handle.") == -1:
764 start_test("Test TC non-offloaded...")
768 start_test("Test TC non-offloaded isn't getting bound...")
814 start_test("Test non-0 chain offload...")
884 start_test("Test TC offload is device-bound...")
934 fail(ret == 0, "Replaced XDP program without -force")
939 fail(ret != 0, "Could not replace XDP program with -force")
946 "Device parameters reported for non-offloaded program")
969 start_test("Test non-offload XDP attaching to HW...")
974 fail(ret == 0, "attached non-offloaded XDP program to HW")
975 check_extack_nsim(err, "xdpoffload of non-bound program.", args)
991 start_test("Test dev-bound program in generic mode...")
994 check_extack(err, "Can't attach device-bound programs in generic mode.", args)
1112 time_diff = end - start
1185 fail(ret == 0, "updated non-existing key")
1186 fail(err["error"].find("No such file or directory") == -1,
1196 fail(err["error"].find("File exists") == -1,
1220 fail(err["error"].find("No such file or directory") == -1,
1232 fail(err["error"].find("No such file or directory") == -1,
1246 start_test("Test map creation fail path...")
1256 start_test("Test multi-dev ASIC program reuse...")
1275 start_test("Test multi-dev ASIC cross-dev replace...")
1277 fail(ret == 0, "cross-ASIC program allowed")
1280 fail(ret == 0, "cross-ASIC program allowed")
1282 start_test("Test multi-dev ASIC cross-dev install...")
1288 fail(ret == 0, "cross-ASIC program allowed")
1293 fail(ret == 0, "cross-ASIC program allowed")
1296 start_test("Test multi-dev ASIC cross-dev map reuse...")
1314 "error message missing for cross-ASIC map")
1322 "error message missing for cross-ASIC map")
1324 start_test("Test multi-dev ASIC cross-dev destruction...")
1335 start_test("Test multi-dev ASIC cross-dev destruction - move...")
1348 start_test("Test multi-dev ASIC cross-dev destruction - orphaned...")
1352 print("%s: OK" % (os.path.basename(__file__)))