The current format of the file is:
"<arch>": {
"<android SDK Code, such as L, M, N, ...>": {
"filename": "<relative path to cts_archive_dir of cts zip>",
"_origin": "<branch@buildid>",
"unzip_dir": "<relative path to work directory where cts should be unzipped to>",
"test_runs": [
{
"apk": "location of the test apk in the cts zip file",
"excludes": [
{
"match": "<class#testcase (wildcard supported) expression of test to skip>",
"_bug_id": "<bug reference comment, optional>"
}]
^ It's good that we can list API-level specific suppressions, but the current format would require me to duplicate all the suppressions for each architecture as well (e.g., if we add x86 support, as I've requested in issue 922854). It's error-prone to keep the configs for each architecture in sync.
In terms of filtering power, I think it's sufficient to filter by SDK level. We should not permit arch-dependent bugs to persist; the only reason we need SDK-specific filtering is because the Android team doesn't support CTS for older Android releases anymore. I believe (but, feel free to double-check me) that the Android team has equally good CTS support for all architectures.
Blocking this issue on x86 support, since there's no point to redesigning the format while we only have a single architecture.