diff options
Diffstat (limited to 'meta')
-rw-r--r-- | meta/classes/imagetest-qemu.bbclass | 33 | ||||
-rw-r--r-- | meta/conf/local.conf.sample | 10 |
2 files changed, 33 insertions, 10 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" TEST_RESULT ?= "${TEST_DIR}/result" TEST_TMP ?= "${TEST_DIR}/tmp" TEST_SCEN ?= "sanity" -SHARE_IMAGE ?= "1" +TEST_STATUS ?= "${TEST_TMP}/status" +TARGET_IPSAVE ?= "${TEST_TMP}/target_ip" +TEST_SERIALIZE ?= "1" python do_qemuimagetest() { qemuimagetest_main(d) @@ -35,6 +37,17 @@ def qemuimagetest_main(d): machine = bb.data.getVar('MACHINE', d, 1) pname = bb.data.getVar('PN', d, 1) + """function to save test cases running status""" + def teststatus(test, status, index, length): + test_status = bb.data.getVar('TEST_STATUS', d, 1) + if not os.path.exists(test_status): + raise bb.build.FuncFailed("No test status file existing under TEST_TMP") + + f = open(test_status, "w") + f.write("\t%-15s%-15s%-15s%-15s\n" % ("Case", "Status", "Number", "Total")) + f.write("\t%-15s%-15s%-15s%-15s\n" % (case, status, index, length)) + f.close() + """funtion to run each case under scenario""" def runtest(scen, case, fulltestpath): resultpath = bb.data.getVar('TEST_RESULT', d, 1) @@ -56,11 +69,13 @@ def qemuimagetest_main(d): os.environ["DISPLAY"] = bb.data.getVar("DISPLAY", d, True) os.environ["POKYBASE"] = bb.data.getVar("POKYBASE", d, True) os.environ["TOPDIR"] = bb.data.getVar("TOPDIR", d, True) - os.environ["SHARE_IMAGE"] = bb.data.getVar("SHARE_IMAGE", d, True) + os.environ["TEST_STATUS"] = bb.data.getVar("TEST_STATUS", d, True) + os.environ["TARGET_IPSAVE"] = bb.data.getVar("TARGET_IPSAVE", d, True) + os.environ["TEST_SERIALIZE"] = bb.data.getVar("TEST_SERIALIZE", d, True) """run Test Case""" bb.note("Run %s test in scenario %s" % (case, scen)) - os.system("%s | tee -a %s" % (fulltestpath, caselog)) + os.system("%s" % fulltestpath) """Generate testcase list in runtime""" def generate_list(testlist): @@ -119,7 +134,13 @@ def qemuimagetest_main(d): tmppath = bb.data.getVar('TEST_TMP', d, 1) bb.utils.mkdirhier(tmppath) - + + """initialize test status file""" + test_status = bb.data.getVar('TEST_STATUS', d, 1) + if os.path.exists(test_status): + os.remove(test_status) + os.system("touch %s" % test_status) + """initialize result file""" resultpath = bb.data.getVar('TEST_RESULT', d, 1) bb.utils.mkdirhier(resultpath) @@ -142,9 +163,11 @@ def qemuimagetest_main(d): fulllist = generate_list(testlist) """Begin testing""" - for test in fulllist: + for index,test in enumerate(fulllist): (scen, case, fullpath) = test + teststatus(case, "running", index, (len(fulllist) - 1)) runtest(scen, case, fullpath) + teststatus(case, "finished", index, (len(fulllist) - 1)) """Print Test Result""" ret = 0 diff --git a/meta/conf/local.conf.sample b/meta/conf/local.conf.sample index cb0e54887f..4567a828ff 100644 --- a/meta/conf/local.conf.sample +++ b/meta/conf/local.conf.sample @@ -158,11 +158,11 @@ ENABLE_BINARY_LOCALE_GENERATION = "1" #Because of the QEMU booting slowness issue(see bug #646 and #618), autobuilder #may suffer a timeout issue when running sanity test. We introduce variable -#SHARE_IMAGE here to fix the issue. It is by default set to 1. Poky will copy -#latest built-out image and keep using it in sanity testing. If it is set to 0, -#latest built-out image will be copied and tested for each case, which will take -#much time. -#SHARE_IMAGE = "1" +#TEST_SERIALIZE here to reduce the time on sanity test. It is by default set +#to 1. Poky will start image and run cases in the same image without reboot +#or kill. If it is set to 0, the image will be copied and tested for each +#case, which will take much time. +#TEST_SERIALIZE = "1" # Set GLIBC_GENERATE_LOCALES to the locales you wish to generate should you not # wish to perform the time-consuming step of generating all LIBC locales. |