aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2024-04-09 23:06:31 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2024-04-09 23:06:31 +0000
commite7f2a436659d7dc98c6d8b3a4bac3fe1cb2fba43 (patch)
tree9a67c018ffbddaa4518680e3275417fdb0992c79
parentc5d520af205c20ac5701f0f458c0a014be90aa68 (diff)
parent354c0ca1eed213523c93bd6db7e838769ee967fe (diff)
downloadminijail-sdk-release.tar.gz
Snap for 11692525 from 354c0ca1eed213523c93bd6db7e838769ee967fe to sdk-releasesdk-release
Change-Id: Iadf7fea30c70c22e40f99bdb962fc78c07f6c93d
-rw-r--r--tools/Android.bp10
-rw-r--r--tools/arch.py23
-rwxr-xr-xtools/compiler_unittest.py7
-rwxr-xr-xtools/parser_unittest.py7
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):