# Dexdump/list regression test.
.PHONY: test-art-host-dexdump
-test-art-host-dexdump: dexdump dexlist
+test-art-host-dexdump: dexdump2 dexlist2
art/test/dexdump/run-all-tests
# Valgrind. Currently only 32b gtests.
ART_GTEST_proxy_test_HOST_DEPS := $(HOST_CORE_IMAGE_default_no-pic_64) $(HOST_CORE_IMAGE_default_no-pic_32)
# The dexdump test requires an image and the dexdump utility.
+# TODO: rename into dexdump when migration completes
ART_GTEST_dexdump_test_HOST_DEPS := \
$(HOST_CORE_IMAGE_default_no-pic_64) \
$(HOST_CORE_IMAGE_default_no-pic_32) \
- $(HOST_OUT_EXECUTABLES)/dexdump
+ $(HOST_OUT_EXECUTABLES)/dexdump2
ART_GTEST_dexdump_test_TARGET_DEPS := \
$(TARGET_CORE_IMAGE_default_no-pic_64) \
$(TARGET_CORE_IMAGE_default_no-pic_32) \
- dexdump
+ dexdump2
# The dexlist test requires an image and the dexlist utility.
+# TODO: rename into dexlist when migration completes
ART_GTEST_dexlist_test_HOST_DEPS := \
$(HOST_CORE_IMAGE_default_no-pic_64) \
$(HOST_CORE_IMAGE_default_no-pic_32) \
- $(HOST_OUT_EXECUTABLES)/dexlist
+ $(HOST_OUT_EXECUTABLES)/dexlist2
ART_GTEST_dexlist_test_TARGET_DEPS := \
$(TARGET_CORE_IMAGE_default_no-pic_64) \
$(TARGET_CORE_IMAGE_default_no-pic_32) \
- dexlist
+ dexlist2
# The imgdiag test has dependencies on core.oat since it needs to load it during the test.
# For the host, also add the installed tool (in the base size, that should suffice). For the
# TODO(ajcbik): Art-i-fy this makefile
+# TODO(ajcbik): rename dexdump2 into dexdump when Dalvik version is removed
+
LOCAL_PATH:= $(call my-dir)
dexdump_src_files := dexdump_main.cc dexdump.cc
LOCAL_C_INCLUDES := $(dexdump_c_includes)
LOCAL_CFLAGS += -Wall
LOCAL_SHARED_LIBRARIES += $(dexdump_libraries)
-LOCAL_MODULE := dexdump
+LOCAL_MODULE := dexdump2
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
include $(BUILD_EXECUTABLE)
LOCAL_C_INCLUDES := $(dexdump_c_includes)
LOCAL_CFLAGS += -Wall
LOCAL_SHARED_LIBRARIES += $(dexdump_libraries)
-LOCAL_MODULE := dexdump
+LOCAL_MODULE := dexdump2
LOCAL_MODULE_TAGS := optional
include $(BUILD_HOST_EXECUTABLE)
struct Options gOptions;
/*
- * Output file. Defaults to stdout.
+ * Output file. Defaults to stdout, but tests can modify.
*/
FILE* gOutFile = stdout;
typedef uint16_t u2;
typedef uint32_t u4;
typedef uint64_t u8;
+typedef int8_t s1;
+typedef int16_t s2;
typedef int32_t s4;
typedef int64_t s8;
default:
wantUsage = true;
break;
- } // switch
- } // while
+ }
+ }
// Detect early problems.
if (optind == argc) {
int result = 0;
while (optind < argc) {
result |= processFile(argv[optind++]);
- } // while
+ }
return result != 0;
}
// Runs test with given arguments.
bool Exec(const std::vector<std::string>& args, std::string* error_msg) {
+ // TODO(ajcbik): dexdump2 -> dexdump
std::string file_path = GetTestAndroidRoot();
if (IsHost()) {
- file_path += "/bin/dexdump";
+ file_path += "/bin/dexdump2";
} else {
- file_path += "/xbin/dexdump";
+ file_path += "/xbin/dexdump2";
}
EXPECT_TRUE(OS::FileExists(file_path.c_str())) << file_path << " should be a valid file path";
std::vector<std::string> exec_argv = { file_path };
# TODO(ajcbik): Art-i-fy this makefile
+# TODO(ajcbik): rename dexlist2 into dexlist when Dalvik version is removed
+
LOCAL_PATH:= $(call my-dir)
dexlist_src_files := dexlist.cc
LOCAL_C_INCLUDES := $(dexlist_c_includes)
LOCAL_CFLAGS += -Wall
LOCAL_SHARED_LIBRARIES += $(dexlist_libraries)
-LOCAL_MODULE := dexlist
+LOCAL_MODULE := dexlist2
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
include $(BUILD_EXECUTABLE)
LOCAL_C_INCLUDES := $(dexlist_c_includes)
LOCAL_CFLAGS += -Wall
LOCAL_SHARED_LIBRARIES += $(dexlist_libraries)
-LOCAL_MODULE := dexlist
+LOCAL_MODULE := dexlist2
LOCAL_MODULE_TAGS := optional
include $(BUILD_HOST_EXECUTABLE)
* Data types that match the definitions in the VM specification.
*/
typedef uint8_t u1;
+typedef uint16_t u2;
typedef uint32_t u4;
typedef uint64_t u8;
+typedef int32_t s4;
+typedef int64_t s8;
/*
* Returns a newly-allocated string for the "dot version" of the class
gOptions.outputFileName = optarg;
break;
case 'm':
- // If -m p.c.m is given, then find all instances of the
+ // If -m X.Y.Z is given, then find all instances of the
// fully-qualified method name. This isn't really what
// dexlist is for, but it's easy to do it here.
{
// Runs test with given arguments.
bool Exec(const std::vector<std::string>& args, std::string* error_msg) {
+ // TODO(ajcbik): dexlist2 -> dexlist
std::string file_path = GetTestAndroidRoot();
if (IsHost()) {
- file_path += "/bin/dexlist";
+ file_path += "/bin/dexlist2";
} else {
- file_path += "/xbin/dexlist";
+ file_path += "/xbin/dexlist2";
}
EXPECT_TRUE(OS::FileExists(file_path.c_str())) << file_path << " should be a valid file path";
std::vector<std::string> exec_argv = { file_path };
mkdir ${tmpdir}
# Set up dexdump binary and flags to test.
-DEXD="${ANDROID_HOST_OUT}/bin/dexdump"
+DEXD="${ANDROID_HOST_OUT}/bin/dexdump2"
DEXDFLAGS1="-dfh"
DEXDFLAGS2="-l xml"
# Set up dexlist binary and flags to test.
-DEXL="${ANDROID_HOST_OUT}/bin/dexlist"
+DEXL="${ANDROID_HOST_OUT}/bin/dexlist2"
DEXLFLAGS=""
# Run the tests.