[
    {
        "tests": "153-reference-stress",
        "description": ["Disable 153-reference-stress temporarily until a fix",
                        "arrives."],
        "bug": "http://b/33389022"
    },
    {
        "tests": "132-daemon-locks-shutdown",
        "description": ["This test seems to fail occasionally on redefine-stress for unknown reasons without stack-traces"],
        "variant": "redefine-stress",
        "bug": "http://b/121302864"
    },
    {
        "tests": "579-inline-infinite",
        "description": ["This test seems to fail often on redefine-stress for unknown reasons"],
        "variant": "redefine-stress",
        "bug": "http://b/73871735"
    },
    {
        "tests": "080-oom-fragmentation",
        "description": ["Disable 080-oom-fragmentation for CC collector in debug mode",
                        "because of potential fragmentation caused by the region space's",
                        "cyclic region allocation (which is enabled in debug mode)."],
        "variant": "debug",
        "bug": "http://b/33795328"
    },
    {
        "tests": ["497-inlining-and-class-loader",
                  "542-unresolved-access-check"],
        "description": ["Disable 497-inlining-and-class-loader and ",
                        "542-unresolved-access-check until they are rewritten.",
                        "These tests use a broken class loader that tries to",
                        "register a dex file that's already registered with a",
                        "different loader."],
        "bug": "http://b/34193123"
    },
    {
        "tests": "149-suspend-all-stress",
        "description": "Disable 149-suspend-all-stress, its output is flaky",
        "bug": "http://b/28988206"
    },
    {
        "tests": ["002-sleep",
                  "055-enum-performance",
                  "133-static-invoke-super"],
        "description": ["Tests that are timing sensitive and flaky on heavily",
                        "loaded systems."]
    },
    {
        "tests": "569-checker-pattern-replacement",
        "variant": "target",
        "description": ["569-checker-pattern-replacement tests behaviour",
                        "present only on host."]
    },
    {
        "tests": ["116-nodex2oat",
                  "118-noimage-dex2oat"],
        "variant": "prebuild",
        "description": ["Note 116-nodex2oat is not broken per-se it just",
                        "doesn't (and isn't meant to) work with --prebuild."]
    },
    {
        "tests": ["608-checker-unresolved-lse"],
        "variant": "no-prebuild"
    },
    {
        "tests": ["118-noimage-dex2oat",
                  "1001-app-image-regions"],
        "variant": "no-relocate",
        "description": ["118-noimage-dex2oat is not broken per-se it just ",
                        "doesn't work (and isn't meant to) without --prebuild ",
                        "--relocate. 1001-app-image-regions is disabled since it",
                        "doesn't have the app image loaded for no-relocate"]
    },
    {
        "tests" : "629-vdex-speed",
        "variant": "interp-ac | interpreter | jit",
        "description": "629 requires compilation."
    },
    {
        "tests": "137-cfi",
        "variant": "gcstress",
        "description": ["137-cfi needs to unwind a second forked process. We're",
                        "using a primitive sleep to wait till we hope the",
                        "second process got into the expected state. The",
                        "slowness of gcstress makes this bad."]
    },
    {
        "tests": "152-dead-large-object",
        "variant": "gcstress",
        "description": ["152-dead-large-object requires a heap larger than what gcstress uses."],
        "bug": "http://b/35800768"
    },
    {
        "tests": "163-app-image-methods",
        "variant": "gcstress",
        "description": ["This test sometimes runs out of memory initializing the boot classpath."]
    },
    {
        "tests": "164-resolution-trampoline-dex-cache",
        "variant": "interp-ac | interpreter",
        "description": ["This test requires AOT mixed with JIT and enables the JIT by the ",
                        "runtime option -Xusejit:true. This conflicts with -Xint passed for ",
                        "interpreter configurations (interp-ac | interpreter). The 'jit' ",
                        "configuration succeeds even though it does not test anything useful."]
    },
    {
        "tests": ["908-gc-start-finish",
                  "913-heaps"],
        "variant": "gcstress",
        "description": ["908-gc-start-finish expects GCs only to be run at",
                        "clear points. The reduced heap size makes this",
                        "non-deterministic. Same for 913."]
    },
    {
        "tests": ["1946-list-descriptors"],
        "variant": "gcverify | trace",
        "description": "This test is rather slow and gcverify or trace often cause it to timeout."
    },
    {
        "tests": ["961-default-iface-resolution-gen",
                  "964-default-iface-init-gen",
                  "968-default-partial-compile-gen"],
        "variant": "gcstress",
        "description": ["961-default-iface-resolution-gen,",
                        "968-default-partial-compile-gen and",
                        "964-default-iface-init-gen are very long tests that",
                        "often will take more than the timeout to run when",
                        "gcstress is enabled. This is because gcstress slows",
                        "down allocations significantly which these tests do a",
                        "lot."]
    },
    {
        "tests": "154-gc-loop",
        "variant": "gcstress | jit & debug",
        "description": ["154-gc-loop depends GC not happening too often"],
        "bug": "http://b/35917229"
    },
    {
        "tests": "115-native-bridge",
        "variant": "target",
        "description": ["115-native-bridge setup is complicated. Need to",
                        "implement it correctly for the target."]
    },
    {
        "tests": "130-hprof",
        "variant": "target",
        "description": ["130-hprof dumps the heap and runs hprof-conv to check",
                       "whether the file is somewhat readable. Thi is only",
                       "possible on the host. TODO: Turn off all the other",
                       "combinations, this is more about testing actual ART",
                       "code. A gtest is very hard to write here, as (for a",
                       "complete test) JDWP must be set up."]
    },
    {
        "tests": "138-duplicate-classes-check",
        "variant": "ndebug",
        "description": ["Turned on for debug builds since debug builds have",
                        "duplicate classes checks enabled"],
        "bug": "http://b/2133391"
    },
    {
        "tests": ["116-nodex2oat",
                  "118-noimage-dex2oat",
                  "137-cfi",
                  "138-duplicate-classes-check2"],
        "variant": "no-image",
        "description": ["All these tests check that we have appropriate behavior if we",
                        "don't have a dex2oat. Therefore we",
                        "shouldn't run them in situations where we actually",
                        "don't have these since they explicitly test for them.",
                        "These all also assume we have an image."]
    },
    {
        "tests": ["137-cfi",
                  "138-duplicate-classes-check",
                  "018-stack-overflow",
                  "961-default-iface-resolution-gen",
                  "964-default-iface-init-gen"],
        "variant": "no-image",
        "description": ["This test fails without an image. 018, 961, 964 often",
                        "time out."],
        "bug": "http://b/34369284"
    },
    {
        "tests": ["018-stack-overflow",
                  "107-int-math2",
                  "667-jit-jni-stub"],
        "description": ["We run for long enough for jit to compile some of the methods ",
                        "which means it takes so long to finish the test that it will ",
                        "timeout. The timeout is due to having to walk the stack ",
                        "when entering and exiting methods due to the way the instrumentation ",
                        "trampoline is implemented."],
        "variant": "debuggable & jit & trace | debuggable & jit & stream"
    },
    {
        "tests": "1935-get-set-current-frame-jit",
        "description": ["Test expects that OSR works but tracing turns this feature off."],
        "variant": "trace | stream"
    },
    {
        "tests": "1940-ddms-ext",
        "description": ["Test expects to be able to start tracing but we cannot",
                        "do that if tracing is already ongoing."],
        "variant": "trace | stream"
    },
    {
        "tests": "137-cfi",
        "description": ["This test unrolls and expects managed frames, but",
                        "tracing means we run the interpreter or trampolines."],
        "variant": "trace | stream"
    },
    {
        "tests": ["802-deoptimization"],
        "description": ["This test dynamically enables tracing to force a",
                        "deoptimization. This makes the test meaningless",
                        "when already tracing, and writes an error message",
                        "that we do not want to check for."],
        "variant": "trace | stream"
    },
    {
        "tests": ["570-checker-osr", "570-checker-osr-locals"],
        "description": ["These tests wait for OSR, which never happens when tracing."],
        "variant": "trace | stream"
    },
    {
        "tests": "130-hprof",
        "description": "130 occasional timeout",
        "bug": "http://b/32383962",
        "variant": "trace | stream"
    },
    {
        "tests": ["087-gc-after-link",
                  "141-class-unload"],
        "variant": "trace | stream"
    },
    {
        "tests": ["566-polymorphic-inlining",
                  "604-hot-static-interface",
                  "612-jit-dex-cache",
                  "613-inlining-dex-cache",
                  "626-set-resolved-string",
                  "638-checker-inline-cache-intrinsic"],
        "variant": "trace | stream",
        "description": ["These tests expect JIT compilation, which is",
                        "suppressed when tracing."]
    },
    {
        "tests": "597-deopt-busy-loop",
        "variant": "interp-ac | interpreter | trace | stream",
        "description": ["This test expects JIT compilation, which is",
                        "suppressed when tracing."]
    },
    {
        "tests": "638-checker-inline-cache-intrinsic",
        "variant": "interpreter | interp-ac",
        "description": ["Test expects JIT compilation"]
    },
    {
        "tests": "597-deopt-invoke-stub",
        "variant": "speed-profile | interp-ac | interpreter | optimizing | trace | stream",
        "description": ["This test expects JIT compilation and no AOT for",
                        "testing deoptimizing at quick-to-interpreter bridge."]
    },
    {
        "tests": "906-iterate-heap",
        "description": ["Test 906 iterates the heap filtering with different",
                        "options. No instances should be created between those",
                        "runs to be able to have precise checks."],
        "variant": "jit"
    },
    {
        "tests": ["570-checker-select",
                  "484-checker-register-hints"],
        "description": ["These tests were based on the linear scan allocator,",
                        "which makes different decisions than the graph",
                        "coloring allocator. (These attempt to test for code",
                        "quality, not correctness.)"],
        "variant": "regalloc_gc"
    },
    {
        "tests": ["454-get-vreg",
                  "457-regs",
                  "602-deoptimizeable",
                  "685-deoptimizeable"],
        "description": ["Tests that should fail when the optimizing compiler ",
                        "compiles them non-debuggable."],
        "variant": "optimizing & ndebuggable | regalloc_gc & ndebuggable | speed-profile & ndebuggable | jit & ndebuggable | jit-on-first-use & ndebuggable"
    },
    {
        "tests": ["596-app-images", "597-app-images-same-classloader"],
        "description": "no image generated in configuration",
        "variant": "no-image | no-prebuild"
    },
    {
        "tests": ["596-app-images", "597-app-images-same-classloader"],
        "description": "not generated when using the access check configuration",
        "variant": "interp-ac"
    },
    {
        "tests": ["596-app-images", "597-app-images-same-classloader"],
        "description": "jvmti does not interact well with images",
        "variant": "field-stress | jvmti-stress | redefine-stress | step-stress | trace-stress"
    },
    {
        "tests": "596-app-images",
        "description": "app images do not initialize classes when debuggable",
        "variant": "debuggable"
    },
    {
        "tests": "055-enum-performance",
        "variant": "optimizing | regalloc_gc",
        "description": ["055: Exceeds run time limits due to heap poisoning ",
                        "instrumentation (on ARM and ARM64 devices)."]
    },
    {
        "tests": "909-attach-agent",
        "variant": "debuggable",
        "description": "Tests that check semantics for a non-debuggable app."
    },
    {
        "tests": "137-cfi",
        "variant": "debuggable",
        "description": ["The test relies on AOT code and debuggable makes us",
                        "JIT always."]
    },
    {
        "tests": ["000-nop",
                  "595-profile-saving"],
        "description": "The doesn't compile anything",
        "env_vars": {"ART_TEST_BISECTION": "true"},
        "variant": "optimizing | regalloc_gc"
    },
    {
        "tests": "089-many-methods",
        "description": "The test tests a build failure",
        "env_vars": {"ART_TEST_BISECTION": "true"},
        "variant": "optimizing | regalloc_gc"
    },
    {
        "tests": ["018-stack-overflow",
                  "116-nodex2oat",
                  "118-noimage-dex2oat",
                  "126-miranda-multidex",
                  "137-cfi"],
        "description": "The test run dalvikvm more than once.",
        "env_vars": {"ART_TEST_BISECTION": "true"},
        "variant": "optimizing | regalloc_gc"
    },
    {
        "tests": ["115-native-bridge",
                  "088-monitor-verification"],
        "description": "The test assume they are always compiled.",
        "env_vars": {"ART_TEST_BISECTION": "true"},
        "variant": "optimizing | regalloc_gc"
    },
    {
        "tests": "055-enum-performance",
        "description": ["The test tests performance which degrades during",
                        "bisecting."],
        "env_vars": {"ART_TEST_BISECTION": "true"},
        "variant": "optimizing | regalloc_gc"
    },
    {
        "tests": ["537-checker-arraycopy",
                  "641-checker-arraycopy"],
        "env_vars": {"ART_READ_BARRIER_TYPE": "TABLELOOKUP"}
    },
    {
        "tests": ["530-checker-lse",
                  "530-checker-lse2",
                  "030-bad-finalizer",
                  "080-oom-throw",
                  "1336-short-finalizer-timeout"],
        "bug": "http://b/36377828",
        "variant": "interp-ac"
    },
    {
        "tests": ["629-vdex-speed",
                  "634-vdex-duplicate"],
        "description": ["Profile driven dexlayout does not work with vdex or dex verifier."],
        "variant": "speed-profile"
    },
    {
        "test_patterns": ["616-cha.*"],
        "description": ["cha tests rely on knowing the exact set of optimizations available. ",
                        "Debuggable runtimes change the set of optimizations."],
        "variant": "debuggable"
    },
    {
        "test_patterns": ["616-cha.*"],
        "description": ["cha tests rely on knowing more about the state of the JIT then is possible with jvmti-stress"],
        "variant": "jvmti-stress & jit | redefine-stress & jit"
    },
    {
        "test_patterns": ["616-cha"],
        "description": ["The test assumes a boot image exists."],
        "bug": "http://b/34193647",
        "variant": "no-image"
    },
    {
        "tests": [ "663-odd-dex-size",
                   "663-odd-dex-size2",
                   "663-odd-dex-size3",
                   "663-odd-dex-size4" ],
        "description": ["All the odd-dex-size tests cause slicer to emit warnings."],
        "variant": "jvmti-stress | redefine-stress"
    },
    {
        "test_patterns": ["[0-9]*-checker-.*"],
        "description": ["Checker tests are not compatible with jvmti."],
        "variant": "jvmti-stress | redefine-stress | trace-stress | field-stress | step-stress"
    },
    {
        "tests": [
            "961-default-iface-resolution-gen",
            "964-default-iface-init-gen",
            "968-default-partial-compile-gen"
        ],
        "description": ["Tests that just take too long with jvmti-stress"],
        "variant": "jvmti-stress | redefine-stress | trace-stress | step-stress"
    },
    {
        "tests": ["082-inline-execute"],
        "description": ["speed-profile seems to cause the agent to be given an invalid dex file" ],
        "bug": "b/65452964",
        "variant": "redefine-stress & speed-profile | jvmti-stress & speed-profile"
    },
    {
        "tests": ["701-easy-div-rem",
                  "303-verification-stress"],
        "description": ["speed-profile leads to dex files that slicer emits warnings about"],
        "variant": "redefine-stress & speed-profile | jvmti-stress & speed-profile"
    },
    {
        "test_patterns": [
            ".*invoke-custom.*",
            ".*invoke-polymorphic.*",
            ".*methodhandle.*",
            ".*method-handle.*",
            ".*varhandle.*",
            ".*var-handle.*",
            "160-read-barrier-stress",
            "716-jli-jit-samples",
            "1975-hello-structural-transformation",
            "1976-hello-structural-static-methods",
            "1985-structural-redefine-stack-scope",
            "1986-structural-redefine-multi-thread-stack-scope",
            "1987-structural-redefine-recursive-stack-scope",
            "2000-virtual-list-structural"
        ],
        "description": [
            "Tests for/using bytecodes introduced after DEX version 037 that are unsupported by",
            "dexter/slicer."
        ],
        "bug": "b/37272822",
        "variant": "jvmti-stress | redefine-stress"
    },
    {
        "tests": [
            "004-ThreadStress",
            "130-hprof",
            "579-inline-infinite",
            "1946-list-descriptors"
        ],
        "description": ["Too slow to finish in the timeout"],
        "variant": "jvmti-stress | redefine-stress | trace-stress | field-stress | step-stress"
    },
    {
        "tests": [
            "911-get-stack-trace"
        ],
        "description": ["Tests that fail when run with step-stress for unknown reasons."],
        "bug": "b/120995005",
        "variant": "jvmti-stress | step-stress"
    },
    {
        "tests": [
            "004-SignalTest",
            "004-StackWalk",
            "064-field-access",
            "083-compiler-regressions",
            "107-int-math2",
            "129-ThreadGetId",
            "135-MirandaDispatch",
            "132-daemon-locks-shutdown",
            "163-app-image-methods",
            "607-daemon-stress",
            "674-hiddenapi",
            "687-deopt",
            "904-object-allocation"
        ],
        "description": ["Tests that sometimes fail when run with jvmti-stress for unknown reasons."],
        "bug": "b/120995005",
        "variant": "jvmti-stress | trace-stress | field-stress | step-stress"
    },
    {
        "tests": [
            "018-stack-overflow",
            "137-cfi",
            "595-profile-saving",
            "597-deopt-busy-loop",
            "597-deopt-new-string",
            "660-clinit",
            "900-hello-plugin",
            "909-attach-agent",
            "924-threads",
            "981-dedup-original-dex",
            "1900-track-alloc",
            "2230-profile-save-hotness"
        ],
        "description": ["Tests that require exact knowledge of the deoptimization state, the ",
                        "number of plugins and agents, or breaks other openjdkjvmti assumptions."],
        "variant": "jvmti-stress | redefine-stress | trace-stress | field-stress | step-stress"
    },
    {
        "tests": [
            "607-daemon-stress",
            "602-deoptimizeable",
            "121-simple-suspend-check",
            "083-compiler-regressions"
        ],
        "description": ["Tests that have failed on redefine stress for unknown reasons"],
        "bug": "b/73177368",
        "variant": "redefine-stress"
    },
    {
        "tests": [
            "638-no-line-number"
        ],
        "description": ["Tests that fail on redefine stress due to branch instruction selection"],
        "bug": "b/110869946",
        "variant": "redefine-stress"
    },
    {
        "tests": [
            "097-duplicate-method",
            "138-duplicate-classes-check2",
            "159-app-image-fields",
            "649-vdex-duplicate-method",
            "674-hiddenapi",
            "690-hiddenapi-same-name-methods",
            "804-class-extends-itself",
            "921-hello-failure",
            "999-redefine-hiddenapi"
        ],
        "description": [
            "Tests that use illegal dex files or otherwise break dexter assumptions"
        ],
        "variant": "jvmti-stress | redefine-stress"
    },
    {
        "tests": [
            "018-stack-overflow",
            "068-classloader",
            "086-null-super",
            "087-gc-after-link",
            "626-const-class-linking",
            "629-vdex-speed",
            "647-jni-get-field-id",
            "674-hiddenapi",
            "690-hiddenapi-same-name-methods",
            "691-hiddenapi-proxy",
            "692-vdex-inmem-loader",
            "693-vdex-inmem-loader-evict",
            "944-transform-classloaders",
            "999-redefine-hiddenapi",
            "2038-hiddenapi-jvmti-ext"
        ],
        "description": [
            "Tests that use custom class loaders or other features not supported ",
            "by our JVMTI implementation (such as hiddenapi, vdex or bad dex-files)"
        ],
        "variant": "jvmti-stress | redefine-stress"
    },
    {
        "tests": [
            "004-ThreadStress"
        ],
        "description": "The thread stress test just takes too long with field-stress",
        "variant": "jvmti-stress | field-stress | step-stress | redefine-stress"
    },
    {
        "tests": [
            "031-class-attributes",
            "715-clinit-implicit-parameter-annotations",
            "911-get-stack-trace"
        ],
        "description": [
            "Tests that use annotations and debug data that is not kept around by dexter."
        ],
        "bug": "b/37239009",
        "variant": "jvmti-stress | redefine-stress"
    },
    {
        "tests": [ "1911-get-local-var-table" ],
        "description": [
            "Test that relies on knowing the exact layout of a dex file"
        ],
        "variant": "jvmti-stress | redefine-stress"
    },
    {
        "tests": [
            "536-checker-needs-access-check",
            "537-checker-inline-and-unverified",
            "569-checker-pattern-replacement",
            "586-checker-null-array-get"
        ],
        "description": [
            "Tests that have verify-at-runtime classes, but being compiled when using vdex."
        ],
        "variant": "speed-profile"
    },
    {
        "tests": "648-many-direct-methods",
        "variant": "debug",
        "description": "Test disabled in debug mode because of dex2oatd timeouts.",
        "bug": "b/33650497"
    },
    {
        "tests": "1946-list-descriptors",
        "description": "ASAN+interp-ac/switch interpreter means this is too slow to finish in the timeout",
        "variant": "target & interp-ac",
        "env_vars": {"SANITIZE_TARGET": "address"}
    },
    {
        "tests": "1946-list-descriptors",
        "description": "ASAN+interp-ac/switch interpreter means this is too slow to finish in the timeout",
        "variant": "host & interp-ac",
        "env_vars": {"SANITIZE_HOST": "address"}
    },
    {
        "tests": "175-alloc-big-bignums",
        "description": "ASAN runs out of memory due to huge allocations.",
        "variant": "host",
        "env_vars": {"SANITIZE_HOST": "address"}
    },
    {
        "tests": "175-alloc-big-bignums",
        "description": "ASAN runs out of memory due to huge allocations.",
        "variant": "target",
        "env_vars": {"SANITIZE_TARGET": "hwaddress"}
    },
    {
        "tests": "202-thread-oome",
        "description": "ASAN aborts when large thread stacks are requested.",
        "variant": "host",
        "env_vars": {"SANITIZE_HOST": "address"}
    },
    {
        "tests": "202-thread-oome",
        "description": "ASAN aborts when large thread stacks are requested.",
        "variant": "target",
        "env_vars": {"SANITIZE_TARGET": "address"}
    },
    {
        "tests": [
            "018-stack-overflow",
            "107-int-math2"
        ],
        "description": [
            "Insufficient stack guards for ASAN."
        ],
        "variant": "interp-ac & host",
        "env_vars": {"SANITIZE_HOST": "address"},
        "bug": "b/31098551"
    },
    {
        "tests": [
            "018-stack-overflow",
            "107-int-math2"
        ],
        "description": [
            "Insufficient stack guards for ASAN."
        ],
        "variant": "interp-ac & target",
        "env_vars": {"SANITIZE_TARGET": "address"},
        "bug": "b/31098551"
    },
    {
        "tests": "071-dexfile-map-clean",
        "description": [ "We use prebuilt zipalign on master-art-host to avoid pulling in a lot",
                         "of the framework. But a non-sanitized zipalign binary does not work with",
                         "a sanitized libc++."],
        "env_vars": {"SANITIZE_HOST": "address"}
    },
    {
        "tests": "141-class-unload",
        "description": "Segmentation fault",
        "bug": "b/31098949",
        "env_vars": {"SANITIZE_HOST": "address"}
    },
    {
        "tests": "104-growth-limit",
        "description": "Flake",
        "bug": "b/63514331",
        "env_vars": {"SANITIZE_HOST": "address"}
    },
    {
        "tests": ["988-method-trace"],
        "variant": "redefine-stress | jvmti-stress",
        "description": "Test disabled due to redefine-stress disabling intrinsics which changes the trace output slightly."
    },
    {
        "tests": ["137-cfi", "629-vdex-speed"],
        "description": [ "Tests require speed compilation which is no longer the default for",
                          "no-prebuild or no-image configs."],
        "variant": "no-prebuild | no-image"
    },
    {
        "tests": ["059-finalizer-throw", "063-process-manager"],
        "description": [ "Tests that take too long on target with gcstress and debug" ],
        "variant": "gcstress & target & debug"
    },
    {
        "tests": ["2040-huge-native-alloc"],
        "variant": "debuggable | gcstress | interpreter | interp-ac | trace",
        "bug": "b/190148586",
        "description": [ "Checks exact GC timing; fails for many variants that alter that dramatically." ]
    },
    {
        "tests": ["2040-huge-native-alloc"],
        "env_vars": {"SANITIZE_HOST": "address"},
        "description": [ "Depends on other native allocated memory, probably confused by shadow memory." ]
    },
    {
        "tests": ["905-object-free"],
        "description": [ "Flake on gcstress" ],
        "bug": "b/62562923",
        "variant": "gcstress & jit & target"
    },
    {
        "tests": "660-clinit",
        "variant": "no-image | no-prebuild | jvmti-stress | redefine-stress | interp-ac | debuggable",
        "description": ["Tests <clinit> for app images, which --no-image, --no-prebuild, ",
                        "and --redefine-stress do not create. Also avoid for ",
                        "verify-soft-fail (interp-ac) and debuggable since they prevent ",
                        "initialization."]
    },
    {
        "tests": ["961-default-iface-resolution-gen",
                  "964-default-iface-init-gen",
                  "968-default-partial-compile-gen"],
        "env_vars": {"SANITIZE_HOST": "address"},
        "description": ["Test hits dex2oat watchdog timeout (60sec) on art-asan"]
    },
    {
        "tests": "664-aget-verifier",
        "description": ["Aget on potentially null array fails verification."],
        "bug": "b/64683522"
    },
    {
        "tests": ["628-vdex",
                  "629-vdex-speed",
                  "634-vdex-duplicate"],
        "variant": "cdex-fast",
        "description": ["Tests that depend on input-vdex are not supported with compact dex"]
    },
    {
        "tests": ["661-oat-writer-layout"],
        "variant": "interp-ac | interpreter | jit | jit-on-first-use | no-prebuild | no-image | trace | redefine-stress | jvmti-stress",
        "description": ["Test is designed to only check --optimizing"]
    },
    {
        "tests": ["004-StackWalk"],
        "variant": "speed-profile | interp-ac | interpreter | jit | no-prebuild | no-image | trace | redefine-stress | jvmti-stress | debuggable",
        "description": ["Test is designed to only check --optimizing"]
    },
    {
        "tests": "674-HelloWorld-Dm",
        "variant": "target",
        "description": ["Requires zip, which isn't available on device"]
    },
    {
        "tests": [
          "1965-get-set-local-primitive-no-tables",
          "1966-get-set-local-objects-no-table"
        ],
        "variant": "jvm",
        "bug": "133241695",
        "description": [
          "The RI is wildly inconsistent about how it handles Get/SetLocalVariable when classes ",
          "lack debug info."
        ]
    },
    {
        "tests": ["683-clinit-inline-static-invoke"],
        "variant": "jvm",
        "description": ["Uses android-specific boot image class."]
    },
    {
        "tests": ["1941-dispose-stress", "522-checker-regression-monitor-exit"],
        "variant": "jvm",
        "bug": "b/73888836",
        "description": ["Hangs forever, times out."]
    },
    {
        "tests": [
          "004-JniTest",
          "004-NativeAllocations",
          "004-ReferenceMap",
          "004-SignalTest",
          "004-StackWalk",
          "004-ThreadStress",
          "004-UnsafeTest",
          "005-annotations",
          "008-exceptions",
          "020-string",
          "021-string2",
          "030-bad-finalizer",
          "031-class-attributes",
          "034-call-null",
          "038-inner-null",
          "044-proxy",
          "046-reflect",
          "064-field-access",
          "068-classloader",
          "070-nio-buffer",
          "071-dexfile",
          "071-dexfile-get-static-size",
          "071-dexfile-map-clean",
          "082-inline-execute",
          "086-null-super",
          "087-gc-after-link",
          "088-monitor-verification",
          "091-override-package-private-method",
          "097-duplicate-method",
          "099-vmdebug",
          "100-reflect2",
          "104-growth-limit",
          "111-unresolvable-exception",
          "115-native-bridge",
          "116-nodex2oat",
          "118-noimage-dex2oat",
          "127-checker-secondarydex",
          "129-ThreadGetId",
          "130-hprof",
          "1337-gc-coverage",
          "1338-gc-no-los",
          "134-reg-promotion",
          "135-MirandaDispatch",
          "136-daemon-jni-shutdown",
          "137-cfi",
          "138-duplicate-classes-check",
          "138-duplicate-classes-check2",
          "140-field-packing",
          "141-class-unload",
          "142-classloader2",
          "143-string-value",
          "144-static-field-sigquit",
          "145-alloc-tracking-stress",
          "146-bad-interface",
          "148-multithread-gc-annotations",
          "150-loadlibrary",
          "154-gc-loop",
          "156-register-dex-file-multi-loader",
          "157-void-class",
          "158-app-image-class-table",
          "159-app-image-fields",
          "161-final-abstract-class",
          "163-app-image-methods",
          "164-resolution-trampoline-dex-cache",
          "167-visit-locks",
          "168-vmstack-annotated",
          "172-app-image-twice",
          "177-visibly-initialized-deadlock",
          "201-built-in-except-detail-messages",
          "203-multi-checkpoint",
          "304-method-tracing",
          "305-other-fault-handler",
          "412-new-array",
          "416-optimizing-arith-not",
          "425-invoke-super",
          "431-type-propagation",
          "432-optimizing-cmp",
          "434-invoke-direct",
          "435-new-instance",
          "442-checker-constant-folding",
          "448-multiple-returns",
          "449-checker-bce",
          "452-multiple-returns2",
          "453-not-byte",
          "454-get-vreg",
          "457-regs",
          "458-checker-instruct-simplification",
          "459-dead-phi",
          "460-multiple-returns3",
          "461-get-reference-vreg",
          "466-get-live-vreg",
          "467-regalloc-pair",
          "468-checker-bool-simplif-regression",
          "471-uninitialized-locals",
          "472-unreachable-if-regression",
          "475-regression-inliner-ids",
          "496-checker-inlining-class-loader",
          "498-type-propagation",
          "501-null-constant-dce",
          "501-regression-packed-switch",
          "503-dead-instructions",
          "504-regression-baseline-entry",
          "506-verify-aput",
          "509-pre-header",
          "510-checker-try-catch",
          "511-clinit-interface",
          "515-dce-dominator",
          "516-dead-move-result",
          "517-checker-builder-fallthrough",
          "518-null-array-get",
          "520-equivalent-phi",
          "529-checker-unresolved",
          "530-checker-lse3",
          "530-checker-regression-reftyp-final",
          "536-checker-intrinsic-optimization",
          "536-checker-needs-access-check",
          "541-regression-inlined-deopt",
          "543-env-long-ref",
          "545-tracing-and-jit",
          "550-checker-regression-wide-store",
          "551-invoke-super",
          "552-checker-primitive-typeprop",
          "552-invoke-non-existent-super",
          "553-invoke-super",
          "556-invoke-super",
          "559-checker-irreducible-loop",
          "563-checker-fakestring",
          "564-checker-irreducible-loop",
          "565-checker-doublenegbitwise",
          "565-checker-irreducible-loop",
          "566-polymorphic-inlining",
          "569-checker-pattern-replacement",
          "570-checker-osr",
          "571-irreducible-loop",
          "574-irreducible-and-constant-area",
          "575-checker-string-init-alias",
          "580-checker-string-fact-intrinsics",
          "580-checker-fp16",
          "585-inline-unresolved",
          "586-checker-null-array-get",
          "587-inline-class-error",
          "588-checker-irreducib-lifetime-hole",
          "591-new-instance-string",
          "592-checker-regression-bool-input",
          "593-checker-boolean-2-integral-conv",
          "593-checker-shift-and-simplifier",
          "594-invoke-super",
          "595-error-class",
          "595-profile-saving",
          "596-app-images",
          "596-checker-dead-phi",
          "596-monitor-inflation",
          "597-deopt-busy-loop",
          "597-deopt-invoke-stub",
          "597-deopt-new-string",
          "599-checker-irreducible-loop",
          "600-verifier-fails",
          "601-method-access",
          "602-deoptimizeable",
          "605-new-string-from-bytes",
          "608-checker-unresolved-lse",
          "612-jit-dex-cache",
          "613-inlining-dex-cache",
          "616-cha",
          "616-cha-abstract",
          "616-cha-interface",
          "616-cha-interface-default",
          "616-cha-miranda",
          "622-simplifyifs-exception-edges",
          "624-checker-stringops",
          "626-const-class-linking",
          "628-vdex",
          "629-vdex-speed",
          "630-safecast-array",
          "633-checker-rtp-getclass",
          "634-vdex-duplicate",
          "636-wrong-static-access",
          "638-checker-inline-cache-intrinsic",
          "638-checker-inline-caches",
          "638-no-line-number",
          "641-irreducible-inline",
          "643-checker-bogus-ic",
          "645-checker-abs-simd",
          "647-jni-get-field-id",
          "647-sinking-catch",
          "648-inline-caches-unresolved",
          "649-vdex-duplicate-method",
          "652-deopt-intrinsic",
          "656-annotation-lookup-generic-jni",
          "659-unpadded-array",
          "660-clinit",
          "660-store-8-16",
          "661-classloader-allocator",
          "661-oat-writer-layout",
          "663-checker-select-generator",
          "663-odd-dex-size",
          "663-odd-dex-size2",
          "663-odd-dex-size3",
          "663-odd-dex-size4",
          "667-jit-jni-stub",
          "667-out-of-bounds",
          "668-aiobe",
          "674-hotness-compiled",
          "674-vdex-uncompress",
          "675-checker-unverified-method",
          "676-proxy-jit-at-first-use",
          "676-resolve-field-type",
          "685-deoptimizeable",
          "685-shifts",
          "686-get-this",
          "687-deopt",
          "699-checker-string-append2",
          "706-checker-scheduler",
          "707-checker-invalid-profile",
          "714-invoke-custom-lambda-metafactory",
          "716-jli-jit-samples",
          "729-checker-polymorphic-intrinsic",
          "800-smali",
          "801-VoidCheckCast",
          "802-deoptimization",
          "804-class-extends-itself",
          "816-illegal-new-array",
          "819-verification-runtime",
          "823-cha-inlining",
          "900-hello-plugin",
          "901-hello-ti-agent",
          "903-hello-tagging",
          "904-object-allocation",
          "906-iterate-heap",
          "909-attach-agent",
          "910-methods",
          "911-get-stack-trace",
          "912-classes",
          "913-heaps",
          "918-fields",
          "920-objects",
          "922-properties",
          "924-threads",
          "925-threadgroups",
          "927-timers",
          "929-search",
          "931-agent-thread",
          "933-misc-events",
          "936-search-onload",
          "939-hello-transformation-bcp",
          "944-transform-classloaders",
          "946-obsolete-throw",
          "948-change-annotations",
          "950-redefine-intrinsic",
          "954-invoke-polymorphic-verifier",
          "955-methodhandles-smali",
          "956-methodhandles",
          "957-methodhandle-transforms",
          "958-methodhandle-stackframe",
          "972-default-imt-collision",
          "972-iface-super-multidex",
          "973-default-multidex",
          "974-verify-interface-super",
          "975-iface-private",
          "976-conflict-no-methods",
          "978-virtual-interface",
          "980-redefine-object",
          "981-dedup-original-dex",
          "983-source-transform-verify",
          "986-native-method-bind",
          "988-method-trace",
          "989-method-trace-throw",
          "993-breakpoints",
          "1002-notify-startup",
          "1003-metadata-section-strings",
          "1336-short-finalizer-timeout",
          "1900-track-alloc",
          "1906-suspend-list-me-first",
          "1914-get-local-instance",
          "1926-missed-frame-pop",
          "1930-monitor-info",
          "1932-monitor-events-misc",
          "1935-get-set-current-frame-jit",
          "1938-transform-abstract-single-impl",
          "1939-proxy-frames",
          "1940-ddms-ext",
          "1945-proxy-method-arguments",
          "1946-list-descriptors",
          "1947-breakpoint-redefine-deopt",
          "2230-profile-save-hotness"
        ],
        "variant": "jvm",
        "bug": "b/73888836",
        "description": ["Failing on RI. Needs further investigating. Some of these use smali."]
    },
    {
      "tests": [
                  "1974-resize-array",
                  "1975-hello-structural-transformation",
                  "1976-hello-structural-static-methods",
                  "1977-hello-structural-obsolescence",
                  "1978-regular-obsolete-then-structural-obsolescence",
                  "1979-threaded-structural-transformation",
                  "1980-obsolete-object-cleared",
                  "1981-structural-redef-private-method-handles",
                  "1982-no-virtuals-structural-redefinition",
                  "1983-structural-redefinition-failures",
                  "1984-structural-redefine-field-trace",
                  "1985-structural-redefine-stack-scope",
                  "1986-structural-redefine-multi-thread-stack-scope",
                  "1987-structural-redefine-recursive-stack-scope",
                  "1988-multi-structural-redefine",
                  "1989-transform-bad-monitor",
                  "1990-structural-bad-verify",
                  "1991-hello-structural-retransform",
                  "1992-retransform-no-such-field",
                  "1993-fallback-non-structural",
                  "1994-final-virtual-structural",
                  "1995-final-virtual-structural-multithread",
                  "1996-final-override-virtual-structural",
                  "1997-structural-shadow-method",
                  "1998-structural-shadow-field",
                  "1999-virtual-structural",
                  "2000-virtual-list-structural",
                  "2001-virtual-structural-multithread",
                  "2002-virtual-structural-initializing",
                  "2003-double-virtual-structural",
                  "2004-double-virtual-structural-abstract",
                  "2005-pause-all-redefine-multithreaded",
                  "2006-virtual-structural-finalizing",
                  "2007-virtual-structural-finalizable"
                ],
        "env_vars": {"ART_USE_READ_BARRIER": "false"},
        "description": ["Relies on the accuracy of the Heap::VisitObjects function which is broken",
                        " when READ_BARRIER==false (I.e. On CMS collector)."],
        "bug": "b/147207934"
    },
    {
        "tests": ["178-app-image-native-method",
                  "530-checker-peel-unroll",
                  "616-cha-unloading",
                  "674-hiddenapi",
                  "677-fsi2",
                  "678-quickening",
                  "679-locks",
                  "688-shared-library",
                  "689-zygote-jit-deopt",
                  "690-hiddenapi-same-name-methods",
                  "691-hiddenapi-proxy",
                  "692-vdex-secondary-loader",
                  "692-vdex-inmem-loader",
                  "693-vdex-inmem-loader-evict",
                  "723-string-init-range",
                  "808-checker-invoke-super",
                  "809-checker-invoke-super-bss",
                  "810-checker-invoke-super-default",
                  "811-checker-invoke-super-secondary",
                  "817-hiddenapi",
                  "820-vdex-multidex",
                  "821-many-args",
                  "822-hiddenapi-future",
                  "999-redefine-hiddenapi",
                  "1000-non-moving-space-stress",
                  "1001-app-image-regions",
                  "1339-dead-reference-safe",
                  "1951-monitor-enter-no-suspend",
                  "1957-error-ext",
                  "1972-jni-id-swap-indices",
                  "1973-jni-id-swap-pointer",
                  "1974-resize-array",
                  "1975-hello-structural-transformation",
                  "1976-hello-structural-static-methods",
                  "1977-hello-structural-obsolescence",
                  "1978-regular-obsolete-then-structural-obsolescence",
                  "1979-threaded-structural-transformation",
                  "1980-obsolete-object-cleared",
                  "1981-structural-redef-private-method-handles",
                  "1982-no-virtuals-structural-redefinition",
                  "1983-structural-redefinition-failures",
                  "1984-structural-redefine-field-trace",
                  "1985-structural-redefine-stack-scope",
                  "1986-structural-redefine-multi-thread-stack-scope",
                  "1987-structural-redefine-recursive-stack-scope",
                  "1988-multi-structural-redefine",
                  "1989-transform-bad-monitor",
                  "1990-structural-bad-verify",
                  "1991-hello-structural-retransform",
                  "1992-retransform-no-such-field",
                  "1993-fallback-non-structural",
                  "1994-final-virtual-structural",
                  "1995-final-virtual-structural-multithread",
                  "1996-final-override-virtual-structural",
                  "1997-structural-shadow-method",
                  "1998-structural-shadow-field",
                  "1999-virtual-structural",
                  "2000-virtual-list-structural",
                  "2001-virtual-structural-multithread",
                  "2002-virtual-structural-initializing",
                  "2003-double-virtual-structural",
                  "2004-double-virtual-structural-abstract",
                  "2005-pause-all-redefine-multithreaded",
                  "2006-virtual-structural-finalizing",
                  "2007-virtual-structural-finalizable",
                  "2009-structural-local-ref",
                  "2011-stack-walk-concurrent-instrument",
                  "2012-structural-redefinition-failures-jni-id",
                  "2033-shutdown-mechanics",
                  "2035-structural-native-method",
                  "2036-structural-subclass-shadow",
                  "2038-hiddenapi-jvmti-ext",
                  "2040-huge-native-alloc"],
        "variant": "jvm",
        "description": ["Doesn't run on RI."]
    },
    {
        "tests": ["121-modifiers",
                  "1929-exception-catch-exception"],
        "variant": "jvm",
        "bug": "b/76399183",
        "description": ["New failures to be investigated."]
    },
    {
        "tests": ["616-cha-unloading"],
        "variant": "trace",
        "description": ["Trace prevents class unloading."]
    },
    {
        "tests": "677-fsi",
        "variant": "no-image | no-prebuild | jvm",
        "description": ["Test requires a successful dex2oat invocation"]
    },
    {
        "tests": ["990-field-trace",
                  "991-field-trace-2"],
        "variant": "gcstress & debug & target",
        "description": ["Test can time out on gcstress with debug"]
    },
    {
        "tests": ["080-oom-throw"],
        "variant": "jit",
        "bug": "b/77567088",
        "description": ["Test throws exception before or during OOME."]
    },
    {
        "tests": ["151-OpenFileLimit"],
        "variant": "gcstress",
        "bug": "b/111544552",
        "description" : ["Gcstress requires the ability to open at least one file which means this test fails when it runs out."]
    },
    {
        "tests": ["530-checker-lse2", "141-class-unload", "071-dexfile"],
        "variant": "gcstress",
        "bug": "b/111543628",
        "description" : ["Test seems to timeout when run with gcstress due to slower unwinding by libbacktrace"]
    },
    {
        "tests": ["708-jit-cache-churn"],
        "variant": "gcstress",
        "bug": "b/147358440",
        "description" : ["Times out under gcstress since https://r.android.com/1200060."]
    },
    {
        "tests": ["712-varhandle-invocations"],
        "variant": "gcstress",
        "bug": "b/111630237",
        "description": ["Test timing out under gcstress possibly due to slower unwinding by libbacktrace"]
    },
    {
        "tests": ["1336-short-finalizer-timeout"],
        "variant": "gcstress",
        "bug": "b/68792448",
        "description": ["Timing margins are too tight for gcstress"]
    },
    {
        "tests": ["021-string2"],
        "variant": "jit & debuggable",
        "bug": "b/109791792",
        "description": ["Stack too big."]
    },
    {
        "tests": ["566-polymorphic-inlining"],
        "variant": "jit & debuggable",
        "description": ["We do not inline with debuggable."]
    },
    {
        "tests": ["1955-pop-frame-jit-called", "1956-pop-frame-jit-calling"],
        "variant": "jit-on-first-use",
        "description": [
          "These tests directly set -Xjitthreshold:1000 to prevent the jit from compiling any",
          "extra methods. jit-at-first-use would disrupt this."
        ]
    },
    {
        "tests": ["454-get-vreg", "457-regs"],
        "variant": "baseline",
        "description": ["Tests are expected to fail with baseline."]
    },
    {
        "tests": ["1339-dead-reference-safe"],
        "variant": "debuggable",
        "description": [ "Fails to eliminate dead reference when debuggable." ]
    },
    {
        "tests": ["004-ReferenceMap",
                  "449-checker-bce",
                  "466-get-live-vreg",
                  "563-checker-fakestring",
                  "575-checker-string-init-alias"],
        "variant": "baseline",
        "description": [ "Working as intended tests that don't pass with baseline." ]
    },
    {
        "tests": ["1004-checker-volatile-ref-load"],
        "env_vars": {"ART_USE_READ_BARRIER": "false"},
        "bug": "b/140507091",
        "description": ["Test containing Checker assertions expecting Baker read barriers."]
    },
    {
        "tests": ["1004-checker-volatile-ref-load"],
        "env_vars": {"ART_READ_BARRIER_TYPE": "TABLELOOKUP"},
        "bug": "b/140507091",
        "description": ["Test containing Checker assertions expecting Baker read barriers."]
    },
    {
        "tests": ["689-zygote-jit-deopt"],
        "variant": "gcstress",
        "bug": "b/137887811",
        "description": ["Occasional timeouts."]
    },
    {
        "tests": ["2031-zygote-compiled-frame-deopt"],
        "zipapex": true,
        "bug": "b/144947842",
        "description": ["This test requires strong knowledge about where the libdir is",
                        "which the zipapex runner breaks."]
    },
    {
        "tests": ["909-attach-agent", "126-miranda-multidex"],
        "zipapex": true,
        "bug": "b/135507613",
        "description": ["These tests run dalvikvm multiple times, this can mess up the",
                        "zipapex runner."]
    },
    {
        "tests": ["175-alloc-big-bignums"],
        "variant": "interpreter | interp-ac | trace | no-image | debuggable | prebuild",
        "bug": "b/174470490",
        "description": "Interpreting BigInteger.add() is too slow (timeouts)"
    },
    {
        "tests": ["2029-contended-monitors"],
        "variant": "interpreter | interp-ac | gcstress | trace",
        "description": ["Slow test. Prone to timeouts."]
    },
    {
        "tests": ["096-array-copy-concurrent-gc"],
        "variant": "gcstress & debuggable & debug & host",
        "bug": "b/149708943",
        "description": ["Timeouts."]
    },
    {
        "tests": ["003-omnibus-opcodes",
                  "051-thread",
                  "427-bounds",
                  "570-checker-osr-locals",
                  "597-app-images-same-classloader",
                  "724-invoke-super-npe",
                  "725-imt-conflict-object",
                  "952-invoke-custom",
                  "960-default-smali",
                  "966-default-conflict",
                  "990-field-trace",
                  "2034-spaces-in-SimpleName"],
        "variant": "jvm",
        "bug": "b/154802847",
        "description": ["Failing on RI. Needs further investigating."]
    },
    {
        "tests": ["122-npe", "160-read-barrier-stress"],
        "variant": "jvm",
        "description": ["Reference.refersTo() not supported on old version of RI."]
    },
    {
        "tests": ["2232-write-metrics-to-log"],
        "variant": "jvm",
        "description": ["RI does not support ART metrics."]
    },
    {
        "tests": ["2232-write-metrics-to-log"],
        "variant": "target",
        "description": ["Checks LOG_STREAM output, which cannot be captured on target."]
    },
    {
        "tests": ["053-wait-some"],
        "env_vars": {"ART_TEST_DEBUG_GC": "true"},
        "bug": "b/175435088",
        "description": ["Test is time-sensitive and fails on debug-gc configuration."]
    },
    {
        "tests": ["053-wait-some"],
        "variant": "gcstress | interp-ac",
        "bug": "b/175435088",
        "description": ["Test is time-sensitive and fails on gcstress and",
                        "interpreter-access-checks configurations."]
    },
    {
        "tests": ["821-madvise-willneed"],
        "variant": "jvm",
        "description": ["Adding custom madvise flags. Not to be tested on default jvm"]
    },
    {
        "tests": ["692-vdex-secondary-loader"],
        "env_vars": {"ART_USE_READ_BARRIER": "false"},
        "description": ["Uses the low-ram flag which does not work with CMS"]
    },
    {
        "tests": ["150-loadlibrary",
                  "656-annotation-lookup-generic-jni",
                  "674-hiddenapi",
                  "817-hiddenapi",
                  "900-hello-plugin"],
        "variant": "target",
        "bug": "b/186654484",
        "description": ["Disabled after the switch to avoid allow_all_shared_libs from the ART namespace to system."]
    },
    {
        "tests": ["2001-virtual-structural-multithread"],
        "env_vars": {"SANITIZE_HOST": "address"},
        "bug": "b/176786675",
        "description": ["Out of memory"]
    },
    {
        "tests": ["2001-virtual-structural-multithread"],
        "env_vars": {"ART_HEAP_POISONING": "true"},
        "variant": "host",
        "bug": "b/176786675",
        "description": ["Out of memory"]
    }
]
