diff options
Diffstat (limited to 'meta/classes/imagetest-qemu.bbclass')
-rw-r--r-- | meta/classes/imagetest-qemu.bbclass | 33 |
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" | |||
5 | TEST_RESULT ?= "${TEST_DIR}/result" | 5 | TEST_RESULT ?= "${TEST_DIR}/result" |
6 | TEST_TMP ?= "${TEST_DIR}/tmp" | 6 | TEST_TMP ?= "${TEST_DIR}/tmp" |
7 | TEST_SCEN ?= "sanity" | 7 | TEST_SCEN ?= "sanity" |
8 | SHARE_IMAGE ?= "1" | 8 | TEST_STATUS ?= "${TEST_TMP}/status" |
9 | TARGET_IPSAVE ?= "${TEST_TMP}/target_ip" | ||
10 | TEST_SERIALIZE ?= "1" | ||
9 | 11 | ||
10 | python do_qemuimagetest() { | 12 | python 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 |