diff options
| author | Christian Hopps <chopps@labn.net> | 2023-05-27 12:11:48 -0400 | 
|---|---|---|
| committer | Christian Hopps <chopps@labn.net> | 2023-06-05 12:42:57 -0400 | 
| commit | 9c57c2900acec842e3eb9ea0f509a87f640944eb (patch) | |
| tree | 183dc89e75d8c6c4465d321d88eb83a2ea463511 /tests/topotests/lib/topogen.py | |
| parent | 4285bdadcc0616079baf67963680ddc0a52c2c06 (diff) | |
tests: fix some broken logging
- make sure we close and remove all handlers for named logs on each reuse.
- test module level exec.log no longer truncated to last test case output
- cleanup the log names, and make sure they are present in all exec logs
- keep separate exec logs for each pytest worker when running in distributed mode
- disabled code due to CI infra can't handle it: add per test case exec logs
Signed-off-by: Christian Hopps <chopps@labn.net>
Diffstat (limited to 'tests/topotests/lib/topogen.py')
| -rw-r--r-- | tests/topotests/lib/topogen.py | 13 | 
1 files changed, 9 insertions, 4 deletions
diff --git a/tests/topotests/lib/topogen.py b/tests/topotests/lib/topogen.py index 0e685a97b0..6ddd223e25 100644 --- a/tests/topotests/lib/topogen.py +++ b/tests/topotests/lib/topogen.py @@ -84,7 +84,7 @@ def get_exabgp_cmd(commander=None):      """Return the command to use for ExaBGP version < 4."""      if commander is None: -        commander = Commander("topogen") +        commander = Commander("exabgp", logger=logging.getLogger("exabgp"))      def exacmd_version_ok(exacmd):          logger.debug("checking %s for exabgp < version 4", exacmd) @@ -107,7 +107,7 @@ def get_exabgp_cmd(commander=None):          exacmd = py2_path + " -m exabgp"          if exacmd_version_ok(exacmd):              return exacmd -    py2_path = commander.get_exec_path("python") +        py2_path = commander.get_exec_path("python")      if py2_path:          exacmd = py2_path + " -m exabgp"          if exacmd_version_ok(exacmd): @@ -209,7 +209,11 @@ class Topogen(object):          # Mininet(Micronet) to build the actual topology.          assert not inspect.isclass(topodef) -        self.net = Mininet(rundir=self.logdir, pytestconfig=topotest.g_pytest_config) +        self.net = Mininet( +            rundir=self.logdir, +            pytestconfig=topotest.g_pytest_config, +            logger=topolog.get_logger("mu", log_level="debug"), +        )          # Adjust the parent namespace          topotest.fix_netns_limits(self.net) @@ -1090,8 +1094,9 @@ class TopoSwitch(TopoGear):      # pylint: disable=too-few-public-methods      def __init__(self, tgen, name, **params): +        logger = topolog.get_logger(name, log_level="debug")          super(TopoSwitch, self).__init__(tgen, name, **params) -        tgen.net.add_switch(name) +        tgen.net.add_switch(name, logger=logger)      def __str__(self):          gear = super(TopoSwitch, self).__str__()  | 
