summaryrefslogtreecommitdiffstats
path: root/meta/classes/imagetest-qemu.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'meta/classes/imagetest-qemu.bbclass')
-rw-r--r--meta/classes/imagetest-qemu.bbclass33
1 files changed, 28 insertions, 5 deletions
diff --git a/meta/classes/imagetest-qemu.bbclass b/meta/classes/imagetest-qemu.bbclass
index 28bb218272..8301df8452 100644
--- a/meta/classes/imagetest-qemu.bbclass
+++ b/meta/classes/imagetest-qemu.bbclass
@@ -5,7 +5,9 @@ TEST_LOG ?= "${LOG_DIR}/qemuimagetests"
5TEST_RESULT ?= "${TEST_DIR}/result" 5TEST_RESULT ?= "${TEST_DIR}/result"
6TEST_TMP ?= "${TEST_DIR}/tmp" 6TEST_TMP ?= "${TEST_DIR}/tmp"
7TEST_SCEN ?= "sanity" 7TEST_SCEN ?= "sanity"
8SHARE_IMAGE ?= "1" 8TEST_STATUS ?= "${TEST_TMP}/status"
9TARGET_IPSAVE ?= "${TEST_TMP}/target_ip"
10TEST_SERIALIZE ?= "1"
9 11
10python do_qemuimagetest() { 12python do_qemuimagetest() {
11 qemuimagetest_main(d) 13 qemuimagetest_main(d)
@@ -35,6 +37,17 @@ def qemuimagetest_main(d):
35 machine = bb.data.getVar('MACHINE', d, 1) 37 machine = bb.data.getVar('MACHINE', d, 1)
36 pname = bb.data.getVar('PN', d, 1) 38 pname = bb.data.getVar('PN', d, 1)
37 39
40 """function to save test cases running status"""
41 def teststatus(test, status, index, length):
42 test_status = bb.data.getVar('TEST_STATUS', d, 1)
43 if not os.path.exists(test_status):
44 raise bb.build.FuncFailed("No test status file existing under TEST_TMP")
45
46 f = open(test_status, "w")
47 f.write("\t%-15s%-15s%-15s%-15s\n" % ("Case", "Status", "Number", "Total"))
48 f.write("\t%-15s%-15s%-15s%-15s\n" % (case, status, index, length))
49 f.close()
50
38 """funtion to run each case under scenario""" 51 """funtion to run each case under scenario"""
39 def runtest(scen, case, fulltestpath): 52 def runtest(scen, case, fulltestpath):
40 resultpath = bb.data.getVar('TEST_RESULT', d, 1) 53 resultpath = bb.data.getVar('TEST_RESULT', d, 1)
@@ -56,11 +69,13 @@ def qemuimagetest_main(d):
56 os.environ["DISPLAY"] = bb.data.getVar("DISPLAY", d, True) 69 os.environ["DISPLAY"] = bb.data.getVar("DISPLAY", d, True)
57 os.environ["POKYBASE"] = bb.data.getVar("POKYBASE", d, True) 70 os.environ["POKYBASE"] = bb.data.getVar("POKYBASE", d, True)
58 os.environ["TOPDIR"] = bb.data.getVar("TOPDIR", d, True) 71 os.environ["TOPDIR"] = bb.data.getVar("TOPDIR", d, True)
59 os.environ["SHARE_IMAGE"] = bb.data.getVar("SHARE_IMAGE", d, True) 72 os.environ["TEST_STATUS"] = bb.data.getVar("TEST_STATUS", d, True)
73 os.environ["TARGET_IPSAVE"] = bb.data.getVar("TARGET_IPSAVE", d, True)
74 os.environ["TEST_SERIALIZE"] = bb.data.getVar("TEST_SERIALIZE", d, True)
60 75
61 """run Test Case""" 76 """run Test Case"""
62 bb.note("Run %s test in scenario %s" % (case, scen)) 77 bb.note("Run %s test in scenario %s" % (case, scen))
63 os.system("%s | tee -a %s" % (fulltestpath, caselog)) 78 os.system("%s" % fulltestpath)
64 79
65 """Generate testcase list in runtime""" 80 """Generate testcase list in runtime"""
66 def generate_list(testlist): 81 def generate_list(testlist):
@@ -119,7 +134,13 @@ def qemuimagetest_main(d):
119 134
120 tmppath = bb.data.getVar('TEST_TMP', d, 1) 135 tmppath = bb.data.getVar('TEST_TMP', d, 1)
121 bb.utils.mkdirhier(tmppath) 136 bb.utils.mkdirhier(tmppath)
122 137
138 """initialize test status file"""
139 test_status = bb.data.getVar('TEST_STATUS', d, 1)
140 if os.path.exists(test_status):
141 os.remove(test_status)
142 os.system("touch %s" % test_status)
143
123 """initialize result file""" 144 """initialize result file"""
124 resultpath = bb.data.getVar('TEST_RESULT', d, 1) 145 resultpath = bb.data.getVar('TEST_RESULT', d, 1)
125 bb.utils.mkdirhier(resultpath) 146 bb.utils.mkdirhier(resultpath)
@@ -142,9 +163,11 @@ def qemuimagetest_main(d):
142 fulllist = generate_list(testlist) 163 fulllist = generate_list(testlist)
143 164
144 """Begin testing""" 165 """Begin testing"""
145 for test in fulllist: 166 for index,test in enumerate(fulllist):
146 (scen, case, fullpath) = test 167 (scen, case, fullpath) = test
168 teststatus(case, "running", index, (len(fulllist) - 1))
147 runtest(scen, case, fullpath) 169 runtest(scen, case, fullpath)
170 teststatus(case, "finished", index, (len(fulllist) - 1))
148 171
149 """Print Test Result""" 172 """Print Test Result"""
150 ret = 0 173 ret = 0