From 0fba3e58eef8c2ed42b66206eb34c625322b36f3 Mon Sep 17 00:00:00 2001 From: Willi Ballenthin Date: Thu, 11 Jun 2026 11:51:12 +0200 Subject: [PATCH] tests: split out ELF OS detection fixtures into their own JSON --- tests/fixtures/elf/os-detection.json | 118 +++++++++++++++++++++++++ tests/test_elf_os_detection.py | 124 +-------------------------- 2 files changed, 120 insertions(+), 122 deletions(-) create mode 100644 tests/fixtures/elf/os-detection.json diff --git a/tests/fixtures/elf/os-detection.json b/tests/fixtures/elf/os-detection.json new file mode 100644 index 00000000..10201ea3 --- /dev/null +++ b/tests/fixtures/elf/os-detection.json @@ -0,0 +1,118 @@ +[ + { + "path": "2f7f5fb5de175e770d7eae87666f9831.elf_", + "os": "linux", + "algorithms": { + "sh_notes": "linux", + "ident_directive": "linux", + "vdso_strings": "linux" + } + }, + { + "path": "7351f8a40c5450557b24622417fc478d.elf_", + "os": "linux", + "algorithms": { + "ph_notes": "linux", + "sh_notes": "linux", + "ident_directive": "linux", + "linker": "linux", + "abi_versions_needed": "linux" + } + }, + { + "path": "b5f0524e69b3a3cf636c7ac366ca57bf5e3a8fdc8a9f01caf196c611a7918a87.elf_", + "os": "hurd", + "algorithms": { + "sh_notes": "hurd", + "abi_versions_needed": "hurd", + "needed_dependencies": "hurd" + } + }, + { + "path": "bf7a9c8bdfa6d47e01ad2b056264acc3fd90cf43fe0ed8deec93ab46b47d76cb.elf_", + "os": "hurd", + "algorithms": { + "sh_notes": "hurd", + "abi_versions_needed": "hurd" + } + }, + { + "path": "2bf18d0403677378adad9001b1243211.elf_", + "os": "linux", + "algorithms": { + "symtab": "linux" + } + }, + { + "path": "1038a23daad86042c66bfe6c9d052d27048de9653bde5750dc0f240c792d9ac8.elf_", + "os": "android", + "algorithms": { + "ph_notes": "android", + "needed_dependencies": "android" + } + }, + { + "path": "3da7c2c70a2d93ac4643f20339d5c7d61388bddd77a4a5fd732311efad78e535.elf_", + "os": "linux", + "algorithms": { + "go_buildinfo": "linux", + "go_source": "linux", + "vdso_strings": "linux" + } + }, + { + "path": "9486f2c5d514c1f39833b852ab03f4c0297e9e82b456b0dccad1a2d7d15c3385.elf_", + "os": "freebsd", + "algorithms": { + "osabi": "freebsd" + } + }, + { + "path": "a72ac9f1cf6cc01103765f866aae2dd85ea48208fb180c01076ca982684a4032.elf_", + "os": "openbsd", + "algorithms": { + "osabi": "openbsd" + } + }, + { + "path": "5e4263575796c6ea2445505a843e616111e0e540ec49441e3bb3fc99be7d3afb.elf_", + "os": "hpux", + "algorithms": { + "osabi": "hpux" + } + }, + { + "path": "ccb5eefc47d09672c6d62368a55f48a80259b1408b4f3d260b131d40b487f262.elf_", + "os": "linux", + "algorithms": { + "ident_directive": "linux", + "vdso_strings": "linux" + } + }, + { + "path": "c2b2d7cea94179e6c2b6913205e37c45b67ccc0156d8f266548f7f1f95144285.elf_", + "os": "linux", + "algorithms": { + "ph_notes": "linux", + "linker": "linux" + } + }, + { + "path": "fb5cf3df103336ca6b84a5d0f314bdd394ce7465adac3cf1914d390d62884582.elf_", + "os": "freebsd", + "algorithms": { + "osabi": "freebsd", + "go_source": "freebsd" + } + }, + { + "path": "ef0ef9693ac433b768dc4cd260132788c3d95afa12addab711c15de61f3631bf.elf_", + "os": "openbsd", + "algorithms": { + "osabi": "openbsd", + "ph_notes": "openbsd", + "sh_notes": "openbsd", + "go_buildinfo": "openbsd" + } + } +] diff --git a/tests/test_elf_os_detection.py b/tests/test_elf_os_detection.py index b89cdbc4..c2beb733 100644 --- a/tests/test_elf_os_detection.py +++ b/tests/test_elf_os_detection.py @@ -35,128 +35,8 @@ ALGORITHM_FUNCTIONS = { "vdso_strings": elf.guess_os_from_vdso_strings, } -FIXTURES = json.loads( - """ -[ - { - "path": "2f7f5fb5de175e770d7eae87666f9831.elf_", - "os": "linux", - "algorithms": { - "sh_notes": "linux", - "ident_directive": "linux", - "vdso_strings": "linux" - } - }, - { - "path": "7351f8a40c5450557b24622417fc478d.elf_", - "os": "linux", - "algorithms": { - "ph_notes": "linux", - "sh_notes": "linux", - "ident_directive": "linux", - "linker": "linux", - "abi_versions_needed": "linux" - } - }, - { - "path": "b5f0524e69b3a3cf636c7ac366ca57bf5e3a8fdc8a9f01caf196c611a7918a87.elf_", - "os": "hurd", - "algorithms": { - "sh_notes": "hurd", - "abi_versions_needed": "hurd", - "needed_dependencies": "hurd" - } - }, - { - "path": "bf7a9c8bdfa6d47e01ad2b056264acc3fd90cf43fe0ed8deec93ab46b47d76cb.elf_", - "os": "hurd", - "algorithms": { - "sh_notes": "hurd", - "abi_versions_needed": "hurd" - } - }, - { - "path": "2bf18d0403677378adad9001b1243211.elf_", - "os": "linux", - "algorithms": { - "symtab": "linux" - } - }, - { - "path": "1038a23daad86042c66bfe6c9d052d27048de9653bde5750dc0f240c792d9ac8.elf_", - "os": "android", - "algorithms": { - "ph_notes": "android", - "needed_dependencies": "android" - } - }, - { - "path": "3da7c2c70a2d93ac4643f20339d5c7d61388bddd77a4a5fd732311efad78e535.elf_", - "os": "linux", - "algorithms": { - "go_buildinfo": "linux", - "go_source": "linux", - "vdso_strings": "linux" - } - }, - { - "path": "9486f2c5d514c1f39833b852ab03f4c0297e9e82b456b0dccad1a2d7d15c3385.elf_", - "os": "freebsd", - "algorithms": { - "osabi": "freebsd" - } - }, - { - "path": "a72ac9f1cf6cc01103765f866aae2dd85ea48208fb180c01076ca982684a4032.elf_", - "os": "openbsd", - "algorithms": { - "osabi": "openbsd" - } - }, - { - "path": "5e4263575796c6ea2445505a843e616111e0e540ec49441e3bb3fc99be7d3afb.elf_", - "os": "hpux", - "algorithms": { - "osabi": "hpux" - } - }, - { - "path": "ccb5eefc47d09672c6d62368a55f48a80259b1408b4f3d260b131d40b487f262.elf_", - "os": "linux", - "algorithms": { - "ident_directive": "linux", - "vdso_strings": "linux" - } - }, - { - "path": "c2b2d7cea94179e6c2b6913205e37c45b67ccc0156d8f266548f7f1f95144285.elf_", - "os": "linux", - "algorithms": { - "ph_notes": "linux", - "linker": "linux" - } - }, - { - "path": "fb5cf3df103336ca6b84a5d0f314bdd394ce7465adac3cf1914d390d62884582.elf_", - "os": "freebsd", - "algorithms": { - "osabi": "freebsd", - "go_source": "freebsd" - } - }, - { - "path": "ef0ef9693ac433b768dc4cd260132788c3d95afa12addab711c15de61f3631bf.elf_", - "os": "openbsd", - "algorithms": { - "osabi": "openbsd", - "ph_notes": "openbsd", - "sh_notes": "openbsd", - "go_buildinfo": "openbsd" - } - } -] -""" -) +FIXTURES_FILE = CD / "fixtures/elf/os-detection.json" +FIXTURES = json.loads(FIXTURES_FILE.read_text(encoding="utf-8")) def _generate_algorithm_params():