From be29dc3d4fe9d902aebd240553117653bd86ee2c Mon Sep 17 00:00:00 2001 From: Jason Macnak Date: Thu, 15 Jun 2023 08:02:59 -0700 Subject: [PATCH 1/2] Remove WmediumdServerProto_[cc|h] from SandboxingDenyModuleList Bug: b/287470077 Test: GENRULE_SANDBOXING=true m WmediumdServerProto_cc Test: GENRULE_SANDBOXING=true m WmediumdServerProto_h Test: build/soong/tests/genrule_sandbox_test.py WmediumdServerProto_cc Test: build/soong/tests/genrule_sandbox_test.py WmediumdServerProto_h Change-Id: I38079eb7b4bfb60f1b4c3adf6c774f207d7ec55e --- genrule/allowlists.go | 2 -- 1 file changed, 2 deletions(-) diff --git a/genrule/allowlists.go b/genrule/allowlists.go index 1fe30dbfc..495bc1950 100644 --- a/genrule/allowlists.go +++ b/genrule/allowlists.go @@ -56,7 +56,6 @@ var ( "ImageProcessingJB-rscript", "RSTest-rscript", "BluetoothGeneratedDumpsysBinarySchema_bfbs", - "WmediumdServerProto_h", "TracingVMProtoStub_h", "FrontendStub_h", "VehicleServerProtoStub_cc", @@ -104,7 +103,6 @@ var ( "FrontendStub_cc", "OpenwrtControlServerProto_cc", "OpenwrtControlServerProto_h", - "WmediumdServerProto_cc", "c2hal_test_genc++", "c2hal_test_genc++_headers", "hidl2aidl_test_gen_aidl", From 394f1b7b8626d563d2ae526b4975353aec694a7d Mon Sep 17 00:00:00 2001 From: Jason Macnak Date: Thu, 15 Jun 2023 09:28:26 -0700 Subject: [PATCH 2/2] Fix local var error, warn if no outputs, handle "}generate{" 1. UnboundLocalError: cannot access local variable 'output' where it is not associated with a value 2. `build/soong/tests/genrule_sandbox_test.py WmediumdServerProto_cc` would try to build the entire world due to 3) 3. WmediumdServerProto_cc 's module action desc had '}generate{' without a space which would cause 2) Bug: b/287470077 Test: build/soong/tests/genrule_sandbox_test.py WmediumdServerProto_cc Change-Id: Ie9d5db44195a6f700cc876ec889bd01c11e66cff --- tests/genrule_sandbox_test.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tests/genrule_sandbox_test.py b/tests/genrule_sandbox_test.py index 697fc26e8..a9f0c9b50 100755 --- a/tests/genrule_sandbox_test.py +++ b/tests/genrule_sandbox_test.py @@ -69,7 +69,7 @@ def _find_outputs_for_modules(modules, out_dir, target_product): name = mod["Name"] if name in modules: for act in mod["Module"]["Actions"]: - if "}generate " in act["Desc"]: + if "}generate" in act["Desc"]: module_to_outs[name].update(act["Outputs"]) return module_to_outs @@ -90,6 +90,7 @@ def _store_outputs_to_tmp(output_files): def _diff_outs(file1, file2, show_diff): + output = None base_args = ["diff"] if not show_diff: base_args.append("--brief") @@ -154,6 +155,10 @@ def main(): modules = set(args.modules) module_to_outs = _find_outputs_for_modules(modules, out_dir, target_product) + if not module_to_outs: + print("No outputs found") + exit(1) + if args.output_paths_only: for m, o in module_to_outs.items(): print(f"{m} outputs: {o}")