Add blueprint modules to generate jar files for gtests.
This will be needed to run gtests under atest.
The output is unused for now.
Some of the tests in makefile were renamed for consistency.
Test: m test-art-host-gtest
Bug: 147819342
Bug: 147817606
Change-Id: I96db24406881a2adeeec7889f04681ae18352b16
diff --git a/build/Android.gtest.mk b/build/Android.gtest.mk
index 960a51e..6775790 100644
--- a/build/Android.gtest.mk
+++ b/build/Android.gtest.mk
@@ -76,10 +76,10 @@
ART_TEST_HOST_GTEST_MainStripped_DEX := $(basename $(ART_TEST_HOST_GTEST_Main_DEX))Stripped$(suffix $(ART_TEST_HOST_GTEST_Main_DEX))
ART_TEST_TARGET_GTEST_MainStripped_DEX := $(basename $(ART_TEST_TARGET_GTEST_Main_DEX))Stripped$(suffix $(ART_TEST_TARGET_GTEST_Main_DEX))
-# Create rules for MainUncompressed, a copy of Main with the classes.dex uncompressed
+# Create rules for MainUncompressedAligned, a copy of Main with the classes.dex uncompressed
# for the dex2oat tests.
-ART_TEST_HOST_GTEST_MainUncompressed_DEX := $(basename $(ART_TEST_HOST_GTEST_Main_DEX))Uncompressed$(suffix $(ART_TEST_HOST_GTEST_Main_DEX))
-ART_TEST_TARGET_GTEST_MainUncompressed_DEX := $(basename $(ART_TEST_TARGET_GTEST_Main_DEX))Uncompressed$(suffix $(ART_TEST_TARGET_GTEST_Main_DEX))
+ART_TEST_HOST_GTEST_MainUncompressedAligned_DEX := $(basename $(ART_TEST_HOST_GTEST_Main_DEX))UncompressedAligned$(suffix $(ART_TEST_HOST_GTEST_Main_DEX))
+ART_TEST_TARGET_GTEST_MainUncompressedAligned_DEX := $(basename $(ART_TEST_TARGET_GTEST_Main_DEX))UncompressedAligned$(suffix $(ART_TEST_TARGET_GTEST_Main_DEX))
# Create rules for UncompressedEmpty, a classes.dex that is empty and uncompressed
# for the dex2oat tests.
@@ -91,10 +91,10 @@
ART_TEST_HOST_GTEST_EmptyUncompressedAligned_DEX := $(basename $(ART_TEST_HOST_GTEST_Main_DEX))EmptyUncompressedAligned$(suffix $(ART_TEST_HOST_GTEST_Main_DEX))
ART_TEST_TARGET_GTEST_EmptyUncompressedAligned_DEX := $(basename $(ART_TEST_TARGET_GTEST_Main_DEX))EmptyUncompressedAligned$(suffix $(ART_TEST_TARGET_GTEST_Main_DEX))
-# Create rules for MultiDexUncompressed, a copy of MultiDex with the classes.dex uncompressed
+# Create rules for MultiDexUncompressedAligned, a copy of MultiDex with the classes.dex uncompressed
# for the OatFile tests.
-ART_TEST_HOST_GTEST_MultiDexUncompressed_DEX := $(basename $(ART_TEST_HOST_GTEST_MultiDex_DEX))Uncompressed$(suffix $(ART_TEST_HOST_GTEST_MultiDex_DEX))
-ART_TEST_TARGET_GTEST_MultiDexUncompressed_DEX := $(basename $(ART_TEST_TARGET_GTEST_MultiDex_DEX))Uncompressed$(suffix $(ART_TEST_TARGET_GTEST_MultiDex_DEX))
+ART_TEST_HOST_GTEST_MultiDexUncompressedAligned_DEX := $(basename $(ART_TEST_HOST_GTEST_MultiDex_DEX))UncompressedAligned$(suffix $(ART_TEST_HOST_GTEST_MultiDex_DEX))
+ART_TEST_TARGET_GTEST_MultiDexUncompressedAligned_DEX := $(basename $(ART_TEST_TARGET_GTEST_MultiDex_DEX))UncompressedAligned$(suffix $(ART_TEST_TARGET_GTEST_MultiDex_DEX))
ifdef ART_TEST_HOST_GTEST_Main_DEX
$(ART_TEST_HOST_GTEST_MainStripped_DEX): $(ART_TEST_HOST_GTEST_Main_DEX)
@@ -109,14 +109,14 @@
endif
ifdef ART_TEST_HOST_GTEST_Main_DEX
-$(ART_TEST_HOST_GTEST_MainUncompressed_DEX): $(ART_TEST_HOST_GTEST_Main_DEX) $(ZIPALIGN)
+$(ART_TEST_HOST_GTEST_MainUncompressedAligned_DEX): $(ART_TEST_HOST_GTEST_Main_DEX) $(ZIPALIGN)
cp $< $@
$(call uncompress-dexs, $@)
$(call align-package, $@)
endif
ifdef ART_TEST_TARGET_GTEST_Main_DEX
-$(ART_TEST_TARGET_GTEST_MainUncompressed_DEX): $(ART_TEST_TARGET_GTEST_Main_DEX) $(ZIPALIGN)
+$(ART_TEST_TARGET_GTEST_MainUncompressedAligned_DEX): $(ART_TEST_TARGET_GTEST_Main_DEX) $(ZIPALIGN)
cp $< $@
$(call uncompress-dexs, $@)
$(call align-package, $@)
@@ -155,14 +155,14 @@
endif
ifdef ART_TEST_HOST_GTEST_MultiDex_DEX
-$(ART_TEST_HOST_GTEST_MultiDexUncompressed_DEX): $(ART_TEST_HOST_GTEST_MultiDex_DEX) $(ZIPALIGN)
+$(ART_TEST_HOST_GTEST_MultiDexUncompressedAligned_DEX): $(ART_TEST_HOST_GTEST_MultiDex_DEX) $(ZIPALIGN)
cp $< $@
$(call uncompress-dexs, $@)
$(call align-package, $@)
endif
ifdef ART_TEST_TARGET_GTEST_MultiDex_DEX
-$(ART_TEST_TARGET_GTEST_MultiDexUncompressed_DEX): $(ART_TEST_TARGET_GTEST_MultiDex_DEX) $(ZIPALIGN)
+$(ART_TEST_TARGET_GTEST_MultiDexUncompressedAligned_DEX): $(ART_TEST_TARGET_GTEST_MultiDex_DEX) $(ZIPALIGN)
cp $< $@
$(call uncompress-dexs, $@)
$(call align-package, $@)
@@ -209,7 +209,7 @@
ART_GTEST_dex_cache_test_DEX_DEPS := Main Packages MethodTypes
ART_GTEST_dexanalyze_test_DEX_DEPS := MultiDex
ART_GTEST_dexlayout_test_DEX_DEPS := ManyMethods
-ART_GTEST_dex2oat_test_DEX_DEPS := $(ART_GTEST_dex2oat_environment_tests_DEX_DEPS) ManyMethods Statics VerifierDeps MainUncompressed EmptyUncompressed EmptyUncompressedAligned StringLiterals
+ART_GTEST_dex2oat_test_DEX_DEPS := $(ART_GTEST_dex2oat_environment_tests_DEX_DEPS) ManyMethods Statics VerifierDeps MainUncompressedAligned EmptyUncompressed EmptyUncompressedAligned StringLiterals
ART_GTEST_dex2oat_image_test_DEX_DEPS := $(ART_GTEST_dex2oat_environment_tests_DEX_DEPS) Statics VerifierDeps
ART_GTEST_exception_test_DEX_DEPS := ExceptionHandle
ART_GTEST_hiddenapi_test_DEX_DEPS := HiddenApi HiddenApiStubs
@@ -222,7 +222,7 @@
ART_GTEST_oat_file_assistant_test_DEX_DEPS := $(ART_GTEST_dex2oat_environment_tests_DEX_DEPS)
ART_GTEST_dexoptanalyzer_test_DEX_DEPS := $(ART_GTEST_dex2oat_environment_tests_DEX_DEPS)
ART_GTEST_image_space_test_DEX_DEPS := $(ART_GTEST_dex2oat_environment_tests_DEX_DEPS)
-ART_GTEST_oat_file_test_DEX_DEPS := Main MultiDex MainUncompressed MultiDexUncompressed MainStripped Nested MultiDexModifiedSecondary
+ART_GTEST_oat_file_test_DEX_DEPS := Main MultiDex MainUncompressedAligned MultiDexUncompressedAligned MainStripped Nested MultiDexModifiedSecondary
ART_GTEST_oat_test_DEX_DEPS := Main
ART_GTEST_oat_writer_test_DEX_DEPS := Main
# two_runtimes_test build off dex2oat_environment_test, which does sanity checks on the following dex files.
@@ -722,8 +722,8 @@
$(foreach dir,$(GTEST_DEX_DIRECTORIES), $(eval ART_TEST_HOST_GTEST_$(dir)_DEX :=))
ART_TEST_HOST_GTEST_MainStripped_DEX :=
ART_TEST_TARGET_GTEST_MainStripped_DEX :=
-ART_TEST_HOST_GTEST_MainUncompressed_DEX :=
-ART_TEST_TARGET_GTEST_MainUncompressed_DEX :=
+ART_TEST_HOST_GTEST_MainUncompressedAligned_DEX :=
+ART_TEST_TARGET_GTEST_MainUncompressedAligned_DEX :=
ART_TEST_HOST_GTEST_EmptyUncompressed_DEX :=
ART_TEST_TARGET_GTEST_EmptyUncompressed_DEX :=
ART_TEST_GTEST_VerifierDeps_SRC :=
diff --git a/dex2oat/dex2oat_test.cc b/dex2oat/dex2oat_test.cc
index 2d2b958..687e3ff 100644
--- a/dex2oat/dex2oat_test.cc
+++ b/dex2oat/dex2oat_test.cc
@@ -1636,7 +1636,7 @@
}
TEST_F(Dex2oatTest, UncompressedTest) {
- std::unique_ptr<const DexFile> dex(OpenTestDexFile("MainUncompressed"));
+ std::unique_ptr<const DexFile> dex(OpenTestDexFile("MainUncompressedAligned"));
std::string out_dir = GetScratchDir();
const std::string base_oat_name = out_dir + "/base.oat";
ASSERT_TRUE(GenerateOdexForTest(dex->GetLocation(),
@@ -2168,7 +2168,7 @@
}
TEST_F(Dex2oatTest, ZipFd) {
- std::string zip_location = GetTestDexFileName("MainUncompressed");
+ std::string zip_location = GetTestDexFileName("MainUncompressedAligned");
std::unique_ptr<File> dex_file(OS::OpenFileForReading(zip_location.c_str()));
std::vector<std::string> extra_args{
StringPrintf("--zip-fd=%d", dex_file->Fd()),
diff --git a/runtime/oat_file_test.cc b/runtime/oat_file_test.cc
index 1439442..8222a8aa 100644
--- a/runtime/oat_file_test.cc
+++ b/runtime/oat_file_test.cc
@@ -54,9 +54,9 @@
}
TEST_F(OatFileTest, ChangingMultiDexUncompressed) {
- std::string dex_location = GetScratchDir() + "/MultiDexUncompressed.jar";
+ std::string dex_location = GetScratchDir() + "/MultiDexUncompressedAligned.jar";
- Copy(GetTestDexFileName("MultiDexUncompressed"), dex_location);
+ Copy(GetTestDexFileName("MultiDexUncompressedAligned"), dex_location);
GenerateOatForTest(dex_location.c_str(), CompilerFilter::kQuicken);
std::string oat_location;
@@ -78,7 +78,7 @@
}
// Now replace the source.
- Copy(GetTestDexFileName("MainUncompressed"), dex_location);
+ Copy(GetTestDexFileName("MainUncompressedAligned"), dex_location);
// And try to load again.
std::unique_ptr<OatFile> odex_file(OatFile::Open(/*zip_fd=*/ -1,
diff --git a/test/Android.bp b/test/Android.bp
index 53f76c6..92d8d26 100644
--- a/test/Android.bp
+++ b/test/Android.bp
@@ -922,3 +922,439 @@
"cp $$f $(genDir)/res/results.$${x%%-*}.expected.txt; done && " +
"$(location soong_zip) -o $(out) -C $(genDir)/res -D $(genDir)/res",
}
+
+filegroup {
+ name: "art-gtest-jars",
+ srcs: [
+ ":art-gtest-jars-AbstractMethod",
+ ":art-gtest-jars-AllFields",
+ ":art-gtest-jars-DefaultMethods",
+ ":art-gtest-jars-DexToDexDecompiler",
+ ":art-gtest-jars-ErroneousA",
+ ":art-gtest-jars-ErroneousB",
+ ":art-gtest-jars-ErroneousInit",
+ ":art-gtest-jars-ForClassLoaderA",
+ ":art-gtest-jars-ForClassLoaderB",
+ ":art-gtest-jars-ForClassLoaderC",
+ ":art-gtest-jars-ForClassLoaderD",
+ ":art-gtest-jars-ExceptionHandle",
+ ":art-gtest-jars-GetMethodSignature",
+ ":art-gtest-jars-HiddenApi",
+ ":art-gtest-jars-HiddenApiSignatures",
+ ":art-gtest-jars-HiddenApiStubs",
+ ":art-gtest-jars-ImageLayoutA",
+ ":art-gtest-jars-ImageLayoutB",
+ ":art-gtest-jars-IMTA",
+ ":art-gtest-jars-IMTB",
+ ":art-gtest-jars-Instrumentation",
+ ":art-gtest-jars-Interfaces",
+ ":art-gtest-jars-Lookup",
+ ":art-gtest-jars-Main",
+ ":art-gtest-jars-ManyMethods",
+ ":art-gtest-jars-MethodTypes",
+ ":art-gtest-jars-MultiDex",
+ ":art-gtest-jars-MultiDexModifiedSecondary",
+ ":art-gtest-jars-MyClass",
+ ":art-gtest-jars-MyClassNatives",
+ ":art-gtest-jars-Nested",
+ ":art-gtest-jars-NonStaticLeafMethods",
+ ":art-gtest-jars-Packages",
+ ":art-gtest-jars-ProtoCompare",
+ ":art-gtest-jars-ProtoCompare2",
+ ":art-gtest-jars-ProfileTestMultiDex",
+ ":art-gtest-jars-StaticLeafMethods",
+ ":art-gtest-jars-Statics",
+ ":art-gtest-jars-StaticsFromCode",
+ ":art-gtest-jars-StringLiterals",
+ ":art-gtest-jars-Transaction",
+ ":art-gtest-jars-XandY",
+ ":art-gtest-jars-MainEmptyUncompressed",
+ ":art-gtest-jars-MainEmptyUncompressedAligned",
+ ":art-gtest-jars-MainStripped",
+ ":art-gtest-jars-MainUncompressedAligned",
+ ":art-gtest-jars-MultiDexUncompressedAligned",
+ ":art-gtest-jars-VerifierDeps",
+ ":art-gtest-jars-VerifierDepsMulti",
+ ":art-gtest-jars-VerifySoftFailDuringClinit",
+ ],
+}
+
+java_defaults {
+ name: "art-gtest-jars-defaults",
+ installable: true,
+ dex_preopt: {
+ enabled: false,
+ },
+ sdk_version: "core_platform",
+}
+
+// The following modules are just trivial compilations (non-trivial cases are the end).
+
+java_library {
+ name: "art-gtest-jars-AbstractMethod",
+ srcs: ["AbstractMethod/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+}
+
+java_library {
+ name: "art-gtest-jars-AllFields",
+ srcs: ["AllFields/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+}
+
+java_library {
+ name: "art-gtest-jars-DefaultMethods",
+ srcs: ["DefaultMethods/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+}
+
+java_library {
+ name: "art-gtest-jars-DexToDexDecompiler",
+ srcs: ["DexToDexDecompiler/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+}
+
+java_library {
+ name: "art-gtest-jars-ErroneousA",
+ srcs: ["ErroneousA/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+}
+
+java_library {
+ name: "art-gtest-jars-ErroneousB",
+ srcs: ["ErroneousB/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+}
+
+java_library {
+ name: "art-gtest-jars-ErroneousInit",
+ srcs: ["ErroneousInit/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+}
+
+java_library {
+ name: "art-gtest-jars-ForClassLoaderA",
+ srcs: ["ForClassLoaderA/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+}
+
+java_library {
+ name: "art-gtest-jars-ForClassLoaderB",
+ srcs: ["ForClassLoaderB/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+}
+
+java_library {
+ name: "art-gtest-jars-ForClassLoaderC",
+ srcs: ["ForClassLoaderC/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+}
+
+java_library {
+ name: "art-gtest-jars-ForClassLoaderD",
+ srcs: ["ForClassLoaderD/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+}
+
+java_library {
+ name: "art-gtest-jars-ExceptionHandle",
+ srcs: ["ExceptionHandle/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+}
+
+java_library {
+ name: "art-gtest-jars-GetMethodSignature",
+ srcs: ["GetMethodSignature/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+}
+
+java_library {
+ name: "art-gtest-jars-HiddenApi",
+ srcs: ["HiddenApi/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+}
+
+java_library {
+ name: "art-gtest-jars-HiddenApiSignatures",
+ srcs: ["HiddenApiSignatures/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+}
+
+java_library {
+ name: "art-gtest-jars-HiddenApiStubs",
+ srcs: ["HiddenApiStubs/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+}
+
+java_library {
+ name: "art-gtest-jars-ImageLayoutA",
+ srcs: ["ImageLayoutA/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+}
+
+java_library {
+ name: "art-gtest-jars-ImageLayoutB",
+ srcs: ["ImageLayoutB/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+}
+
+java_library {
+ name: "art-gtest-jars-IMTA",
+ srcs: ["IMTA/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+}
+
+java_library {
+ name: "art-gtest-jars-IMTB",
+ srcs: ["IMTB/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+}
+
+java_library {
+ name: "art-gtest-jars-Instrumentation",
+ srcs: ["Instrumentation/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+}
+
+java_library {
+ name: "art-gtest-jars-Interfaces",
+ srcs: ["Interfaces/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+}
+
+java_library {
+ name: "art-gtest-jars-Lookup",
+ srcs: ["Lookup/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+}
+
+java_library {
+ name: "art-gtest-jars-Main",
+ srcs: ["Main/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+}
+
+java_library {
+ name: "art-gtest-jars-ManyMethods",
+ srcs: ["ManyMethods/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+}
+
+java_library {
+ name: "art-gtest-jars-MethodTypes",
+ srcs: ["MethodTypes/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+}
+
+java_library {
+ name: "art-gtest-jars-MyClass",
+ srcs: ["MyClass/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+}
+
+java_library {
+ name: "art-gtest-jars-MyClassNatives",
+ srcs: ["MyClassNatives/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+}
+
+java_library {
+ name: "art-gtest-jars-Nested",
+ srcs: ["Nested/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+}
+
+java_library {
+ name: "art-gtest-jars-NonStaticLeafMethods",
+ srcs: ["NonStaticLeafMethods/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+}
+
+java_library {
+ name: "art-gtest-jars-Packages",
+ srcs: ["Packages/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+}
+
+java_library {
+ name: "art-gtest-jars-ProtoCompare",
+ srcs: ["ProtoCompare/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+}
+
+java_library {
+ name: "art-gtest-jars-ProtoCompare2",
+ srcs: ["ProtoCompare2/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+}
+
+java_library {
+ name: "art-gtest-jars-StaticLeafMethods",
+ srcs: ["StaticLeafMethods/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+}
+
+java_library {
+ name: "art-gtest-jars-Statics",
+ srcs: ["Statics/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+}
+
+java_library {
+ name: "art-gtest-jars-StaticsFromCode",
+ srcs: ["StaticsFromCode/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+}
+
+java_library {
+ name: "art-gtest-jars-StringLiterals",
+ srcs: ["StringLiterals/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+}
+
+java_library {
+ name: "art-gtest-jars-Transaction",
+ srcs: ["Transaction/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+}
+
+java_library {
+ name: "art-gtest-jars-XandY",
+ srcs: ["XandY/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+}
+
+// The following cases are non-trivial.
+
+// Uncompress classes.dex files in the jar file.
+genrule_defaults {
+ name: "art-gtest-jars-uncompress-defaults",
+ cmd: "$(location zip2zip) -i $(in) -o $(out) -0 'classes*.dex'",
+ tools: ["zip2zip"],
+}
+
+// Ensure the files are at least 4 byte aligned.
+genrule_defaults {
+ name: "art-gtest-jars-align-defaults",
+ cmd: "$(location zipalign) 4 $(in) $(out)",
+ tools: ["zipalign"],
+}
+
+// Assemble jar file from smali source.
+genrule_defaults {
+ name: "art-gtest-jars-smali-defaults",
+ cmd: "$(location smali) assemble --output $(out) $(in)",
+ tools: ["smali"],
+}
+
+// A copy of Main with the classes.dex stripped for the oat file assistant tests.
+genrule {
+ name: "art-gtest-jars-MainStripped",
+ srcs: [":art-gtest-jars-Main"],
+ cmd: "$(location zip2zip) -i $(in) -o $(out) -x 'classes*.dex'",
+ out: ["art-gtest-jars-MainStripped.jar"],
+ tools: ["zip2zip"],
+}
+
+// An empty.dex that is empty and uncompressed for the dex2oat tests.
+genrule {
+ name: "art-gtest-jars-MainEmptyUncompressed",
+ srcs: ["Main/empty.dex"],
+ cmd: "$(location soong_zip) -j -L 0 -o $(out) -f $(in)",
+ out: ["art-gtest-jars-MainEmptyUncompressed.jar"],
+ tools: ["soong_zip"],
+}
+
+// An empty.dex that is empty and uncompressed and aligned for the dex2oat tests.
+genrule {
+ name: "art-gtest-jars-MainEmptyUncompressedAligned",
+ defaults: ["art-gtest-jars-align-defaults"],
+ srcs: [":art-gtest-jars-MainEmptyUncompressed"],
+ out: ["art-gtest-jars-MainEmptyUncompressedAligned.jar"],
+}
+
+// A copy of Main with the classes.dex uncompressed for the dex2oat tests.
+genrule {
+ name: "art-gtest-jars-MainUncompressed",
+ defaults: ["art-gtest-jars-uncompress-defaults"],
+ srcs: [":art-gtest-jars-Main"],
+ out: ["art-gtest-jars-MainUncompressed.jar"],
+}
+
+// A copy of Main with the classes.dex uncompressed and aligned for the dex2oat tests.
+genrule {
+ name: "art-gtest-jars-MainUncompressedAligned",
+ defaults: ["art-gtest-jars-align-defaults"],
+ srcs: [":art-gtest-jars-MainUncompressed"],
+ out: ["art-gtest-jars-MainUncompressedAligned.jar"],
+}
+
+java_library {
+ name: "art-gtest-jars-MultiDex",
+ srcs: ["MultiDex/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+ min_sdk_version: "19",
+ dxflags: [
+ "--main-dex-list",
+ "art/test/MultiDex/main.list",
+ ],
+}
+
+// A copy of MultiDex with the classes.dex uncompressed for the OatFile tests.
+genrule {
+ name: "art-gtest-jars-MultiDexUncompressed",
+ defaults: ["art-gtest-jars-uncompress-defaults"],
+ srcs: [":art-gtest-jars-MultiDex"],
+ out: ["art-gtest-jars-MultiDexUncompressed.jar"],
+}
+
+// A copy of MultiDex with the classes.dex uncompressed and aligned for the OatFile tests.
+genrule {
+ name: "art-gtest-jars-MultiDexUncompressedAligned",
+ defaults: ["art-gtest-jars-align-defaults"],
+ srcs: [":art-gtest-jars-MultiDexUncompressed"],
+ out: ["art-gtest-jars-MultiDexUncompressedAligned.jar"],
+}
+
+java_library {
+ name: "art-gtest-jars-MultiDexModifiedSecondary",
+ srcs: ["MultiDexModifiedSecondary/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+ min_sdk_version: "19",
+ dxflags: [
+ "--main-dex-list",
+ "art/test/MultiDexModifiedSecondary/main.list",
+ ],
+}
+
+java_library {
+ name: "art-gtest-jars-ProfileTestMultiDex",
+ srcs: ["ProfileTestMultiDex/**/*.java"],
+ defaults: ["art-gtest-jars-defaults"],
+ min_sdk_version: "19",
+ dxflags: [
+ "--main-dex-list",
+ "art/test/ProfileTestMultiDex/main.list",
+ ],
+}
+
+genrule {
+ name: "art-gtest-jars-VerifierDeps",
+ defaults: ["art-gtest-jars-smali-defaults"],
+ srcs: ["VerifierDeps/**/*.smali"],
+ out: ["art-gtest-jars-VerifierDeps.jar"],
+}
+
+genrule {
+ name: "art-gtest-jars-VerifierDepsMulti",
+ defaults: ["art-gtest-jars-smali-defaults"],
+ srcs: ["VerifierDepsMulti/**/*.smali"],
+ out: ["art-gtest-jars-VerifierDepsMulti.jar"],
+}
+
+genrule {
+ name: "art-gtest-jars-VerifySoftFailDuringClinit",
+ defaults: ["art-gtest-jars-smali-defaults"],
+ srcs: ["VerifySoftFailDuringClinit/**/*.smali"],
+ out: ["art-gtest-jars-VerifySoftFailDuringClinit.jar"],
+}
diff --git a/test/Main/empty.dex b/test/Main/empty.dex
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/Main/empty.dex