vcl: fix epoll lt coverity warning
[vpp.git] / test / config.py
index c99d1ca..578cc40 100644 (file)
@@ -1,7 +1,6 @@
 import argparse
 import os
 import psutil
-import textwrap
 import time
 
 
@@ -119,11 +118,12 @@ parser.add_argument(
     "--failed-dir",
     action="store",
     type=directory,
-    help="directory containing failed tests",
+    help="directory containing failed tests (default: --tmp-dir)",
 )
 
 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>
 
@@ -143,6 +143,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
+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
@@ -302,6 +304,14 @@ parser.add_argument(
     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",
@@ -357,8 +367,30 @@ parser.add_argument(
     "--keep-pcaps",
     action="store_true",
     default=default_keep_pcaps,
-    help="if set, keep all pcap files from a test run"
-    f" (default: {default_keep_pcaps})",
+    help=f"if set, keep all pcap files from a test run (default: {default_keep_pcaps})",
+)
+
+parser.add_argument(
+    "-r",
+    "--use-running-vpp",
+    dest="running_vpp",
+    required=False,
+    action="store_true",
+    default=False,
+    help="Runs tests against a running VPP.",
+)
+
+parser.add_argument(
+    "-d",
+    "--socket-dir",
+    dest="socket_dir",
+    required=False,
+    action="store",
+    default="",
+    help="Relative or absolute path to running VPP's socket directory.\n"
+    "The directory must contain VPP's socket files:api.sock & stats.sock.\n"
+    "Default: /var/run/vpp if VPP is started as the root user, else "
+    "/var/run/user/${uid}/vpp.",
 )
 
 config = parser.parse_args()
@@ -397,7 +429,10 @@ config.test_src_dir = test_dirs
 
 
 if config.venv_dir is None:
-    config.venv_dir = f"{ws}/test/venv"
+    config.venv_dir = f"{ws}/build-root/test/venv"
+
+if config.failed_dir is None:
+    config.failed_dir = f"{config.tmp_dir}"
 
 available_cpus = psutil.Process().cpu_affinity()
 num_cpus = len(available_cpus)