Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
tests: Add support for getting corefile patterns on FreeBSD
[vpp.git]
/
test
/
config.py
diff --git
a/test/config.py
b/test/config.py
index
e735557
..
32cc4ca
100644
(file)
--- a/
test/config.py
+++ b/
test/config.py
@@
-2,11
+2,12
@@
import argparse
import os
import psutil
import time
import os
import psutil
import time
+from vpp_qemu_utils import can_create_namespaces
def positive_int_or_default(default):
def positive_integer(v):
def positive_int_or_default(default):
def positive_integer(v):
- if v is None or v == "":
+ if v is None or v == ""
or int(v) == default
:
return default
if int(v) <= 0:
raise ValueError("value must be positive")
return default
if int(v) <= 0:
raise ValueError("value must be positive")
@@
-17,7
+18,7
@@
def positive_int_or_default(default):
def positive_float_or_default(default):
def positive_float(v):
def positive_float_or_default(default):
def positive_float(v):
- if v is None or v == "":
+ if v is None or v == ""
or float(v) == default
:
return default
if float(v) <= 0:
raise ValueError("value must be positive")
return default
if float(v) <= 0:
raise ValueError("value must be positive")
@@
-122,7
+123,8
@@
parser.add_argument(
)
filter_help_string = """\
)
filter_help_string = """\
-expression consists of 3 string selectors separated by '.' separators:
+expression consists of one or more filters separated by commas (',')
+filter consists of 3 string selectors separated by dots ('.')
<file>.<class>.<function>
<file>.<class>.<function>
@@
-142,6
+144,8
@@
examples:
test_add_bfd from test_bfd.py/BFDAPITestCase
4. '.*.test_add_bfd' selects all test functions named test_add_bfd
from all files/classes
test_add_bfd from test_bfd.py/BFDAPITestCase
4. '.*.test_add_bfd' selects all test functions named test_add_bfd
from all files/classes
+5. 'bfd,ip4,..test_icmp_error' selects all test functions in test_bfd.py,
+ test_ip4.py and all test functions named 'test_icmp_error' in all files
"""
parser.add_argument(
"--filter", action="store", metavar="FILTER_EXPRESSION", help=filter_help_string
"""
parser.add_argument(
"--filter", action="store", metavar="FILTER_EXPRESSION", help=filter_help_string
@@
-188,10
+192,16
@@
parser.add_argument(
)
parser.add_argument("--extended", action="store_true", help="run extended tests")
)
parser.add_argument("--extended", action="store_true", help="run extended tests")
+parser.add_argument(
+ "--skip-netns-tests",
+ action="store_true",
+ help="skip tests involving netns operations",
+)
parser.add_argument(
"--sanity", action="store_true", help="perform sanity vpp run before running tests"
)
parser.add_argument(
"--sanity", action="store_true", help="perform sanity vpp run before running tests"
)
+parser.add_argument("--api-preload", action="store_true", help="preload API files")
parser.add_argument(
"--force-foreground",
parser.add_argument(
"--force-foreground",
@@
-301,6
+311,14
@@
parser.add_argument(
help="directory containing external plugins",
)
help="directory containing external plugins",
)
+parser.add_argument(
+ "--extern-apidir",
+ action="append",
+ type=directory,
+ default=[],
+ help="directory to look for API JSON files",
+)
+
parser.add_argument(
"--coredump-size",
action="store",
parser.add_argument(
"--coredump-size",
action="store",
@@
-369,6
+387,15
@@
parser.add_argument(
help="Runs tests against a running VPP.",
)
help="Runs tests against a running VPP.",
)
+parser.add_argument(
+ "--excluded-plugin",
+ dest="excluded_plugins",
+ required=False,
+ action="append",
+ default=[],
+ help="Exclude the tests that indicate they require this plugin(s)",
+)
+
parser.add_argument(
"-d",
"--socket-dir",
parser.add_argument(
"-d",
"--socket-dir",
@@
-382,6
+409,14
@@
parser.add_argument(
"/var/run/user/${uid}/vpp.",
)
"/var/run/user/${uid}/vpp.",
)
+default_decode_pcaps = False
+parser.add_argument(
+ "--decode-pcaps",
+ action="store_true",
+ default=default_decode_pcaps,
+ help=f"if set, decode all pcap files from a test run (default: {default_decode_pcaps})",
+)
+
config = parser.parse_args()
ws = config.vpp_ws_dir
config = parser.parse_args()
ws = config.vpp_ws_dir
@@
-433,6
+468,10
@@
elif config.max_vpp_cpus > 0:
else:
max_vpp_cpus = num_cpus
else:
max_vpp_cpus = num_cpus
+if not config.skip_netns_tests:
+ if not can_create_namespaces():
+ config.skip_netns_tests = True
+
if __name__ == "__main__":
print("Provided arguments:")
for i in config.__dict__:
if __name__ == "__main__":
print("Provided arguments:")
for i in config.__dict__: