diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2024-04-09 23:06:31 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2024-04-09 23:06:31 +0000 |
commit | e7f2a436659d7dc98c6d8b3a4bac3fe1cb2fba43 (patch) | |
tree | 9a67c018ffbddaa4518680e3275417fdb0992c79 | |
parent | c5d520af205c20ac5701f0f458c0a014be90aa68 (diff) | |
parent | 354c0ca1eed213523c93bd6db7e838769ee967fe (diff) | |
download | minijail-sdk-release.tar.gz |
Snap for 11692525 from 354c0ca1eed213523c93bd6db7e838769ee967fe to sdk-releasesdk-release
Change-Id: Iadf7fea30c70c22e40f99bdb962fc78c07f6c93d
-rw-r--r-- | tools/Android.bp | 10 | ||||
-rw-r--r-- | tools/arch.py | 23 | ||||
-rwxr-xr-x | tools/compiler_unittest.py | 7 | ||||
-rwxr-xr-x | tools/parser_unittest.py | 7 |
4 files changed, 32 insertions, 15 deletions
diff --git a/tools/Android.bp b/tools/Android.bp index 62b3a88..3a3e9c6 100644 --- a/tools/Android.bp +++ b/tools/Android.bp @@ -45,6 +45,11 @@ python_test_host { data: [ "testdata/arch_64.json", ], + version: { + py3: { + embedded_launcher: true, + }, + }, } python_test_host { @@ -60,6 +65,11 @@ python_test_host { data: [ "testdata/arch_64.json", ], + version: { + py3: { + embedded_launcher: true, + }, + }, } python_binary_host { diff --git a/tools/arch.py b/tools/arch.py index ac2f32b..b245f38 100644 --- a/tools/arch.py +++ b/tools/arch.py @@ -45,12 +45,17 @@ class Arch( def load_from_json(json_path): """Return an Arch from a .json file.""" with open(json_path, 'r') as json_file: - constants = json.load(json_file) - return Arch( - arch_nr=constants['arch_nr'], - arch_name=constants['arch_name'], - bits=constants['bits'], - syscalls=constants['syscalls'], - constants=constants['constants'], - syscall_groups=constants.get('syscall_groups', {}), - ) + return Arch.load_from_json_bytes(json_file.read()) + + @staticmethod + def load_from_json_bytes(json_bytes): + """Return an Arch from a json string.""" + constants = json.loads(json_bytes) + return Arch( + arch_nr=constants["arch_nr"], + arch_name=constants["arch_name"], + bits=constants["bits"], + syscalls=constants["syscalls"], + constants=constants["constants"], + syscall_groups=constants.get("syscall_groups", {}), + ) diff --git a/tools/compiler_unittest.py b/tools/compiler_unittest.py index 19ca72f..993de59 100755 --- a/tools/compiler_unittest.py +++ b/tools/compiler_unittest.py @@ -23,15 +23,16 @@ import random import shutil import tempfile import unittest +from importlib import resources import arch import bpf import compiler import parser # pylint: disable=wrong-import-order -ARCH_64 = arch.Arch.load_from_json( - os.path.join( - os.path.dirname(os.path.abspath(__file__)), 'testdata/arch_64.json')) +ARCH_64 = arch.Arch.load_from_json_bytes( + resources.files("testdata").joinpath("arch_64.json").read_bytes() +) class CompileFilterStatementTests(unittest.TestCase): diff --git a/tools/parser_unittest.py b/tools/parser_unittest.py index 9e7d6d8..5e7c8a2 100755 --- a/tools/parser_unittest.py +++ b/tools/parser_unittest.py @@ -24,14 +24,15 @@ import os import shutil import tempfile import unittest +from importlib import resources import arch import bpf import parser # pylint: disable=wrong-import-order -ARCH_64 = arch.Arch.load_from_json( - os.path.join( - os.path.dirname(os.path.abspath(__file__)), 'testdata/arch_64.json')) +ARCH_64 = arch.Arch.load_from_json_bytes( + resources.files("testdata").joinpath("arch_64.json").read_bytes() +) class TokenizerTests(unittest.TestCase): |