# # Makefile to run jtreg # # Get OS/ARCH specifics OSNAME = $(shell uname -s) ifeq ($(OSNAME), SunOS) PLATFORM = solaris JCT_PLATFORM = solaris ARCH = $(shell uname -p) ifeq ($(ARCH), i386) ARCH=i586 endif endif ifeq ($(OSNAME), Linux) PLATFORM = linux JCT_PLATFORM = linux ARCH = $(shell uname -m) ifeq ($(ARCH), i386) ARCH=i586 endif endif ifeq ($(OSNAME), Windows_NT) PLATFORM = windows JCT_PLATFORM = win32 ifeq ($(word 1, $(PROCESSOR_IDENTIFIER)),ia64) ARCH=ia64 else ifeq ($(word 1, $(PROCESSOR_IDENTIFIER)),AMD64) ARCH=x64 else ifeq ($(word 1, $(PROCESSOR_IDENTIFIER)),EM64T) ARCH=x64 else ARCH=i586 endif endif endif endif # Root of this test area (important to use full paths in some places) TEST_ROOT := $(shell pwd) # Default bundle of all test results (passed or not) JPRT_ARCHIVE_BUNDLE=$(TEST_ROOT)/JPRT_ARCHIVE_BUNDLE.zip # Default home for JTREG ifeq ($(PLATFORM), windows) JT_HOME = J:/svc/jct-tools3.2.2_02 JTREG_KEY_OPTION=-k:!ignore else JT_HOME = /java/svc/jct-tools3.2.2_02 JTREG_KEY_OPTION=-k:\!ignore endif # Default JTREG to run JTREG = $(JT_HOME)/$(JCT_PLATFORM)/bin/jtreg # Default JDK to test JAVA_HOME = $(TEST_ROOT)/../build/$(PLATFORM)-$(ARCH) # The test directories to run DEFAULT_TESTDIRS = demo/jvmti/gctest demo/jvmti/hprof TESTDIRS = $(DEFAULT_TESTDIRS) # Root of all test results JTREG_OUTPUT_DIR = $(TEST_ROOT)/o_$(PLATFORM)-$(ARCH) # Export this setting and pass it in. #JAVA_TOOL_OPTIONS = -Djava.awt.headless=true #export JAVA_TOOL_OPTIONS # Default make rule all: clean check tests $(JPRT_ARCHIVE_BUNDLE) @echo "Testing completed successfully" # Chaeck to make sure these directories exist check: $(JT_HOME) $(JAVA_HOME) $(JTREG) # Run the tests tests: FRC @echo "Using export JAVA_TOOL_OPTIONS=$(JAVA_TOOL_OPTIONS)" @rm -f -r $(JTREG_OUTPUT_DIR) @mkdir -p $(JTREG_OUTPUT_DIR) $(JTREG) -a -v:fail,error \ $(JTREG_KEY_OPTION) \ -r:$(JTREG_OUTPUT_DIR)/JTreport \ -w:$(JTREG_OUTPUT_DIR)/JTwork \ -jdk:$(JAVA_HOME) \ $(JAVA_TOOL_OPTIONS:%=-vmoption:%) \ $(JAVA_ARGS:%=-vmoption:%) \ $(TESTDIRS) # Bundle up the results $(JPRT_ARCHIVE_BUNDLE): FRC @rm -f $@ @mkdir -p $(@D) ( cd $(JTREG_OUTPUT_DIR) && zip -q -r $@ . ) # Cleanup clean: rm -f -r $(JTREG_OUTPUT_DIR) rm -f $(JPRT_ARCHIVE_BUNDLE) # Used to force a target rules to run FRC: # Phony targets (e.g. these are not filenames) .PHONY: all tests clean check