blob: e4285160a00283f7041aee2124fa6413c67fb185 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
import os
from dogtail import tree
import time
from dogtail.tree import predicate
import getpass
from base import Base
from finish import Finish
from buildDir import BuildDir
currentPath = os.getcwd()
username = getpass.getuser()
#os.chdir('/home/' + username + '/work/m5-rc4/poky/build/conf/')
os.chdir(BuildDir().getPath()+'/poky/build/conf/')
print "Changed location to: "+BuildDir().getPath()+'/poky/build/conf/'
conf = open('local.conf', 'a')
conf.write("\n" +"LICENSE_FLAGS_WHITELIST = \"license_emgd-driver-bin\"")
conf.close()
os.chdir(currentPath)
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 EmgdDriver(Base):
def testFinish(self):
final = None
try:
final = hob.child("Build new image")
print "Image is ready"
if final is not None:
print final
return 10
except:
return 25
else:
try:
final = hob.child("File a bug")
if final is not None:
return 20
except:
return 25
else:
try:
final = hob.child("Step 2 of 2: Edit packages")
if final is not None:
return 20
except:
print "Image ready not detected"
return 25
def selectLayer(self):
layers = bitbake.dialog("Layers")
layers.child("Add layer").click()
newLayer = bitbake.dialog('Add new layer')
#newLayer.child(username).click()
newLayer.child('work').doubleClick()
return newLayer
def emgd(self):
iters = 0
while iters < 100:
try:
dialog = hob.child(name = 'Layers\nAdd support for machines, software, etc.', roleName='push button')
dialog.click()
break
except:
iters += 1
if iters == 100:
self.writeInFile("emgd_driver: can not add layer")
return 10
newLayer = self.selectLayer()
try:
newLayer.child('meta-intel').click()
newLayer.child('Open').click()
except:
self.writeInFile("emgd_driver: can not add layer")
newLayer = self.selectLayer()
layers = bitbake.dialog("Layers")
try:
newLayer.child('meta-intel').doubleClick()
newLayer.child('meta-emenlow').click()
newLayer.child('Open').click()
layers.child('OK').click()
except:
self.writeInFile("emgd_driver: can not add layer")
return 10
time.sleep(10)
self.selectMachine('emenlow')
time.sleep(120)
self.selectImage('core-image-sato')
try:
hob.child('Build image').click()
except:
self.writeInFile("emgd driver: can not find build image button")
return 10
time.sleep(180)
#t=TestFinish()
#finish = t.analyse()
finish = Finish().waitFinish()
#finish = self.testFinish()
time.sleep(240)
if finish == 20:
self.writeInFile("emgd driver: failed")
else:
self.writeInFile("emgd driver: passed")
time.sleep(120)
finish=1
try:
bnw = hob.child('Build new image')
bnw.click()
except SearchError:
self.writeInFile("emgd driver: can not find build new image button")
scriptname=os.path.basename(__file__)
print "Ending "+scriptname
return 10
|