test/Makefile

Thu, 29 Jan 2009 12:17:57 +0000

author
mcimadamore
date
Thu, 29 Jan 2009 12:17:57 +0000
changeset 210
1aa81917016a
parent 114
8ec49685f4e8
child 397
40a1327a5283
permissions
-rw-r--r--

6315770: javac inference allows creation of strange types: Integer & Runnable
Summary: Javac does not apply glb correctly as per JLS3 15.12.2.8
Reviewed-by: jjg

duke@1 1 #
duke@1 2 # Makefile to run jtreg and any other tests
duke@1 3 #
duke@1 4
duke@1 5 # Get OS/ARCH specifics
duke@1 6 OSNAME = $(shell uname -s)
duke@1 7 ifeq ($(OSNAME), SunOS)
duke@1 8 PLATFORM = solaris
duke@1 9 JT_PLATFORM = solaris
duke@1 10 ARCH = $(shell uname -p)
duke@1 11 ifeq ($(ARCH), i386)
duke@1 12 ARCH=i586
duke@1 13 endif
duke@1 14 endif
duke@1 15 ifeq ($(OSNAME), Linux)
duke@1 16 PLATFORM = linux
duke@1 17 JT_PLATFORM = linux
duke@1 18 ARCH = $(shell uname -m)
duke@1 19 ifeq ($(ARCH), i386)
duke@1 20 ARCH=i586
duke@1 21 endif
duke@1 22 endif
duke@1 23 ifeq ($(OSNAME), Windows_NT)
duke@1 24 PLATFORM = windows
duke@1 25 JT_PLATFORM = win32
duke@1 26 ifeq ($(word 1, $(PROCESSOR_IDENTIFIER)),ia64)
duke@1 27 ARCH=ia64
duke@1 28 else
duke@1 29 ifeq ($(word 1, $(PROCESSOR_IDENTIFIER)),AMD64)
duke@1 30 ARCH=x64
duke@1 31 else
duke@1 32 ifeq ($(word 1, $(PROCESSOR_IDENTIFIER)),EM64T)
duke@1 33 ARCH=x64
duke@1 34 else
duke@1 35 ARCH=i586
duke@1 36 endif
duke@1 37 endif
duke@1 38 endif
duke@1 39 endif
duke@1 40
duke@1 41 # Root of this test area (important to use full paths in some places)
duke@1 42 TEST_ROOT := $(shell pwd)
duke@1 43
duke@1 44 # Default bundle of all test results (passed or not)
duke@1 45 JPRT_ARCHIVE_BUNDLE=$(TEST_ROOT)/JPRT_ARCHIVE_BUNDLE.zip
duke@1 46
duke@1 47 # Default home for JTREG
duke@1 48 ifeq ($(PLATFORM), windows)
duke@1 49 SLASH_JAVA = J:
duke@1 50 else
duke@1 51 SLASH_JAVA = /java
duke@1 52 endif
duke@1 53
duke@1 54 # Default JTREG to run
duke@1 55 JT_HOME = $(SLASH_JAVA)/svc/jct-tools3.2.2_02
duke@1 56 JTREG = $(JT_HOME)/$(JT_PLATFORM)/bin/jtreg
duke@1 57
duke@1 58 # Default JDK for JTREG
duke@1 59 ifdef JPRT_JAVA_HOME
duke@1 60 JT_JAVA = $(JPRT_JAVA_HOME)
duke@1 61 else
duke@1 62 JT_JAVA = $(SLASH_JAVA)/re/jdk/1.6.0/archive/fcs/binaries/$(PLATFORM)-$(ARCH)
duke@1 63 endif
duke@1 64
duke@1 65 # Default JDK to test
duke@1 66 TESTJAVA = $(SLASH_JAVA)/re/jdk/1.7.0/promoted/latest/binaries/$(PLATFORM)-$(ARCH)
duke@1 67 TESTBOOTCLASSPATH = $(PRODUCT_HOME)/dist/lib/classes.jar
duke@1 68
duke@1 69 # The test directories to run
duke@1 70 DEFAULT_TESTDIRS = .
duke@1 71 TESTDIRS = $(DEFAULT_TESTDIRS)
duke@1 72
duke@1 73 # Root of all test results
duke@1 74 TEST_OUTPUT_DIR = $(TEST_ROOT)/o_$(PLATFORM)-$(ARCH)
duke@1 75
duke@1 76 # Export this setting and pass it in.
duke@1 77 JAVA_TOOL_OPTIONS = -Djava.awt.headless=true
duke@1 78 export JAVA_TOOL_OPTIONS
duke@1 79
duke@1 80 # Default make rule
duke@1 81 all javac javadoc javah javap apt: clean check jtreg-tests $(JPRT_ARCHIVE_BUNDLE)
duke@1 82 @echo "Testing completed successfully"
duke@1 83
duke@1 84 # for use with JPRT -testrule
duke@1 85 all: TESTDIRS = .
duke@1 86 javac fastjavac: TESTDIRS = tools/javac
duke@1 87 javadoc: TESTDIRS = tools/javadoc com/sun/javadoc
duke@1 88 javah: TESTDIRS = tools/javah
duke@1 89 javap: TESTDIRS = tools/javap
duke@1 90 apt: TESTDIRS = tools/apt
duke@1 91
duke@1 92 fastjavac: SAMEVM = -samevm
duke@1 93
duke@1 94 # Check to make sure these directories exist
duke@1 95 check: $(JT_HOME) $(PRODUCT_HOME) $(JTREG)
duke@1 96
duke@1 97 # Run the tests
duke@1 98 jtreg-tests: FRC
duke@1 99 ls /opt/jprt /opt/jprt/jdk*
duke@1 100 @echo "Using export JAVA_TOOL_OPTIONS=$(JAVA_TOOL_OPTIONS)"
duke@1 101 @rm -f -r $(TEST_OUTPUT_DIR)/JTwork $(TEST_OUTPUT_DIR)/JTreport
duke@1 102 @mkdir -p $(TEST_OUTPUT_DIR)
duke@1 103 JT_JAVA=$(JT_JAVA) $(JTREG) -k:\!ignore -a -v:fail,error $(SAMEVM) \
duke@1 104 -r:$(TEST_OUTPUT_DIR)/JTreport \
duke@1 105 -w:$(TEST_OUTPUT_DIR)/JTwork \
duke@1 106 -jdk:$(TESTJAVA) \
duke@1 107 -Xbootclasspath/p:$(TESTBOOTCLASSPATH) \
duke@1 108 $(JAVA_TOOL_OPTIONS:%=-vmoption:%) \
duke@1 109 $(JAVA_ARGS:%=-vmoption:%) \
duke@1 110 $(TESTDIRS)
duke@1 111
duke@1 112 # Bundle up the results
duke@1 113 $(JPRT_ARCHIVE_BUNDLE): FRC
duke@1 114 @rm -f $@
duke@1 115 @mkdir -p $(@D)
duke@1 116 ( cd $(TEST_OUTPUT_DIR) && zip -q -r $@ . )
duke@1 117
duke@1 118 # Cleanup
duke@1 119 clean:
duke@1 120 rm -f -r $(TEST_OUTPUT_DIR)
duke@1 121 rm -f $(JPRT_ARCHIVE_BUNDLE)
duke@1 122
duke@1 123 # Used to force a target rules to run
duke@1 124 FRC:
duke@1 125
duke@1 126 # Phony targets (e.g. these are not filenames)
duke@1 127 .PHONY: all tests clean check
duke@1 128

mercurial