diff options
-rw-r--r-- | test/Makefile | 3 | ||||
-rw-r--r-- | test/framework.py | 17 |
2 files changed, 14 insertions, 6 deletions
diff --git a/test/Makefile b/test/Makefile index 25c8e0a82a0..52980b9e8b9 100644 --- a/test/Makefile +++ b/test/Makefile @@ -147,6 +147,9 @@ help: @echo " TEST='*.*.test_add_bfd' selects all test functions named test_add_bfd from all files/classes" @echo "" @echo " VPP_ZOMBIE_NOCHECK=1 - skip checking for vpp (zombie) processes (CAUTION)" + @echo " COREDUMP_SIZE=<size> - pass <size> as unix { coredump-size <size> } argument to vpp" + @echo " e.g. COREDUMP_SIZE=4g" + @echo " COREDUMP_SIZE=unlimited" @echo "" @echo "Creating test documentation" @echo " test-doc - generate documentation for test framework" diff --git a/test/framework.py b/test/framework.py index 3bbd37d5d59..b9a09de277e 100644 --- a/test/framework.py +++ b/test/framework.py @@ -110,10 +110,6 @@ class VppTestCase(unittest.TestCase): return dl = d.lower() if dl == "core": - if resource.getrlimit(resource.RLIMIT_CORE)[0] <= 0: - # give a heads up if this is actually useless - print(colorize("WARNING: core size limit is set 0, core files " - "will NOT be created", RED)) cls.debug_core = True elif dl == "gdb": cls.debug_gdb = True @@ -140,8 +136,17 @@ class VppTestCase(unittest.TestCase): debug_cli = "" if cls.step or cls.debug_gdb or cls.debug_gdbserver: debug_cli = "cli-listen localhost:5002" - cls.vpp_cmdline = [cls.vpp_bin, - "unix", "{", "nodaemon", debug_cli, "}", + coredump_size = None + try: + size = os.getenv("COREDUMP_SIZE") + if size is not None: + coredump_size = "coredump-size %s" % size + except: + pass + if coredump_size is None: + coredump_size = "coredump-size unlimited" + cls.vpp_cmdline = [cls.vpp_bin, "unix", + "{", "nodaemon", debug_cli, coredump_size, "}", "api-trace", "{", "on", "}", "api-segment", "{", "prefix", cls.shm_prefix, "}"] if cls.plugin_path is not None: |