aboutsummaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa/hob-dogtail/finishBuild.py
diff options
context:
space:
mode:
Diffstat (limited to 'meta/lib/oeqa/hob-dogtail/finishBuild.py')
-rwxr-xr-xmeta/lib/oeqa/hob-dogtail/finishBuild.py71
1 files changed, 71 insertions, 0 deletions
diff --git a/meta/lib/oeqa/hob-dogtail/finishBuild.py b/meta/lib/oeqa/hob-dogtail/finishBuild.py
new file mode 100755
index 00000000000..b86e2a0c8db
--- /dev/null
+++ b/meta/lib/oeqa/hob-dogtail/finishBuild.py
@@ -0,0 +1,71 @@
+import os
+from dogtail import tree
+import time
+from stopHob import StopHob
+from startHob import StartHob
+
+try:
+ bitbake = tree.root.application('bitbake')
+except:
+ print "can not connect to the application"
+else:
+ try:
+ hob = bitbake.child( roleName='frame' )
+ except:
+ print "can not connect to the application"
+
+class TestFinish:
+
+ def writeInFile(self, error_name):
+ f = open('hobResults', 'a')
+ f.write('\n' + error_name)
+ f.close()
+
+ def analyse(self):
+ iters = 0
+ while iters < 25:
+ iters += 1
+ try:
+ #finish = hob.child(name = "Your image is ready", roleName = "label")
+ finish = hob.child("Build new image")
+ except:
+ try:
+ hob.child('File a bug')
+ self.writeInFile("finish_build: found a bug")
+ except:
+ try:
+ hob.child('Step 2 of 2: Edit packages')
+ except:
+ pass
+ else:
+ return 10
+ else:
+ return 20
+
+ try:
+ win = bitbake.findChildren(predicate.GenericPredicate(roleName="dialog"))
+ self.writeInFile("finish_build: found the dialog")
+ except:
+ pass
+ else:
+ if len(win)>0:
+ dialog=win[0]
+ try:
+ dialog.child('Close').click()
+ except:
+ pass
+ return 20
+ else:
+ return 10
+
+ if iters == 25:
+ stopH=StopHob()
+ stopH.stop()
+ self.writeInFile("finish_build: stop hob")
+
+ time.sleep(40)
+
+ startH=StartHob()
+ startH.start()
+ self.writeInFile("finish_build: start hob")
+ return 20