From 33d4064b7c3bfa6d001b397b3e563fd7f47792ac Mon Sep 17 00:00:00 2001 From: Daniel Narvaez Date: Wed, 09 Jan 2013 19:32:15 +0000 Subject: Wait until the tree is populated --- diff --git a/tests/sugar/shell.py b/tests/sugar/shell.py index 33917a9..b6180a6 100644 --- a/tests/sugar/shell.py +++ b/tests/sugar/shell.py @@ -88,5 +88,5 @@ try: main() except: logging.error(traceback.format_exc()) - logging.error("\n%s" % tree.get_root().dump()) + logging.error("\n%s" % tree.get_root(wait=False).dump()) raise diff --git a/tests/sugar/tree.py b/tests/sugar/tree.py index 1a58277..6607371 100644 --- a/tests/sugar/tree.py +++ b/tests/sugar/tree.py @@ -7,8 +7,22 @@ from gi.repository import GLib Atspi.set_timeout(-1, -1) -def get_root(): - return Node(Atspi.get_desktop(0)) +def get_root(wait=True): + desktop = Node(Atspi.get_desktop(0)) + + if not wait: + return desktop + + n_tries = 0 + while n_tries < 50: + if desktop.get_children(): + return desktop + + n_tries = n_tries + 1 + logging.info("Waiting for a valid accessibility tree %d" % n_tries) + time.sleep(1) + + return None def _retry_find(func): -- cgit v0.9.1