|
|
@ -40,8 +40,8 @@ def deleteIfExists(inFile):
|
|
|
|
# log.warning("Exception in cleaning up %s" % inFile)
|
|
|
|
# log.warning("Exception in cleaning up %s" % inFile)
|
|
|
|
# time.sleep(3)
|
|
|
|
# time.sleep(3)
|
|
|
|
|
|
|
|
|
|
|
|
def cleanUp():
|
|
|
|
def cleanUp(msg = None):
|
|
|
|
log.info("clean up ...")
|
|
|
|
log.info("cleanUp(%s) ..." % msg)
|
|
|
|
shutil.rmtree("build/unzip_boot", ignore_errors = True)
|
|
|
|
shutil.rmtree("build/unzip_boot", ignore_errors = True)
|
|
|
|
[deleteIfExists(item) for item in [
|
|
|
|
[deleteIfExists(item) for item in [
|
|
|
|
"boot.img", "boot.img.clear", "boot.img.google", "boot.img.signed", "boot.img.signed2",
|
|
|
|
"boot.img", "boot.img.clear", "boot.img.google", "boot.img.signed", "boot.img.signed2",
|
|
|
@ -56,7 +56,7 @@ def cleanUp():
|
|
|
|
"vendor_boot-debug.img", "vendor_boot-debug.img.clear", "vendor_boot-debug.img.google" ]]
|
|
|
|
"vendor_boot-debug.img", "vendor_boot-debug.img.clear", "vendor_boot-debug.img.google" ]]
|
|
|
|
|
|
|
|
|
|
|
|
def verifySingleJson(jsonFile, func = None):
|
|
|
|
def verifySingleJson(jsonFile, func = None):
|
|
|
|
log.info("executing %s ..." % jsonFile)
|
|
|
|
log.info("verifySingleJson(%s)..." % jsonFile)
|
|
|
|
imgDir = os.path.dirname(jsonFile)
|
|
|
|
imgDir = os.path.dirname(jsonFile)
|
|
|
|
verifyItems = json.load(open(jsonFile))
|
|
|
|
verifyItems = json.load(open(jsonFile))
|
|
|
|
for k, v in verifyItems["copy"].items():
|
|
|
|
for k, v in verifyItems["copy"].items():
|
|
|
@ -73,16 +73,21 @@ def verifySingleJson(jsonFile, func = None):
|
|
|
|
gradleWrapper = "gradlew.bat"
|
|
|
|
gradleWrapper = "gradlew.bat"
|
|
|
|
else:
|
|
|
|
else:
|
|
|
|
gradleWrapper = "./gradlew"
|
|
|
|
gradleWrapper = "./gradlew"
|
|
|
|
|
|
|
|
log.info("verifySingleJson::unpack")
|
|
|
|
subprocess.check_call(gradleWrapper + " unpack", shell = True)
|
|
|
|
subprocess.check_call(gradleWrapper + " unpack", shell = True)
|
|
|
|
if func:
|
|
|
|
if func:
|
|
|
|
|
|
|
|
log.info("verifySingleJson::func")
|
|
|
|
func()
|
|
|
|
func()
|
|
|
|
|
|
|
|
log.info("verifySingleJson::pack")
|
|
|
|
subprocess.check_call(gradleWrapper + " pack", shell = True)
|
|
|
|
subprocess.check_call(gradleWrapper + " pack", shell = True)
|
|
|
|
|
|
|
|
log.info("verifySingleJson::pack done")
|
|
|
|
for k, v in verifyItems["hash"].items():
|
|
|
|
for k, v in verifyItems["hash"].items():
|
|
|
|
log.info("%s : %s" % (k, v))
|
|
|
|
log.info("%s : %s" % (k, v))
|
|
|
|
unittest.TestCase().assertIn(hashFile(k), v.split())
|
|
|
|
unittest.TestCase().assertIn(hashFile(k), v.split())
|
|
|
|
try:
|
|
|
|
try:
|
|
|
|
subprocess.check_call(gradleWrapper + " clear", shell = True)
|
|
|
|
subprocess.check_call(gradleWrapper + " clear", shell = True)
|
|
|
|
except Exception as e:
|
|
|
|
except Exception as e:
|
|
|
|
|
|
|
|
log.info("verifySingleJson: clear failed, ignore")
|
|
|
|
pass
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
|
|
def verifySingleDir(inResourceDir, inImageDir):
|
|
|
|
def verifySingleDir(inResourceDir, inImageDir):
|
|
|
@ -91,19 +96,19 @@ def verifySingleDir(inResourceDir, inImageDir):
|
|
|
|
log.info("Enter %s ..." % os.path.join(resDir, imgDir))
|
|
|
|
log.info("Enter %s ..." % os.path.join(resDir, imgDir))
|
|
|
|
jsonFiles = glob.glob(os.path.join(resDir, imgDir) + "/*.json")
|
|
|
|
jsonFiles = glob.glob(os.path.join(resDir, imgDir) + "/*.json")
|
|
|
|
for jsonFile in jsonFiles:
|
|
|
|
for jsonFile in jsonFiles:
|
|
|
|
cleanUp()
|
|
|
|
cleanUp("json_start")
|
|
|
|
verifySingleJson(jsonFile)
|
|
|
|
verifySingleJson(jsonFile)
|
|
|
|
cleanUp()
|
|
|
|
cleanUp("json_end")
|
|
|
|
pyFiles = glob.glob(os.path.join(resDir, imgDir) + "/*.py")
|
|
|
|
pyFiles = glob.glob(os.path.join(resDir, imgDir) + "/*.py")
|
|
|
|
for pyFile in pyFiles:
|
|
|
|
for pyFile in pyFiles:
|
|
|
|
cleanUp()
|
|
|
|
cleanUp("py_start")
|
|
|
|
log.warning("calling %s" % pyFile)
|
|
|
|
log.warning("calling %s" % pyFile)
|
|
|
|
if sys.platform == "win32":
|
|
|
|
if sys.platform == "win32":
|
|
|
|
theCmd = "python " + pyFile
|
|
|
|
theCmd = "python " + pyFile
|
|
|
|
else:
|
|
|
|
else:
|
|
|
|
theCmd = pyFile
|
|
|
|
theCmd = pyFile
|
|
|
|
subprocess.check_call(theCmd, shell = True)
|
|
|
|
subprocess.check_call(theCmd, shell = True)
|
|
|
|
cleanUp()
|
|
|
|
cleanUp("py_end")
|
|
|
|
log.info("Leave %s" % os.path.join(resDir, imgDir))
|
|
|
|
log.info("Leave %s" % os.path.join(resDir, imgDir))
|
|
|
|
|
|
|
|
|
|
|
|
def decompressXZ(inFile, outFile):
|
|
|
|
def decompressXZ(inFile, outFile):
|
|
|
|