sanitytest: remove rpm/zypper tests if PACKAGE_CLASSES does not set package_rpm

If PACKAGE_CLASSES does not set package_rpm as the first item, the root filesystem
will not be generated based on rpm. We need remove rpm/zypper tests against
non-rpm filesystem.

[YOCTO #1757]

(From OE-Core rev: 43adb8dcf4461b68a7ce0ba9d8acdb2012a70416)

(From OE-Core rev: f541517be97e27951157e1dd10256e132c31ab1f)

Signed-off-by: Jiajun Xu <jiajun.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Jiajun Xu 2011-11-17 14:05:50 +08:00 committed by Richard Purdie
parent bcec98bf1c
commit 7705d9a8cc
1 changed files with 24 additions and 1 deletions

View File

@ -80,9 +80,31 @@ def qemuimagetest_main(d):
bb.note("Run %s test in scenario %s" % (case, scen))
os.system("%s" % fulltestpath)
"""function to check testcase list and remove inappropriate cases"""
def check_list(list):
final_list = []
for test in list:
(scen, case, fullpath) = test
"""Skip rpm/zypper if package_rpm not set for PACKAGE_CLASSES"""
if case.find("zypper") != -1 or case.find("rpm") != -1:
if d.getVar("PACKAGE_CLASSES", True).find("rpm", 0, 11) == -1:
bb.note("skip rpm/zypper cases since package_rpm not set in PACKAGE_CLASSES")
continue
else:
final_list.append((scen, case, fullpath))
else:
final_list.append((scen, case, fullpath))
if not final_list:
raise bb.build.FuncFailed("There is no suitable testcase for this target")
return final_list
"""Generate testcase list in runtime"""
def generate_list(testlist):
list = []
final_list = []
if len(testlist) == 0:
raise bb.build.FuncFailed("No testcase defined in TEST_SCEN")
@ -114,7 +136,8 @@ def qemuimagetest_main(d):
if not os.path.isfile(fulltestcase):
raise bb.build.FuncFailed("Testcase %s not found" % fulltestcase)
list.append((item, casefile, fulltestcase))
return list
final_list = check_list(list)
return final_list
"""Clean tmp folder for testing"""
def clean_tmp():