require_root for perfetto_integrationtests.
HeapprofdEndToEnd would fail to set a system property when running as
non-root.
Test: atest perfetto_integrationtests
Change-Id: I645601324522e89721d2728e083289e0d2f00be1
diff --git a/Android.bp b/Android.bp
index 8c22865..de6fd23 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1732,6 +1732,10 @@
header_libs: [
"bionic_libc_platform_headers",
],
+ require_root: true,
+ test_suites: [
+ "general-tests",
+ ],
}
// GN: //protos/perfetto/common:cpp
diff --git a/tools/gen_android_bp b/tools/gen_android_bp
index f70ead0..80a1985 100755
--- a/tools/gen_android_bp
+++ b/tools/gen_android_bp
@@ -190,6 +190,11 @@
('data', set(enumerate_data_deps())),
('include_dirs', {'bionic/libc/kernel'}),
],
+ 'perfetto_integrationtests': [
+ # heapprofd_end_to_end needs root to set a system property.
+ ('require_root', True),
+ ('test_suites', {'general-tests'}),
+ ],
'traced_probes': [
('required', {'libperfetto_android_internal',
'trigger_perfetto',
@@ -419,6 +424,8 @@
self.genrule_srcs = set()
self.genrule_shared_libs = set()
self.version_script = None
+ self.require_root = None
+ self.test_suites = set()
def to_string(self, output):
if self.comment:
@@ -449,6 +456,8 @@
self._output_field(output, 'stl')
self._output_field(output, 'apex_available')
self._output_field(output, 'version_script')
+ self._output_field(output, 'require_root')
+ self._output_field(output, 'test_suites')
target_out = []
self._output_field(target_out, 'android')
@@ -777,6 +786,8 @@
curr.update(add_val)
elif isinstance(add_val, str) and (not curr or isinstance(curr, str)):
setattr(module, key, add_val)
+ elif isinstance(add_val, bool) and (not curr or isinstance(curr, bool)):
+ setattr(module, key, add_val)
elif isinstance(add_val, dict) and isinstance(curr, dict):
curr.update(add_val)
else: