Skip to content

Commit

Permalink
Removes the junit main() function to be more compatible with a java c…
Browse files Browse the repository at this point in the history
…ommand-line.

	Change on 2013/09/20 by kstanger <kstanger@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=52623445
  • Loading branch information
tomball committed Oct 8, 2013
1 parent b620142 commit 0410734
Show file tree
Hide file tree
Showing 6 changed files with 28 additions and 175 deletions.
23 changes: 23 additions & 0 deletions jre_emul/Classes/J2ObjCMain.m
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,36 @@
#include "java/lang/reflect/InvocationTargetException.h"
#include "java/lang/reflect/Method.h"

#include <execinfo.h>

static void signalHandler(int sig) {
// Get void*'s for all entries on the stack.
void *array[64];
size_t frame_count = backtrace(array, 64);

// Print all the frames to stderr.
fprintf(stderr, "Error: signal %d:\n", sig);
backtrace_symbols_fd(array, frame_count, 2);
exit(1);
}

void installSignalHandler() {
signal(SIGABRT, signalHandler);
signal(SIGILL, signalHandler);
signal(SIGSEGV, signalHandler);
signal(SIGFPE, signalHandler);
signal(SIGBUS, signalHandler);
signal(SIGPIPE, signalHandler);
}

int main( int argc, const char *argv[] ) {
if (argc < 2) {
printf("Usage: %s class [args...]\n", *argv);
return 1;
}
JrePrintNilChkCountAtExit();
int exitCode = 0;
installSignalHandler();
@autoreleasepool {
const char *className = argv[1];
@try {
Expand Down
2 changes: 1 addition & 1 deletion jre_emul/tests.mk
Original file line number Diff line number Diff line change
Expand Up @@ -313,7 +313,7 @@ $(TESTS_DIR)/%.txt: $(TEST_RESOURCES_ROOT)/%.txt
@cp $< $@

run-tests: link resources $(TEST_BIN)
@/bin/sh ../scripts/runtests.sh $(TEST_BIN) $(subst /,.,$(TEST_SOURCES:%.java=%))
@$(TEST_BIN) org.junit.runner.JUnitCore $(subst /,.,$(TEST_SOURCES:%.java=%))

$(SUPPORT_LIB): $(SUPPORT_OBJS)
libtool -static -o $(SUPPORT_LIB) $(SUPPORT_OBJS)
Expand Down
24 changes: 3 additions & 21 deletions junit/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -150,15 +150,11 @@ HAMCREST_SOURCES = \
org/hamcrest/SelfDescribing.java \
org/hamcrest/StringDescription.java

OBJC_SOURCES = \
junit/JUnitRunner.m

ORG_JUNIT_TEST_SRC = org/junit/Test.java
ORG_JUNIT_TEST_OBJ = org/junit/OrgJunitTest.o

OBJS = $(JUNIT_SOURCES:%.java=%.o) \
$(HAMCREST_SOURCES:%.java=%.o) \
$(OBJC_SOURCES:%.m=%.o) \
$(ORG_JUNIT_TEST_OBJ)

IPHONE_SDK_DIR = $(shell bash ../scripts/sysroot_path.sh --iphoneos)
Expand All @@ -171,13 +167,9 @@ EXTRACTED_JAVA = $(JUNIT_SOURCES:%=$(JAVA_SRC_DIR)/%) \
TRANSLATED_OBJC = $(JUNIT_SOURCES:%.java=$(BUILD_DIR)/%.m) \
$(HAMCREST_SOURCES:%.java=$(BUILD_DIR)/%.m) \
$(ORG_JUNIT_TEST_SRC:%.java=$(BUILD_DIR)/%.m)
SOURCE_HEADERS = $(shell find $(OBJC_SOURCE_DIR) -name '*.h')
SOURCE_HEADERS := $(SOURCE_HEADERS:$(OBJC_SOURCE_DIR)/%=%)
GENERATED_HEADERS = $(JUNIT_SOURCES:%.java=%.h)
RELATIVE_HEADERS = $(SOURCE_HEADERS) $(GENERATED_HEADERS) \
$(ORG_JUNIT_TEST_SRC:%.java=%.h)
HEADERS = $(SOURCE_HEADERS:%=$(OBJC_SOURCE_DIR)/%) \
$(GENERATED_HEADERS:%=$(BUILD_DIR)/%)
RELATIVE_HEADERS = $(GENERATED_HEADERS) $(ORG_JUNIT_TEST_SRC:%.java=%.h)
HEADERS = $(GENERATED_HEADERS:%=$(BUILD_DIR)/%)
ARCH_HEADERS = $(RELATIVE_HEADERS:%=$(ARCH_INCLUDE_DIR)/%)

# Settings for building Mac OS X, iPhone, and iPhone simulator libraries.
Expand Down Expand Up @@ -209,8 +201,7 @@ lib: translate $(JUNIT_LIB)

translate: pre_translate $(EXTRACTED_JAVA) $(TRANSLATED_OBJC)
@if [ `cat $(JAVA_SOURCE_LIST) | wc -l` -ge 1 ] ; then \
$(J2OBJC) -sourcepath $(SOURCE_BASE)/java:$(JAVA_SRC_DIR) \
`cat $(JAVA_SOURCE_LIST)` ; \
$(J2OBJC) -sourcepath $(JAVA_SRC_DIR) `cat $(JAVA_SOURCE_LIST)`; \
fi

pre_translate:
Expand Down Expand Up @@ -262,11 +253,6 @@ $(1)/%.o: $(BUILD_DIR)/%.m | translate
$$(CLANG) -c $$? -o $$@ $(2) $$(OBJCFLAGS) -I$$(BUILD_DIR) \
-I$(ARCH_INCLUDE_DIR)

$(1)/%.o: $(OBJC_SOURCE_DIR)/%.m | translate
@mkdir -p $$(@D)
$$(CLANG) -c $$? -o $$@ $(2) $$(OBJCFLAGS) -I$$(BUILD_DIR) \
-I$$(ARCH_INCLUDE_DIR)

$(1)/$(ORG_JUNIT_TEST_OBJ): $(BUILD_DIR)/$(ORG_JUNIT_TEST_SRC:%.java=%.m) | translate
@mkdir -p $$(@D)
$$(CLANG) -c $$? -o $$@ $(2) $$(OBJCFLAGS) -I$$(BUILD_DIR) \
Expand All @@ -293,10 +279,6 @@ $(ARCH_INCLUDE_DIR)/%.h: $(BUILD_DIR)/%.h | translate
@mkdir -p $(@D)
install -m 0644 $< $@

$(ARCH_INCLUDE_DIR)/%.h: $(OBJC_SOURCE_DIR)/%.h
@mkdir -p $(@D)
install -m 0644 $< $@

clean:
@rm -rf $(BUILD_DIR) $(JUNIT_LIB_DIST)
@rm -rf $(ARCH_INCLUDE_DIR)/junit $(ARCH_INCLUDE_DIR)/org/junit
Expand Down
5 changes: 1 addition & 4 deletions junit/environment.mk
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,7 @@ include ../make/common.mk
include ../java_deps/jars.mk

INCLUDE_DIR = $(BUILD_DIR)/include
SOURCE_BASE = src/main
OBJC_SOURCE_DIR = $(SOURCE_BASE)/native
JAVA_SRC_DIR = $(BUILD_DIR)/java
MODIFIED_JAVA_SRC_DIR = $(SOURCE_BASE)/java

JUNIT_SRC_JAR = $(JAVA_DEPS_JAR_DIR)/$(JUNIT_SOURCE_JAR)
HAMCREST_SRC_JAR = $(JAVA_DEPS_JAR_DIR)/$(HAMCREST_SOURCE_JAR)
Expand All @@ -49,7 +46,7 @@ OBJCFLAGS := -ObjC $(WARNINGS) \

# J2ObjC settings
J2OBJC = $(DIST_DIR)/j2objc -d $(BUILD_DIR)
J2OBJCC = $(ARCH_BIN_DIR)/j2objcc -c $(OBJCFLAGS) -I$(OBJC_SOURCE_DIR) -I$(BUILD_DIR)
J2OBJCC = $(ARCH_BIN_DIR)/j2objcc -c $(OBJCFLAGS) -I$(BUILD_DIR)

ifeq ("$(strip $(CLANG_ENABLE_OBJC_ARC))", "YES")
J2OBJC := $(J2OBJC) -use-arc
Expand Down
90 changes: 0 additions & 90 deletions junit/src/main/native/junit/JUnitRunner.m

This file was deleted.

59 changes: 0 additions & 59 deletions scripts/runtests.sh

This file was deleted.

0 comments on commit 0410734

Please sign in to comment.