tree 12d01ce952ce3b4196b2ab812e9c6b3ade7bd2d5
parent e03af0caee1bf0b7ece55e42e607d738f65f9c7b
author Diwas Sharma <sdiwas@google.com> 1716240214 +0000
committer Diwas Sharma <sdiwas@google.com> 1716240214 +0000

Add a dedicated Mainline Test Mapping group for ART

Test of *all* Mainline modules are currently configured in a single
`mainline-presubmit` Test Mapping group. This requires that users indicate the
module to install in every entry and is quite tedious.

The above approach also adds overhead due to installing, checking for, and
uninstalling Mainline modules between test module executions. This eats up
precious presubmit time and gets runtimes close to violating the SLO.

This change moves all ART Mainline module tests into a dedicated Test Mapping
group that installs the Mainline module once before executing all test modules.
This also simplifies the configuration syntax by no longer requiring brackets
that indicate the, now implicit, Mainline module.

Bug: 328102821
Test: ABTD test runs
Change-Id: If9accb54bb4d71fea834ee6fefcd4ba28c19e75e
