run-tests with jvmti-stress configuration
Adds a jvmti-stress mode to our run-tests. This mode runs our test
suite with every class-load being intercepted and undergoing
redefinition.
Test: DEXTER_BINARY="/path/to/built/dexter" \
./testrunner/testrunner.py --host --jvmti-stress -j40
Change-Id: I898e5cffea42a203aa4c45981b48baf8dc64fbb6
diff --git a/test/knownfailures.json b/test/knownfailures.json
index 7891d4c..26b9ccb 100644
--- a/test/knownfailures.json
+++ b/test/knownfailures.json
@@ -366,5 +366,261 @@
"634-vdex-duplicate"],
"description": ["Profile driven dexlayout does not work with vdex or dex verifier."],
"variant": "speed-profile"
+ },
+ {
+ "tests": [
+ "004-checker-UnsafeTest18",
+ "127-checker-secondarydex",
+ "441-checker-inliner",
+ "442-checker-constant-folding",
+ "444-checker-nce",
+ "445-checker-licm",
+ "446-checker-inliner2",
+ "447-checker-inliner3",
+ "449-checker-bce",
+ "450-checker-types",
+ "455-checker-gvn",
+ "458-checker-instruct-simplification",
+ "462-checker-inlining-dex-files",
+ "463-checker-boolean-simplifier",
+ "464-checker-inline-sharpen-calls",
+ "465-checker-clinit-gvn",
+ "468-checker-bool-simplif-regression",
+ "473-checker-inliner-constants",
+ "474-checker-boolean-input",
+ "476-checker-ctor-memory-barrier",
+ "477-checker-bound-type",
+ "478-checker-clinit-check-pruning",
+ "478-checker-inline-noreturn",
+ "478-checker-inliner-nested-loop",
+ "480-checker-dead-blocks",
+ "482-checker-loop-back-edge-use",
+ "484-checker-register-hints",
+ "485-checker-dce-loop-update",
+ "485-checker-dce-switch",
+ "486-checker-must-do-null-check",
+ "487-checker-inline-calls",
+ "488-checker-inline-recursive-calls",
+ "490-checker-inline",
+ "492-checker-inline-invoke-interface",
+ "493-checker-inline-invoke-interface",
+ "494-checker-instanceof-tests",
+ "495-checker-checkcast-tests",
+ "496-checker-inlining-class-loader",
+ "508-checker-disassembly",
+ "510-checker-try-catch",
+ "517-checker-builder-fallthrough",
+ "521-checker-array-set-null",
+ "522-checker-regression-monitor-exit",
+ "523-checker-can-throw-regression",
+ "525-checker-arrays-fields1",
+ "525-checker-arrays-fields2",
+ "526-checker-caller-callee-regs",
+ "527-checker-array-access-split",
+ "529-checker-unresolved",
+ "530-checker-loops1",
+ "530-checker-loops2",
+ "530-checker-loops3",
+ "530-checker-loops4",
+ "530-checker-loops5",
+ "530-checker-lse",
+ "530-checker-lse2",
+ "530-checker-regression-reftyp-final",
+ "532-checker-nonnull-arrayset",
+ "534-checker-bce-deoptimization",
+ "536-checker-intrinsic-optimization",
+ "536-checker-needs-access-check",
+ "537-checker-arraycopy",
+ "537-checker-debuggable",
+ "537-checker-inline-and-unverified",
+ "537-checker-jump-over-jump",
+ "538-checker-embed-constants",
+ "540-checker-rtp-bug",
+ "543-checker-dce-trycatch",
+ "548-checker-inlining-and-dce",
+ "549-checker-types-merge",
+ "550-checker-multiply-accumulate",
+ "550-checker-regression-wide-store",
+ "551-checker-clinit",
+ "551-checker-shifter-operand",
+ "552-checker-primitive-typeprop",
+ "552-checker-sharpening",
+ "554-checker-rtp-checkcast",
+ "557-checker-instruct-simplifier-ror",
+ "557-checker-ref-equivalent",
+ "559-checker-irreducible-loop",
+ "559-checker-rtp-ifnotnull",
+ "562-checker-no-intermediate",
+ "563-checker-fakestring",
+ "563-checker-invoke-super",
+ "564-checker-bitcount",
+ "564-checker-inline-loop",
+ "564-checker-irreducible-loop",
+ "564-checker-negbitwise",
+ "565-checker-condition-liveness",
+ "565-checker-doublenegbitwise",
+ "565-checker-irreducible-loop",
+ "565-checker-rotate",
+ "566-checker-codegen-select",
+ "566-checker-signum",
+ "567-checker-compare",
+ "568-checker-onebit",
+ "569-checker-pattern-replacement",
+ "570-checker-osr",
+ "570-checker-select",
+ "572-checker-array-get-regression",
+ "573-checker-checkcast-regression",
+ "575-checker-isnan",
+ "575-checker-string-init-alias",
+ "577-checker-fp2int",
+ "580-checker-round",
+ "580-checker-string-fact-intrinsics",
+ "582-checker-bce-length",
+ "583-checker-zero",
+ "584-checker-div-bool",
+ "586-checker-null-array-get",
+ "588-checker-irreducib-lifetime-hole",
+ "590-checker-arr-set-null-regression",
+ "591-checker-regression-dead-loop",
+ "592-checker-regression-bool-input",
+ "593-checker-boolean-2-integral-conv",
+ "593-checker-long-2-float-regression",
+ "593-checker-shift-and-simplifier",
+ "594-checker-array-alias",
+ "594-checker-irreducible-linorder",
+ "596-checker-dead-phi",
+ "598-checker-irreducible-dominance",
+ "599-checker-irreducible-loop",
+ "603-checker-instanceof",
+ "608-checker-unresolved-lse",
+ "609-checker-inline-interface",
+ "609-checker-x86-bounds-check",
+ "611-checker-simplify-if",
+ "614-checker-dump-constant-location",
+ "615-checker-arm64-store-zero",
+ "618-checker-induction",
+ "619-checker-current-method",
+ "620-checker-bce-intrinsics",
+ "622-checker-bce-regressions",
+ "623-checker-loop-regressions",
+ "624-checker-stringops",
+ "625-checker-licm-regressions",
+ "626-checker-arm64-scratch-register",
+ "627-checker-unroll",
+ "631-checker-fp-abs",
+ "631-checker-get-class",
+ "632-checker-char-at-bounds",
+ "633-checker-rtp-getclass",
+ "635-checker-arm64-volatile-load-cc",
+ "637-checker-throw-inline",
+ "638-checker-inline-caches",
+ "639-checker-code-sinking",
+ "640-checker-boolean-simd",
+ "640-checker-byte-simd",
+ "640-checker-char-simd",
+ "640-checker-double-simd",
+ "640-checker-float-simd",
+ "640-checker-integer-valueof",
+ "640-checker-int-simd",
+ "640-checker-long-simd",
+ "640-checker-short-simd",
+ "641-checker-arraycopy",
+ "643-checker-bogus-ic",
+ "644-checker-deopt",
+ "645-checker-abs-simd",
+ "706-checker-scheduler"],
+ "description": ["Checker tests are not compatible with jvmti."],
+ "variant": "jvmti-stress"
+ },
+ {
+ "tests": [
+ "961-default-iface-resolution-gen",
+ "964-default-iface-init-gen"
+ ],
+ "description": ["Tests that just take too long with jvmti-stress"],
+ "variant": "jvmti-stress"
+ },
+ {
+ "tests": [
+ "950-redefine-intrinsic",
+ "951-threaded-obsolete",
+ "952-invoke-custom",
+ "953-invoke-polymorphic-compiler",
+ "954-invoke-polymorphic-verifier",
+ "955-methodhandles-smali",
+ "956-methodhandles",
+ "957-methodhandle-transforms",
+ "958-methodhandle-stackframe",
+ "959-invoke-polymorphic-accessors"
+ ],
+ "description": [
+ "Tests that use dex version 38 which is not yet supported by",
+ "dexter/slicer."
+ ],
+ "bug": "b/37272822",
+ "variant": "jvmti-stress"
+ },
+ {
+ "tests": [
+ "137-cfi",
+ "595-profile-saving",
+ "900-hello-plugin",
+ "909-attach-agent",
+ "981-dedup-original-dex"
+ ],
+ "description": ["Tests that require exact knowledge of the number of plugins and agents."],
+ "variant": "jvmti-stress"
+ },
+ {
+ "tests": [
+ "097-duplicate-method",
+ "138-duplicate-classes-check2",
+ "804-class-extends-itself",
+ "921-hello-failure"
+ ],
+ "description": [
+ "Tests that use illegal dex files or otherwise break dexter assumptions"
+ ],
+ "variant": "jvmti-stress"
+ },
+ {
+ "tests": [
+ "018-stack-overflow",
+ "068-classloader",
+ "086-null-super",
+ "087-gc-after-link",
+ "626-const-class-linking",
+ "629-vdex-speed",
+ "944-transform-classloaders"
+ ],
+ "description": [
+ "Tests that use custom class loaders or other features not supported ",
+ "by our JVMTI implementation"
+ ],
+ "variant": "jvmti-stress"
+ },
+ {
+ "tests": [
+ "008-exceptions",
+ "031-class-attributes",
+ "034-call-null",
+ "038-inner-null",
+ "054-uncaught",
+ "122-npe",
+ "439-npe",
+ "911-get-stack-trace",
+ "946-obsolete-throw"
+ ],
+ "description": [
+ "Tests that use annotations and debug data that is not kept around by dexter."
+ ],
+ "bug": "b/37240685 & b/37239009",
+ "variant": "jvmti-stress"
+ },
+ {
+ "tests": ["901-hello-ti-agent"],
+ "description": ["Test fails to call VMInit event for unknown reasons."],
+ "bug": "b/37283252",
+ "variant": "jvmti-stress"
}
]