ttfw_idf: IDFApp: add method to get SHA256(elf file)

This commit is contained in:
Ivan Grokhotkov 2019-12-20 01:19:27 +01:00
parent 26f6136a7d
commit 952830ab12

View file

@ -14,7 +14,7 @@
""" IDF Test Applications """
import subprocess
import hashlib
import json
import os
import sys
@ -151,6 +151,7 @@ class IDFApp(App.BaseApp):
self.idf_path = self.get_sdk_path()
self.binary_path = self.get_binary_path(app_path, config_name, target)
self.elf_file = self._get_elf_file_path(self.binary_path)
self._elf_file_sha256 = None
assert os.path.exists(self.binary_path)
if self.IDF_DOWNLOAD_CONFIG_FILE not in os.listdir(self.binary_path):
if self.IDF_FLASH_ARGS_FILE not in os.listdir(self.binary_path):
@ -319,6 +320,16 @@ class IDFApp(App.BaseApp):
return partition_table
def get_elf_sha256(self):
if self._elf_file_sha256:
return self._elf_file_sha256
sha256 = hashlib.sha256()
with open(self.elf_file, 'rb') as f:
sha256.update(f.read())
self._elf_file_sha256 = sha256.hexdigest()
return self._elf_file_sha256
class Example(IDFApp):
def _get_sdkconfig_paths(self):