aboutsummaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa/hob-dogtail/buildStopBuild.py
diff options
context:
space:
mode:
Diffstat (limited to 'meta/lib/oeqa/hob-dogtail/buildStopBuild.py')
-rwxr-xr-xmeta/lib/oeqa/hob-dogtail/buildStopBuild.py113
1 files changed, 113 insertions, 0 deletions
diff --git a/meta/lib/oeqa/hob-dogtail/buildStopBuild.py b/meta/lib/oeqa/hob-dogtail/buildStopBuild.py
new file mode 100755
index 00000000000..11aadc0bc0b
--- /dev/null
+++ b/meta/lib/oeqa/hob-dogtail/buildStopBuild.py
@@ -0,0 +1,113 @@
+import os
+from dogtail import tree
+from dogtail.utils import run
+import time
+from finishBuild import TestFinish
+from dogtail.tree import predicate
+from base import Base
+from finish import Finish
+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 BuildStop(Base):
+
+ def testFinish(self):
+ try:
+ finish = hob.child("Build new image")
+ print "Image is ready"
+ return 10
+ except:
+ return 25
+ else:
+ try:
+ finish = hob.child("File a bug")
+ return 20
+ except:
+ return 25
+ else:
+ try:
+ finish = hob.child("Step 2 of 2: Edit packages")
+ return 20
+ except:
+ print "Image ready not detected"
+ return 20
+
+
+ def buildStopBuild(self):
+ self.selectMachine('qemux86')
+ time.sleep(140)
+ self.selectImage('core-image-minimal')
+
+ try:
+ hob.child('Build image').click()
+ except:
+ self.writeInFile("build_stop_build: can not find build image button")
+ return 10
+
+ time.sleep(120)
+ stop = hob.child('Stop')
+ stop.click()
+
+ iters = 0
+ while iters < 10:
+ try:
+ stopDialog=bitbake.child('Warning')
+ except:
+ stop = hob.child('Stop')
+ stop.click()
+ iters += 1
+ else:
+ break
+ if iters == 10:
+ self.writeInFile("build_stop_build: can not find stop dialog")
+ return 10
+
+ try:
+ stopDialog.child('Force stop').click()
+ except:
+ self.writeInFile("build_stop_build: can not find force stop button")
+ return 10
+
+ time.sleep(10)
+
+ try:
+ bnw = hob.child('Build new image')
+ bnw.click()
+ except:
+ self.writeInFile("stop build during image building: can not find build new image button")
+ else:
+ self.writeInFile("stop build during image building: passed first build")
+ self.selectMachine('qemumips')
+ self.selectImage('core-image-minimal')
+ try:
+ hob.child('Build image').click()
+ except:
+ self.writeInFile("build_stop_build: can not find build image button")
+ return 10
+
+ #t=TestFinish()
+ #finish = t.analyse()
+
+ Finish().waitFinish()
+ finish = self.testFinish()
+
+
+ if finish == 20:
+ self.writeInFile("stop build during image building: failed build")
+ else:
+ time.sleep(30)
+ self.writeInFile("stop build during image building: passed second build")
+ try:
+ bnw = hob.child('Build new image')
+ bnw.click()
+ except:
+ self.writeInFile("build_stop_build: can not find build image button")
+ return 10
+ return 10