import hashlib import importlib.util import json from pathlib import Path import struct import stat import tempfile import unittest from unittest import mock import zipfile spec = importlib.util.spec_from_file_location( 'prepare_a850_driver_bundle', Path(__file__).resolve().parents[1] / 'prepare_a850_driver_bundle.py') prepare = importlib.util.module_from_spec(spec) spec.loader.exec_module(prepare) class A850BundleTest(unittest.TestCase): def setUp(self): self.temp = tempfile.TemporaryDirectory() self.addCleanup(self.temp.cleanup) self.root = Path(self.temp.name) self.android = self.root / 'android.zip' self.linux = self.root / 'linux.zip' self.output = self.root / 'bundle.zip' self.android_files = self.files('android') self.linux_files = self.files('linux') self.write(self.android, self.android_files) self.write(self.linux, self.linux_files) def files(self, platform): elf = bytearray(64) elf[:6] = b'\x7fELF\x02\x01' struct.pack_into('