perfetto cts: split ART's MTS test cases out of CtsPerfettoTestCases, into a new target called CtsHeapprofdJavaCtsTest

The current configuration is incorrect in the context of MCTS, because
the entirety of CtsPerfettoTestCases is being run on older platforms.
The new platform-oriented tests (e.g. the behaviour of /system binaries)
will never succeed there since the associated platform code is absent.

This is because the MTS->MCTS migration overlooked the fact that ART MTS
ran only a subset of targets in the GTest CtsPerfettoTestCases binary[1].

This patch splits the MTS-specific tests into a new test target. Note
that it also introduces two new tests into the ART MTS. Since the custom
allocator NDK API tests were not matching the test name filter[1].

The allocator test were called:
* HeapprofdCtsTest::JavaHeapRuntime
* HeapprofdCtsTest::JavaHeapStartup
And they are now called:
* HeapprofdJavaCtsTest::ArtHeapCustomAllocatorRuntime
* HeapprofdJavaCtsTest::ArtHeapCustomAllocatorStartup

More details on the bug.

[1] https://cs.android.com/android/platform/superproject/main/+/main:test/mts/tools/mts-tradefed/res/config/mts-art-extra-tests-list-user.xml;l=17;drc=be9d63305cffabfea54646f7a2490f3d37e620e8

Tested: atest CtsPerfettoTestCases;
Tested: atest CtsHeapprofdJavaCtsTest
Tested: mts-tradefed run commandAndExit mts-art-extra
Bug: 406239886
(cherry picked from https://android-review.googlesource.com/q/commit:8d9b0dfd620b6c555ff67d998f3500013a01a561)
Merged-In: I5170d2aca09adc6c908e3813fed1574256f8a6a6
Change-Id: I5170d2aca09adc6c908e3813fed1574256f8a6a6
10 files changed
tree: b7ef010a0fe366666cfeb207a4bb9b98c78a3927
  1. .github/
  2. bazel/
  3. build_overrides/
  4. buildtools/
  5. debian/
  6. docs/
  7. examples/
  8. gn/
  9. include/
  10. infra/
  11. protos/
  12. python/
  13. src/
  14. test/
  15. third_party/
  16. tools/
  17. ui/
  18. .bazelignore
  19. .bazelrc
  20. .bazelversion
  21. .clang-format
  22. .clang-tidy
  23. .git-blame-ignore-revs
  24. .gitattributes
  25. .gitignore
  26. .gn
  27. .style.yapf
  28. Android.bp
  29. Android.bp.extras
  30. BUILD
  31. BUILD.extras
  32. BUILD.gn
  33. CHANGELOG
  34. codereview.settings
  35. DIR_METADATA
  36. heapprofd.rc
  37. LICENSE
  38. meson.build
  39. METADATA
  40. MODULE.bazel
  41. MODULE.bazel.lock
  42. MODULE_LICENSE_APACHE2
  43. OWNERS
  44. perfetto.rc
  45. perfetto_flags.aconfig
  46. PerfettoIntegrationTests.xml
  47. persistent_cfg.pbtxt
  48. PRESUBMIT.py
  49. README.chromium
  50. README.md
  51. TEST_MAPPING
  52. traced_perf.rc
  53. WATCHLISTS
  54. WORKSPACE
README.md

Perfetto - System profiling, app tracing and trace analysis

Perfetto is a production-grade open-source stack for performance instrumentation and trace analysis. It offers services and libraries and for recording system-level and app-level traces, native + java heap profiling, a library for analyzing traces using SQL and a web-based UI to visualize and explore multi-GB traces.

See https://perfetto.dev/docs or the /docs/ directory for documentation.