[Avocado-devel] avocado-vt: 'avocado list' slower than usual

Eduardo Habkost ehabkost at redhat.com
Thu Sep 22 18:34:45 UTC 2016


Hi,

I haven't been using avocado-vt for a while, but today I have
updated and git-cleanded all my git clones (autotest, avocado,
avocado-vt, tp-qemu), removed my old ~/avocado dir, re-run
vt-bootstrap, and noticed that 'avocado list' is very slow. It is
taking 29 seconds to run and list the avocado-vt test cases. I
don't remember seeing it take so long to run, before.

When I interrupt avocado, I get a backtrace that shows a very
deep call chain with recursive get_dicts() calls inside
virttest/cartesian_config.py (see below).

Is this expected? Has anybody else noticed this recently?

-- 
Eduardo

Avocado crashed:
Traceback (most recent call last):
  File "./scripts/avocado", line 83, in <module>
    sys.exit(app.run())
  File "/home/ehabkost/rh/proj/virt/avocado/avocado/avocado/core/app.py", line 82, in run
    return method(self.parser.args)
  File "/home/ehabkost/rh/proj/virt/avocado/avocado/avocado/plugins/list.py", line 170, in run
    return test_lister.list()
  File "/home/ehabkost/rh/proj/virt/avocado/avocado/avocado/plugins/list.py", line 126, in list
    self._list()
  File "/home/ehabkost/rh/proj/virt/avocado/avocado/avocado/plugins/list.py", line 120, in _list
    test_suite = self._get_test_suite(self.args.keywords)
  File "/home/ehabkost/rh/proj/virt/avocado/avocado/avocado/plugins/list.py", line 49, in _get_test_suite
    which_tests=which_tests)
  File "/home/ehabkost/rh/proj/virt/avocado/avocado/avocado/core/loader.py", line 199, in discover
    tests.extend(loader_plugin.discover(None, which_tests))
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/avocado_vt/loader.py", line 179, in discover
    for params in (_ for _ in cartesian_parser.get_dicts()):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/avocado_vt/loader.py", line 179, in <genexpr>
    for params in (_ for _ in cartesian_parser.get_dicts()):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 1939, in get_dicts
    for d in self.get_dicts_plain(node, ctx, content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 2145, in get_dicts_plain
    for d in self.get_dicts(n, ctx, new_content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 1939, in get_dicts
    for d in self.get_dicts_plain(node, ctx, content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 2145, in get_dicts_plain
    for d in self.get_dicts(n, ctx, new_content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 1939, in get_dicts
    for d in self.get_dicts_plain(node, ctx, content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 2145, in get_dicts_plain
    for d in self.get_dicts(n, ctx, new_content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 1939, in get_dicts
    for d in self.get_dicts_plain(node, ctx, content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 2145, in get_dicts_plain
    for d in self.get_dicts(n, ctx, new_content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 1939, in get_dicts
    for d in self.get_dicts_plain(node, ctx, content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 2145, in get_dicts_plain
    for d in self.get_dicts(n, ctx, new_content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 1939, in get_dicts
    for d in self.get_dicts_plain(node, ctx, content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 2145, in get_dicts_plain
    for d in self.get_dicts(n, ctx, new_content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 1939, in get_dicts
    for d in self.get_dicts_plain(node, ctx, content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 2145, in get_dicts_plain
    for d in self.get_dicts(n, ctx, new_content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 1939, in get_dicts
    for d in self.get_dicts_plain(node, ctx, content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 2145, in get_dicts_plain
    for d in self.get_dicts(n, ctx, new_content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 1939, in get_dicts
    for d in self.get_dicts_plain(node, ctx, content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 2145, in get_dicts_plain
    for d in self.get_dicts(n, ctx, new_content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 1939, in get_dicts
    for d in self.get_dicts_plain(node, ctx, content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 2145, in get_dicts_plain
    for d in self.get_dicts(n, ctx, new_content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 1939, in get_dicts
    for d in self.get_dicts_plain(node, ctx, content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 2145, in get_dicts_plain
    for d in self.get_dicts(n, ctx, new_content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 1939, in get_dicts
    for d in self.get_dicts_plain(node, ctx, content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 2145, in get_dicts_plain
    for d in self.get_dicts(n, ctx, new_content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 1939, in get_dicts
    for d in self.get_dicts_plain(node, ctx, content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 2145, in get_dicts_plain
    for d in self.get_dicts(n, ctx, new_content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 1939, in get_dicts
    for d in self.get_dicts_plain(node, ctx, content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 2145, in get_dicts_plain
    for d in self.get_dicts(n, ctx, new_content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 1939, in get_dicts
    for d in self.get_dicts_plain(node, ctx, content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 2145, in get_dicts_plain
    for d in self.get_dicts(n, ctx, new_content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 1939, in get_dicts
    for d in self.get_dicts_plain(node, ctx, content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 2145, in get_dicts_plain
    for d in self.get_dicts(n, ctx, new_content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 1939, in get_dicts
    for d in self.get_dicts_plain(node, ctx, content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 2145, in get_dicts_plain
    for d in self.get_dicts(n, ctx, new_content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 1939, in get_dicts
    for d in self.get_dicts_plain(node, ctx, content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 2145, in get_dicts_plain
    for d in self.get_dicts(n, ctx, new_content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 1939, in get_dicts
    for d in self.get_dicts_plain(node, ctx, content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 2145, in get_dicts_plain
    for d in self.get_dicts(n, ctx, new_content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 1939, in get_dicts
    for d in self.get_dicts_plain(node, ctx, content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 2145, in get_dicts_plain
    for d in self.get_dicts(n, ctx, new_content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 1939, in get_dicts
    for d in self.get_dicts_plain(node, ctx, content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 2145, in get_dicts_plain
    for d in self.get_dicts(n, ctx, new_content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 1939, in get_dicts
    for d in self.get_dicts_plain(node, ctx, content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 2145, in get_dicts_plain
    for d in self.get_dicts(n, ctx, new_content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 1939, in get_dicts
    for d in self.get_dicts_plain(node, ctx, content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 2145, in get_dicts_plain
    for d in self.get_dicts(n, ctx, new_content, shortname, dep):
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 1942, in get_dicts
    postfix_parse(d)
  File "/home/ehabkost/rh/proj/virt/avocado/avocado-vt/virttest/cartesian_config.py", line 2257, in postfix_parse
    elif key.endswith("_fixed"):
KeyboardInterrupt




More information about the Avocado-devel mailing list