aboutsummaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa/hob-dogtail/appstartup.py
diff options
context:
space:
mode:
Diffstat (limited to 'meta/lib/oeqa/hob-dogtail/appstartup.py')
-rwxr-xr-xmeta/lib/oeqa/hob-dogtail/appstartup.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/meta/lib/oeqa/hob-dogtail/appstartup.py b/meta/lib/oeqa/hob-dogtail/appstartup.py
new file mode 100755
index 00000000000..f2785881aea
--- /dev/null
+++ b/meta/lib/oeqa/hob-dogtail/appstartup.py
@@ -0,0 +1,26 @@
+#!/usr/bin/python
+
+import os
+import signal
+import sys
+
+from dogtail.config import config
+config.logDebugToFile = False
+from dogtail.procedural import *
+from dogtail.tc import TCNode, TCBool
+tcn = TCNode()
+
+def appStartup(binary, roleName = "menu item"):
+ """Launches the given binary, then checks to see that the application
+ started correctly by looking for a Node with the given roleName."""
+
+ pid = run(binary)
+ tcn.compare("app exists", None, focus.application.node)
+ focus.widget.node = focus.app.node.child(roleName=roleName)
+ tcn.compare("app has a %s" % roleName, None, focus.widget.node)
+ os.kill(pid, signal.SIGTERM)
+
+if __name__ == "__main__":
+ binary = sys.argv[1]
+ appStartup(binary)
+