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: