diff options
author | angelosa <lordkale4@gmail.com> | 2021-02-03 21:14:10 +0100 |
---|---|---|
committer | angelosa <lordkale4@gmail.com> | 2021-02-03 21:14:10 +0100 |
commit | b8d21c8ea30d410d1a8c4796298c306837c6f55e (patch) | |
tree | aa20f28045dab6a63f9e8fe076292aaa2ff8a39e | |
parent | 23fd8717102153bc13f90658f94d8df0ed9bee3e (diff) |
Make some reorganization to assets folder, add romcmp tests
17 files changed, 245 insertions, 15 deletions
diff --git a/regtests/assets/romcmp/bin/fill00.bin b/regtests/assets/romcmp/bin/fill00.bin Binary files differnew file mode 100644 index 00000000000..593f4708db8 --- /dev/null +++ b/regtests/assets/romcmp/bin/fill00.bin diff --git a/regtests/assets/romcmp/bin/fill01.bin b/regtests/assets/romcmp/bin/fill01.bin Binary files differnew file mode 100644 index 00000000000..0b7cb3e94d8 --- /dev/null +++ b/regtests/assets/romcmp/bin/fill01.bin diff --git a/regtests/assets/romcmp/bin/fill10.bin b/regtests/assets/romcmp/bin/fill10.bin Binary files differnew file mode 100644 index 00000000000..8b5b45ff361 --- /dev/null +++ b/regtests/assets/romcmp/bin/fill10.bin diff --git a/regtests/assets/romcmp/bin/fill11.bin b/regtests/assets/romcmp/bin/fill11.bin new file mode 100644 index 00000000000..7bde8641b93 --- /dev/null +++ b/regtests/assets/romcmp/bin/fill11.bin @@ -0,0 +1 @@ +ÿÿÿÿ
\ No newline at end of file diff --git a/regtests/assets/romcmp/hash.txt b/regtests/assets/romcmp/hash.txt new file mode 100644 index 00000000000..c569edefc4e --- /dev/null +++ b/regtests/assets/romcmp/hash.txt @@ -0,0 +1,9 @@ +4 files +fill00.bin [0x4] CRC(2144df1c) SHA1(9069ca78e7450a285173431b3e52c5c25299e473) SUM(0000) + FIXED BITS (00000000) +fill01.bin [0x4] CRC(b2de047c) SHA1(c2a9054a363999348c1203115ea0eb9b07fd1e2d) SUM(01fe) + FIXED BITS (0000000011111111) +fill10.bin [0x4] CRC(6c65249f) SHA1(5caed74cc67e9f33af94aa56d7cb1badb08f1942) SUM(01fe) + FIXED BITS (1111111100000000) +fill11.bin [0x4] CRC(ffffffff) SHA1(d9be6524a5f5047db5866813acf3277892a7a30a) SUM(03fc) + FIXED BITS (11111111) diff --git a/regtests/assets/romcmp/normal.txt b/regtests/assets/romcmp/normal.txt new file mode 100644 index 00000000000..ca20e66b8da --- /dev/null +++ b/regtests/assets/romcmp/normal.txt @@ -0,0 +1,5 @@ +4 files +fill00.bin FIXED BITS (00000000) +fill01.bin FIXED BITS (0000000011111111) +fill10.bin FIXED BITS (1111111100000000) +fill11.bin FIXED BITS (11111111) diff --git a/regtests/assets/romcmp/slower.txt b/regtests/assets/romcmp/slower.txt new file mode 100644 index 00000000000..01630e01562 --- /dev/null +++ b/regtests/assets/romcmp/slower.txt @@ -0,0 +1,183 @@ +4 files +fill00.bin FIXED BITS (00000000) +fill01.bin FIXED BITS (0000000011111111) +fill10.bin FIXED BITS (1111111100000000) +fill11.bin FIXED BITS (11111111) +fill00.bin [1/2] fill01.bin [even] IDENTICAL +fill00.bin [2/2] fill01.bin [even] IDENTICAL +fill00.bin [1/4] fill01.bin [1/4] IDENTICAL +fill00.bin [1/4] fill01.bin [3/4] IDENTICAL +fill00.bin [1/4] fill01.bin [even 1/2] IDENTICAL +fill00.bin [1/4] fill01.bin [even 2/2] IDENTICAL +fill00.bin [2/4] fill01.bin [1/4] IDENTICAL +fill00.bin [2/4] fill01.bin [3/4] IDENTICAL +fill00.bin [2/4] fill01.bin [even 1/2] IDENTICAL +fill00.bin [2/4] fill01.bin [even 2/2] IDENTICAL +fill00.bin [3/4] fill01.bin [1/4] IDENTICAL +fill00.bin [3/4] fill01.bin [3/4] IDENTICAL +fill00.bin [3/4] fill01.bin [even 1/2] IDENTICAL +fill00.bin [3/4] fill01.bin [even 2/2] IDENTICAL +fill00.bin [4/4] fill01.bin [1/4] IDENTICAL +fill00.bin [4/4] fill01.bin [3/4] IDENTICAL +fill00.bin [4/4] fill01.bin [even 1/2] IDENTICAL +fill00.bin [4/4] fill01.bin [even 2/2] IDENTICAL +fill00.bin [even] fill01.bin [even] IDENTICAL +fill00.bin [odd] fill01.bin [even] IDENTICAL +fill00.bin [even 1/2] fill01.bin [1/4] IDENTICAL +fill00.bin [even 1/2] fill01.bin [3/4] IDENTICAL +fill00.bin [even 1/2] fill01.bin [even 1/2] IDENTICAL +fill00.bin [even 1/2] fill01.bin [even 2/2] IDENTICAL +fill00.bin [odd 1/2] fill01.bin [1/4] IDENTICAL +fill00.bin [odd 1/2] fill01.bin [3/4] IDENTICAL +fill00.bin [odd 1/2] fill01.bin [even 1/2] IDENTICAL +fill00.bin [odd 1/2] fill01.bin [even 2/2] IDENTICAL +fill00.bin [even 2/2] fill01.bin [1/4] IDENTICAL +fill00.bin [even 2/2] fill01.bin [3/4] IDENTICAL +fill00.bin [even 2/2] fill01.bin [even 1/2] IDENTICAL +fill00.bin [even 2/2] fill01.bin [even 2/2] IDENTICAL +fill00.bin [odd 2/2] fill01.bin [1/4] IDENTICAL +fill00.bin [odd 2/2] fill01.bin [3/4] IDENTICAL +fill00.bin [odd 2/2] fill01.bin [even 1/2] IDENTICAL +fill00.bin [odd 2/2] fill01.bin [even 2/2] IDENTICAL +fill00.bin [1/2] fill10.bin [odd] IDENTICAL +fill00.bin [2/2] fill10.bin [odd] IDENTICAL +fill00.bin [1/4] fill10.bin [2/4] IDENTICAL +fill00.bin [1/4] fill10.bin [4/4] IDENTICAL +fill00.bin [1/4] fill10.bin [odd 1/2] IDENTICAL +fill00.bin [1/4] fill10.bin [odd 2/2] IDENTICAL +fill00.bin [2/4] fill10.bin [2/4] IDENTICAL +fill00.bin [2/4] fill10.bin [4/4] IDENTICAL +fill00.bin [2/4] fill10.bin [odd 1/2] IDENTICAL +fill00.bin [2/4] fill10.bin [odd 2/2] IDENTICAL +fill00.bin [3/4] fill10.bin [2/4] IDENTICAL +fill00.bin [3/4] fill10.bin [4/4] IDENTICAL +fill00.bin [3/4] fill10.bin [odd 1/2] IDENTICAL +fill00.bin [3/4] fill10.bin [odd 2/2] IDENTICAL +fill00.bin [4/4] fill10.bin [2/4] IDENTICAL +fill00.bin [4/4] fill10.bin [4/4] IDENTICAL +fill00.bin [4/4] fill10.bin [odd 1/2] IDENTICAL +fill00.bin [4/4] fill10.bin [odd 2/2] IDENTICAL +fill00.bin [even] fill10.bin [odd] IDENTICAL +fill00.bin [odd] fill10.bin [odd] IDENTICAL +fill00.bin [even 1/2] fill10.bin [2/4] IDENTICAL +fill00.bin [even 1/2] fill10.bin [4/4] IDENTICAL +fill00.bin [even 1/2] fill10.bin [odd 1/2] IDENTICAL +fill00.bin [even 1/2] fill10.bin [odd 2/2] IDENTICAL +fill00.bin [odd 1/2] fill10.bin [2/4] IDENTICAL +fill00.bin [odd 1/2] fill10.bin [4/4] IDENTICAL +fill00.bin [odd 1/2] fill10.bin [odd 1/2] IDENTICAL +fill00.bin [odd 1/2] fill10.bin [odd 2/2] IDENTICAL +fill00.bin [even 2/2] fill10.bin [2/4] IDENTICAL +fill00.bin [even 2/2] fill10.bin [4/4] IDENTICAL +fill00.bin [even 2/2] fill10.bin [odd 1/2] IDENTICAL +fill00.bin [even 2/2] fill10.bin [odd 2/2] IDENTICAL +fill00.bin [odd 2/2] fill10.bin [2/4] IDENTICAL +fill00.bin [odd 2/2] fill10.bin [4/4] IDENTICAL +fill00.bin [odd 2/2] fill10.bin [odd 1/2] IDENTICAL +fill00.bin [odd 2/2] fill10.bin [odd 2/2] IDENTICAL +fill01.bin [1/4] fill10.bin [2/4] IDENTICAL +fill01.bin [1/4] fill10.bin [4/4] IDENTICAL +fill01.bin [1/4] fill10.bin [odd 1/2] IDENTICAL +fill01.bin [1/4] fill10.bin [odd 2/2] IDENTICAL +fill01.bin [2/4] fill10.bin [1/4] IDENTICAL +fill01.bin [2/4] fill10.bin [3/4] IDENTICAL +fill01.bin [2/4] fill10.bin [even 1/2] IDENTICAL +fill01.bin [2/4] fill10.bin [even 2/2] IDENTICAL +fill01.bin [3/4] fill10.bin [2/4] IDENTICAL +fill01.bin [3/4] fill10.bin [4/4] IDENTICAL +fill01.bin [3/4] fill10.bin [odd 1/2] IDENTICAL +fill01.bin [3/4] fill10.bin [odd 2/2] IDENTICAL +fill01.bin [4/4] fill10.bin [1/4] IDENTICAL +fill01.bin [4/4] fill10.bin [3/4] IDENTICAL +fill01.bin [4/4] fill10.bin [even 1/2] IDENTICAL +fill01.bin [4/4] fill10.bin [even 2/2] IDENTICAL +fill01.bin [even] fill10.bin [odd] IDENTICAL +fill01.bin [odd] fill10.bin [even] IDENTICAL +fill01.bin [even 1/2] fill10.bin [2/4] IDENTICAL +fill01.bin [even 1/2] fill10.bin [4/4] IDENTICAL +fill01.bin [even 1/2] fill10.bin [odd 1/2] IDENTICAL +fill01.bin [even 1/2] fill10.bin [odd 2/2] IDENTICAL +fill01.bin [odd 1/2] fill10.bin [1/4] IDENTICAL +fill01.bin [odd 1/2] fill10.bin [3/4] IDENTICAL +fill01.bin [odd 1/2] fill10.bin [even 1/2] IDENTICAL +fill01.bin [odd 1/2] fill10.bin [even 2/2] IDENTICAL +fill01.bin [even 2/2] fill10.bin [2/4] IDENTICAL +fill01.bin [even 2/2] fill10.bin [4/4] IDENTICAL +fill01.bin [even 2/2] fill10.bin [odd 1/2] IDENTICAL +fill01.bin [even 2/2] fill10.bin [odd 2/2] IDENTICAL +fill01.bin [odd 2/2] fill10.bin [1/4] IDENTICAL +fill01.bin [odd 2/2] fill10.bin [3/4] IDENTICAL +fill01.bin [odd 2/2] fill10.bin [even 1/2] IDENTICAL +fill01.bin [odd 2/2] fill10.bin [even 2/2] IDENTICAL +fill01.bin [2/4] fill11.bin [1/4] IDENTICAL +fill01.bin [2/4] fill11.bin [2/4] IDENTICAL +fill01.bin [2/4] fill11.bin [3/4] IDENTICAL +fill01.bin [2/4] fill11.bin [4/4] IDENTICAL +fill01.bin [2/4] fill11.bin [even 1/2] IDENTICAL +fill01.bin [2/4] fill11.bin [odd 1/2] IDENTICAL +fill01.bin [2/4] fill11.bin [even 2/2] IDENTICAL +fill01.bin [2/4] fill11.bin [odd 2/2] IDENTICAL +fill01.bin [4/4] fill11.bin [1/4] IDENTICAL +fill01.bin [4/4] fill11.bin [2/4] IDENTICAL +fill01.bin [4/4] fill11.bin [3/4] IDENTICAL +fill01.bin [4/4] fill11.bin [4/4] IDENTICAL +fill01.bin [4/4] fill11.bin [even 1/2] IDENTICAL +fill01.bin [4/4] fill11.bin [odd 1/2] IDENTICAL +fill01.bin [4/4] fill11.bin [even 2/2] IDENTICAL +fill01.bin [4/4] fill11.bin [odd 2/2] IDENTICAL +fill01.bin [odd] fill11.bin [1/2] IDENTICAL +fill01.bin [odd] fill11.bin [2/2] IDENTICAL +fill01.bin [odd] fill11.bin [even] IDENTICAL +fill01.bin [odd] fill11.bin [odd] IDENTICAL +fill01.bin [odd 1/2] fill11.bin [1/4] IDENTICAL +fill01.bin [odd 1/2] fill11.bin [2/4] IDENTICAL +fill01.bin [odd 1/2] fill11.bin [3/4] IDENTICAL +fill01.bin [odd 1/2] fill11.bin [4/4] IDENTICAL +fill01.bin [odd 1/2] fill11.bin [even 1/2] IDENTICAL +fill01.bin [odd 1/2] fill11.bin [odd 1/2] IDENTICAL +fill01.bin [odd 1/2] fill11.bin [even 2/2] IDENTICAL +fill01.bin [odd 1/2] fill11.bin [odd 2/2] IDENTICAL +fill01.bin [odd 2/2] fill11.bin [1/4] IDENTICAL +fill01.bin [odd 2/2] fill11.bin [2/4] IDENTICAL +fill01.bin [odd 2/2] fill11.bin [3/4] IDENTICAL +fill01.bin [odd 2/2] fill11.bin [4/4] IDENTICAL +fill01.bin [odd 2/2] fill11.bin [even 1/2] IDENTICAL +fill01.bin [odd 2/2] fill11.bin [odd 1/2] IDENTICAL +fill01.bin [odd 2/2] fill11.bin [even 2/2] IDENTICAL +fill01.bin [odd 2/2] fill11.bin [odd 2/2] IDENTICAL +fill10.bin [1/4] fill11.bin [1/4] IDENTICAL +fill10.bin [1/4] fill11.bin [2/4] IDENTICAL +fill10.bin [1/4] fill11.bin [3/4] IDENTICAL +fill10.bin [1/4] fill11.bin [4/4] IDENTICAL +fill10.bin [1/4] fill11.bin [even 1/2] IDENTICAL +fill10.bin [1/4] fill11.bin [odd 1/2] IDENTICAL +fill10.bin [1/4] fill11.bin [even 2/2] IDENTICAL +fill10.bin [1/4] fill11.bin [odd 2/2] IDENTICAL +fill10.bin [3/4] fill11.bin [1/4] IDENTICAL +fill10.bin [3/4] fill11.bin [2/4] IDENTICAL +fill10.bin [3/4] fill11.bin [3/4] IDENTICAL +fill10.bin [3/4] fill11.bin [4/4] IDENTICAL +fill10.bin [3/4] fill11.bin [even 1/2] IDENTICAL +fill10.bin [3/4] fill11.bin [odd 1/2] IDENTICAL +fill10.bin [3/4] fill11.bin [even 2/2] IDENTICAL +fill10.bin [3/4] fill11.bin [odd 2/2] IDENTICAL +fill10.bin [even] fill11.bin [1/2] IDENTICAL +fill10.bin [even] fill11.bin [2/2] IDENTICAL +fill10.bin [even] fill11.bin [even] IDENTICAL +fill10.bin [even] fill11.bin [odd] IDENTICAL +fill10.bin [even 1/2] fill11.bin [1/4] IDENTICAL +fill10.bin [even 1/2] fill11.bin [2/4] IDENTICAL +fill10.bin [even 1/2] fill11.bin [3/4] IDENTICAL +fill10.bin [even 1/2] fill11.bin [4/4] IDENTICAL +fill10.bin [even 1/2] fill11.bin [even 1/2] IDENTICAL +fill10.bin [even 1/2] fill11.bin [odd 1/2] IDENTICAL +fill10.bin [even 1/2] fill11.bin [even 2/2] IDENTICAL +fill10.bin [even 1/2] fill11.bin [odd 2/2] IDENTICAL +fill10.bin [even 2/2] fill11.bin [1/4] IDENTICAL +fill10.bin [even 2/2] fill11.bin [2/4] IDENTICAL +fill10.bin [even 2/2] fill11.bin [3/4] IDENTICAL +fill10.bin [even 2/2] fill11.bin [4/4] IDENTICAL +fill10.bin [even 2/2] fill11.bin [even 1/2] IDENTICAL +fill10.bin [even 2/2] fill11.bin [odd 1/2] IDENTICAL +fill10.bin [even 2/2] fill11.bin [even 2/2] IDENTICAL +fill10.bin [even 2/2] fill11.bin [odd 2/2] IDENTICAL diff --git a/regtests/assets/asm/h6280.asm b/regtests/assets/unidasm/asm/h6280.asm index 73c34eff41a..73c34eff41a 100644 --- a/regtests/assets/asm/h6280.asm +++ b/regtests/assets/unidasm/asm/h6280.asm diff --git a/regtests/assets/asm/m6502.asm b/regtests/assets/unidasm/asm/m6502.asm index d578baa7df1..d578baa7df1 100644 --- a/regtests/assets/asm/m6502.asm +++ b/regtests/assets/unidasm/asm/m6502.asm diff --git a/regtests/assets/asm/z80.asm b/regtests/assets/unidasm/asm/z80.asm index e57d2dedf37..e57d2dedf37 100644 --- a/regtests/assets/asm/z80.asm +++ b/regtests/assets/unidasm/asm/z80.asm diff --git a/regtests/assets/bin/h6280.bin b/regtests/assets/unidasm/bin/h6280.bin Binary files differindex 781727f523f..781727f523f 100644 --- a/regtests/assets/bin/h6280.bin +++ b/regtests/assets/unidasm/bin/h6280.bin diff --git a/regtests/assets/bin/m6502.bin b/regtests/assets/unidasm/bin/m6502.bin Binary files differindex 853a3d957d3..853a3d957d3 100644 --- a/regtests/assets/bin/m6502.bin +++ b/regtests/assets/unidasm/bin/m6502.bin diff --git a/regtests/assets/bin/z80.bin b/regtests/assets/unidasm/bin/z80.bin Binary files differindex 824587e3465..824587e3465 100644 --- a/regtests/assets/bin/z80.bin +++ b/regtests/assets/unidasm/bin/z80.bin diff --git a/regtests/tool_tester/test_tools.py b/regtests/tool_tester/test_tools.py index cdfc8e1e1f7..5ae0a1c1659 100644 --- a/regtests/tool_tester/test_tools.py +++ b/regtests/tool_tester/test_tools.py @@ -7,6 +7,7 @@ import sys from os.path import join, dirname, realpath import logging from tool_tester.pngcmp import PngCmpTests +from tool_tester.romcmp import RomCmpTests from tool_tester.unidasm import UnidasmTests if __name__ == "__main__": @@ -26,7 +27,7 @@ if __name__ == "__main__": chained_results = [] # TODO: point to $(regtests)\assets, configure if necessary assets_folder = join(dirname(dirname(realpath(__file__))), "assets") - for test_cls in [PngCmpTests, UnidasmTests]: + for test_cls in [PngCmpTests, RomCmpTests, UnidasmTests]: test_fn = test_cls(assets_folder) logging.info("Start test suite: %s", test_fn.identifier) chained_results.append(test_fn.execute_tests(test_fn.compose_tests())) diff --git a/regtests/tool_tester/tool_tester/_selfexe.py b/regtests/tool_tester/tool_tester/_selfexe.py index d80a9262100..28f9c660616 100644 --- a/regtests/tool_tester/tool_tester/_selfexe.py +++ b/regtests/tool_tester/tool_tester/_selfexe.py @@ -47,9 +47,9 @@ class SelfExeTests(ABC): """ test_result = True for test_handle, test_params in test_pool.items(): - logging.debug("Preparing %s-%s test ", self.identifier, test_handle) + __test_name = f"{self.identifier}-{test_handle}" + logging.debug("Preparing %s test ", __test_name) try: - logging.debug("Launching test %s", test_handle) __launch_fullpath = [self._exec_path] + self._subprocess_args(test_handle, test_params) logging.debug(__launch_fullpath) launch_result = subprocess.run( @@ -62,9 +62,9 @@ class SelfExeTests(ABC): text=True, shell=False ) - logging.debug("Subprocess test %s pass", test_handle) + logging.debug("Subprocess test %s pass", __test_name) self._assert_test_result(launch_result, test_handle, test_params) - logging.info("Test %s passed", test_handle) + logging.info("Test %s passed", __test_name) except (subprocess.CalledProcessError, AssertionError) as ex: logging.exception(str(ex)) test_result = False diff --git a/regtests/tool_tester/tool_tester/romcmp.py b/regtests/tool_tester/tool_tester/romcmp.py new file mode 100644 index 00000000000..97971b69d30 --- /dev/null +++ b/regtests/tool_tester/tool_tester/romcmp.py @@ -0,0 +1,31 @@ +import os +from subprocess import CompletedProcess +from dataclasses import dataclass +import logging +from tool_tester._selfexe import SelfExeTests +import difflib + +class RomCmpTests(SelfExeTests): + def __init__(self, assets_path: str): + super().__init__("romcmp", assets_path) + self._logs_folder = os.path.join(assets_path, self.identifier) + self._bin_test_folder = os.path.join(assets_path, self.identifier, "bin") + logging.debug(self._bin_test_folder) + + def _collect_tests(self): + return { + "normal": [self._bin_test_folder], + "slower": ["-d", self._bin_test_folder], + "hash": ["-h", self._bin_test_folder] + } + + def _subprocess_args(self, test_handle, test_params): + return test_params + + def _assert_test_result(self, launch_result: CompletedProcess, test_handle, test_params): + assert launch_result.returncode == 0 + # it prints a percentage to stderr + #assert launch_result.stderr == "", launch_result.stderr + with open(os.path.join(self._logs_folder,f"{test_handle}.txt"), "r", encoding="utf-8", newline="\n") as txt_h: + __expected_stdout = txt_h.read() + assert launch_result.stdout == __expected_stdout, launch_result.stdout diff --git a/regtests/tool_tester/tool_tester/unidasm.py b/regtests/tool_tester/tool_tester/unidasm.py index 2503786aa5c..432e8880f1f 100644 --- a/regtests/tool_tester/tool_tester/unidasm.py +++ b/regtests/tool_tester/tool_tester/unidasm.py @@ -9,7 +9,7 @@ import logging from tool_tester._selfexe import SelfExeTests @dataclass(frozen=True) -class UnidasmMapper: +class UnidasmFileMapper: asm_filename: str bin_filename: str @@ -22,15 +22,15 @@ class UnidasmMapper: class UnidasmTests(SelfExeTests): """Unidasm test collector - For unidasm the strategy is to point at the static folder and - derive unit tests based off what's in static directory itself. + For unidasm the strategy is to point at the asm/asm_bin folder and + derive unit tests from there. To compose a new test for a given arch: - 1. craft a new binary file and save it in static subfolder, name it <test_arch>.bin, + 1. craft a new binary file and save it in asm_bin subfolder, name it <test_arch>.bin, where <test_arch> is the name as it is displayed by running unidasm.exe with no additional params. Keep it simple & short, more sofisticated programs aren't really the scope of this (we're just testing if the arch disassembles here). - 2. run unidasm $(regtests)/static/<test_arch>.bin -arch <test_arch> > $(regtests)/static/<test_arch>.asm + 2. run unidasm $(regtests)/(asm_bin)/<test_arch>.bin -arch <test_arch> > $(regtests)/(asm)/<test_arch>.asm Note: on windows the resulting asm file newlines must be converted to LF with this (otherwise you get a diff error later on). 3. now run make tests or python $(modulepath)/test_tools.py and check if the new test gets captured. @@ -41,21 +41,21 @@ class UnidasmTests(SelfExeTests): def __init__(self, assets_path: str): super().__init__("unidasm", assets_path) - self._asm_test_folder = os.path.join(assets_path, "asm") - self._bin_test_folder = os.path.join(assets_path, "bin") + self._asm_test_folder = os.path.join(assets_path, self.identifier, "asm") + self._bin_test_folder = os.path.join(assets_path, self.identifier, "bin") logging.debug(self._asm_test_folder) logging.debug(self._bin_test_folder) def _collect_tests(self): __static_tests = zip(os.listdir(self._asm_test_folder), os.listdir(self._bin_test_folder)) return { - __asm.split(".")[0]: UnidasmMapper(asm_filename=__asm, bin_filename=__bin) for __asm, __bin in __static_tests + __asm.split(".")[0]: UnidasmFileMapper(asm_filename=__asm, bin_filename=__bin) for __asm, __bin in __static_tests } - def _subprocess_args(self, test_handle: str, test_params: UnidasmMapper): + def _subprocess_args(self, test_handle: str, test_params: UnidasmFileMapper): return [os.path.join(self._bin_test_folder, test_params.bin_filename), "-arch", test_handle] - def _assert_test_result(self, launch_result: CompletedProcess, test_handle: str, test_params: UnidasmMapper): + def _assert_test_result(self, launch_result: CompletedProcess, test_handle: str, test_params: UnidasmFileMapper): __ret_code = launch_result.returncode assert __ret_code == 0, f"{test_handle} return code == {__ret_code}" __actual_stderr = launch_result.stderr |