aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCole Faust <colefaust@google.com>2024-04-02 18:07:30 -0700
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2024-04-04 01:37:12 +0000
commitc1df6baf0b619dd29ae6552d4ee1d149173b309f (patch)
tree9787fe7aaf6e58dd91a50da2125396f6dc429ebe
parent156ff6494d33e7a797e112ed9bda399e6270f834 (diff)
downloadminijail-upstream-main.tar.gz
Set embedded_launcher: true for minijail testsupstream-main
Android is migrating to using embedded_launcher for all python modules, fix these tests which have problems with embedded_launcher because they expect their data to be extracted to disk. Bug: 331488610 Test: In android: m minijail_parser_unittest minijail_compiler_unittest && out/host/linux-x86/nativetest64/minijail_compiler_unittest/minijail_compiler_unittest && out/host/linux-x86/nativetest64/minijail_parser_unittest/minijail_parser_unittest Change-Id: I47fe3bce2c9b029e65ce84412f00975bf8d0acdf Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minijail/+/5417234 Tested-by: Cole Faust <colefaust@google.com> Commit-Queue: Cole Faust <colefaust@google.com> Reviewed-by: Mike Frysinger <vapier@chromium.org> Auto-Submit: Cole Faust <colefaust@google.com>
-rw-r--r--tools/Android.bp26
-rw-r--r--tools/arch.py23
-rwxr-xr-xtools/compiler_unittest.py7
-rwxr-xr-xtools/parser_unittest.py7
4 files changed, 22 insertions, 41 deletions
diff --git a/tools/Android.bp b/tools/Android.bp
index 71bb82d..3a3e9c6 100644
--- a/tools/Android.bp
+++ b/tools/Android.bp
@@ -31,14 +31,6 @@ python_binary_host {
"compiler.py",
"parser.py",
],
- version: {
- py2: {
- enabled: false,
- },
- py3: {
- enabled: true,
- },
- },
}
python_test_host {
@@ -54,11 +46,8 @@ python_test_host {
"testdata/arch_64.json",
],
version: {
- py2: {
- enabled: false,
- },
py3: {
- enabled: true,
+ embedded_launcher: true,
},
},
}
@@ -77,11 +66,8 @@ python_test_host {
"testdata/arch_64.json",
],
version: {
- py2: {
- enabled: false,
- },
py3: {
- enabled: true,
+ embedded_launcher: true,
},
},
}
@@ -92,14 +78,6 @@ python_binary_host {
srcs: [
"generate_constants_json.py",
],
- version: {
- py2: {
- enabled: false,
- },
- py3: {
- enabled: true,
- },
- },
}
diff --git a/tools/arch.py b/tools/arch.py
index 3051af7..48782d0 100644
--- a/tools/arch.py
+++ b/tools/arch.py
@@ -41,12 +41,17 @@ class Arch(
def load_from_json(json_path):
"""Return an Arch from a .json file."""
with open(json_path, "rb") 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 a9b9b63..131c862 100755
--- a/tools/compiler_unittest.py
+++ b/tools/compiler_unittest.py
@@ -11,16 +11,15 @@ import random
import shutil
import tempfile
import unittest
+from importlib import resources
import arch
import bpf
import compiler
-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()
)
diff --git a/tools/parser_unittest.py b/tools/parser_unittest.py
index 5b2ff8b..31b4099 100755
--- a/tools/parser_unittest.py
+++ b/tools/parser_unittest.py
@@ -10,15 +10,14 @@ import parser # pylint: disable=wrong-import-order
import shutil
import tempfile
import unittest
+from importlib import resources
import arch
import bpf
-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()
)