Mon, 17 Oct 2011 21:38:29 -0700
7098528: crash with java -XX:+ExtendedDTraceProbes
Reviewed-by: kvn
duke@435 | 1 | # |
trims@2384 | 2 | # Copyright (c) 1995, 2010, Oracle and/or its affiliates. All rights reserved. |
duke@435 | 3 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
duke@435 | 4 | # |
duke@435 | 5 | # This code is free software; you can redistribute it and/or modify it |
duke@435 | 6 | # under the terms of the GNU General Public License version 2 only, as |
duke@435 | 7 | # published by the Free Software Foundation. |
duke@435 | 8 | # |
duke@435 | 9 | # This code is distributed in the hope that it will be useful, but WITHOUT |
duke@435 | 10 | # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
duke@435 | 11 | # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
duke@435 | 12 | # version 2 for more details (a copy is included in the LICENSE file that |
duke@435 | 13 | # accompanied this code). |
duke@435 | 14 | # |
duke@435 | 15 | # You should have received a copy of the GNU General Public License version |
duke@435 | 16 | # 2 along with this work; if not, write to the Free Software Foundation, |
duke@435 | 17 | # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
duke@435 | 18 | # |
trims@1907 | 19 | # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
trims@1907 | 20 | # or visit www.oracle.com if you need additional information or have any |
trims@1907 | 21 | # questions. |
ohair@763 | 22 | # |
duke@435 | 23 | # |
duke@435 | 24 | |
duke@435 | 25 | # |
ohair@763 | 26 | # Makefile to run various jdk tests |
duke@435 | 27 | # |
duke@435 | 28 | |
ohair@763 | 29 | # Get OS/ARCH specifics |
duke@435 | 30 | OSNAME = $(shell uname -s) |
duke@435 | 31 | ifeq ($(OSNAME), SunOS) |
duke@435 | 32 | PLATFORM = solaris |
twisti@995 | 33 | SLASH_JAVA = /java |
duke@435 | 34 | ARCH = $(shell uname -p) |
duke@435 | 35 | ifeq ($(ARCH), i386) |
duke@435 | 36 | ARCH=i586 |
duke@435 | 37 | endif |
duke@435 | 38 | endif |
duke@435 | 39 | ifeq ($(OSNAME), Linux) |
duke@435 | 40 | PLATFORM = linux |
twisti@995 | 41 | SLASH_JAVA = /java |
duke@435 | 42 | ARCH = $(shell uname -m) |
duke@435 | 43 | ifeq ($(ARCH), i386) |
ohair@763 | 44 | ARCH = i586 |
duke@435 | 45 | endif |
duke@435 | 46 | endif |
never@3156 | 47 | ifeq ($(OSNAME), Darwin) |
never@3156 | 48 | PLATFORM = bsd |
never@3156 | 49 | SLASH_JAVA = /java |
never@3156 | 50 | ARCH = $(shell uname -m) |
never@3156 | 51 | ifeq ($(ARCH), i386) |
never@3156 | 52 | ARCH = i586 |
never@3156 | 53 | endif |
never@3156 | 54 | endif |
never@3156 | 55 | ifeq ($(findstring BSD,$(OSNAME)), BSD) |
never@3156 | 56 | PLATFORM = bsd |
never@3156 | 57 | SLASH_JAVA = /java |
never@3156 | 58 | ARCH = $(shell uname -m) |
never@3156 | 59 | ifeq ($(ARCH), i386) |
never@3156 | 60 | ARCH = i586 |
never@3156 | 61 | endif |
never@3156 | 62 | endif |
duke@435 | 63 | ifeq ($(OSNAME), Windows_NT) |
duke@435 | 64 | PLATFORM = windows |
ohair@763 | 65 | SLASH_JAVA = J: |
duke@435 | 66 | ifeq ($(word 1, $(PROCESSOR_IDENTIFIER)),ia64) |
ohair@763 | 67 | ARCH = ia64 |
duke@435 | 68 | else |
duke@435 | 69 | ifeq ($(word 1, $(PROCESSOR_IDENTIFIER)),AMD64) |
ohair@763 | 70 | ARCH = x64 |
duke@435 | 71 | else |
duke@435 | 72 | ifeq ($(word 1, $(PROCESSOR_IDENTIFIER)),EM64T) |
ohair@763 | 73 | ARCH = x64 |
duke@435 | 74 | else |
ohair@763 | 75 | ARCH = i586 |
duke@435 | 76 | endif |
duke@435 | 77 | endif |
duke@435 | 78 | endif |
ohair@763 | 79 | EXESUFFIX = .exe |
duke@435 | 80 | endif |
duke@435 | 81 | |
twisti@995 | 82 | ifdef ALT_SLASH_JAVA |
twisti@995 | 83 | SLASH_JAVA = $(ALT_SLASH_JAVA) |
twisti@995 | 84 | endif |
twisti@995 | 85 | |
ohair@763 | 86 | # Utilities used |
ohair@763 | 87 | CD = cd |
ohair@763 | 88 | CP = cp |
ohair@763 | 89 | ECHO = echo |
ohair@763 | 90 | MKDIR = mkdir |
ohair@763 | 91 | ZIP = zip |
duke@435 | 92 | |
ohair@763 | 93 | # Root of this test area (important to use full paths in some places) |
ohair@763 | 94 | TEST_ROOT := $(shell pwd) |
ohair@763 | 95 | |
ohair@763 | 96 | # Root of all test results |
twisti@2256 | 97 | ifdef ALT_OUTPUTDIR |
twisti@2256 | 98 | ABS_BUILD_ROOT = $(ALT_OUTPUTDIR)/$(PLATFORM)-$(ARCH) |
twisti@2256 | 99 | else |
twisti@2256 | 100 | ABS_BUILD_ROOT = $(TEST_ROOT)/../build/$(PLATFORM)-$(ARCH) |
twisti@2256 | 101 | endif |
ohair@763 | 102 | ABS_TEST_OUTPUT_DIR = $(ABS_BUILD_ROOT)/testoutput |
ohair@763 | 103 | |
ohair@763 | 104 | # Expect JPRT to set PRODUCT_HOME (the product or jdk in this case to test) |
ohair@763 | 105 | ifndef PRODUCT_HOME |
ohair@763 | 106 | # Try to use j2sdk-image if it exists |
ohair@763 | 107 | ABS_JDK_IMAGE = $(ABS_BUILD_ROOT)/j2sdk-image |
ohair@763 | 108 | PRODUCT_HOME := \ |
ohair@763 | 109 | $(shell \ |
ohair@763 | 110 | if [ -d $(ABS_JDK_IMAGE) ] ; then \ |
ohair@763 | 111 | $(ECHO) "$(ABS_JDK_IMAGE)"; \ |
ohair@763 | 112 | else \ |
ohair@763 | 113 | $(ECHO) "$(ABS_BUILD_ROOT)" ; \ |
ohair@763 | 114 | fi) |
duke@435 | 115 | endif |
duke@435 | 116 | |
ohair@763 | 117 | # Expect JPRT to set JAVA_ARGS (e.g. -server etc.) |
ohair@763 | 118 | JAVA_OPTIONS = |
ohair@763 | 119 | ifdef JAVA_ARGS |
ohair@763 | 120 | JAVA_OPTIONS = $(JAVA_ARGS) |
ohair@763 | 121 | endif |
duke@435 | 122 | |
ohair@763 | 123 | # Expect JPRT to set JPRT_ARCHIVE_BUNDLE (path to zip bundle for results) |
ohair@763 | 124 | ARCHIVE_BUNDLE = $(ABS_TEST_OUTPUT_DIR)/ARCHIVE_BUNDLE.zip |
ohair@763 | 125 | ifdef JPRT_ARCHIVE_BUNDLE |
ohair@763 | 126 | ARCHIVE_BUNDLE = $(JPRT_ARCHIVE_BUNDLE) |
ohair@763 | 127 | endif |
duke@435 | 128 | |
ohair@763 | 129 | # How to create the test bundle (pass or fail, we want to create this) |
ohair@763 | 130 | BUNDLE_UP = ( $(MKDIR) -p `dirname $(ARCHIVE_BUNDLE)` \ |
ohair@763 | 131 | && $(CD) $(ABS_TEST_OUTPUT_DIR) \ |
ohair@763 | 132 | && $(ZIP) -q -r $(ARCHIVE_BUNDLE) . ) |
ohair@763 | 133 | BUNDLE_UP_FAILED = ( exitCode=$$? && $(BUNDLE_UP) && exit $${exitCode} ) |
duke@435 | 134 | |
ohair@763 | 135 | ################################################################ |
duke@435 | 136 | |
ohair@763 | 137 | # Default make rule (runs jtreg_tests) |
ohair@763 | 138 | all: jtreg_tests |
ohair@763 | 139 | @$(ECHO) "Testing completed successfully" |
duke@435 | 140 | |
ohair@763 | 141 | # Prep for output |
ohair@763 | 142 | prep: clean |
ohair@763 | 143 | @$(MKDIR) -p $(ABS_TEST_OUTPUT_DIR) |
ohair@763 | 144 | @$(MKDIR) -p `dirname $(ARCHIVE_BUNDLE)` |
duke@435 | 145 | |
duke@435 | 146 | # Cleanup |
duke@435 | 147 | clean: |
ohair@763 | 148 | $(RM) -r $(ABS_TEST_OUTPUT_DIR) |
ohair@763 | 149 | $(RM) $(ARCHIVE_BUNDLE) |
duke@435 | 150 | |
ohair@763 | 151 | ################################################################ |
duke@435 | 152 | |
ohair@763 | 153 | # jtreg tests |
ohair@763 | 154 | |
ohair@763 | 155 | # Expect JT_HOME to be set for jtreg tests. (home for jtreg) |
ohair@763 | 156 | JT_HOME = $(SLASH_JAVA)/re/jtreg/4.0/promoted/latest/binaries/jtreg |
ohair@763 | 157 | ifdef JPRT_JTREG_HOME |
ohair@763 | 158 | JT_HOME = $(JPRT_JTREG_HOME) |
ohair@763 | 159 | endif |
ohair@763 | 160 | |
ohair@763 | 161 | # Expect JPRT to set TESTDIRS to the jtreg test dirs |
ohair@763 | 162 | JTREG_TESTDIRS = demo/jvmti/gctest demo/jvmti/hprof |
ohair@763 | 163 | ifdef TESTDIRS |
ohair@763 | 164 | JTREG_TESTDIRS = $(TESTDIRS) |
ohair@763 | 165 | endif |
ohair@763 | 166 | |
ohair@763 | 167 | # Default JTREG to run (win32 script works for everybody) |
ohair@763 | 168 | JTREG = $(JT_HOME)/win32/bin/jtreg |
ohair@763 | 169 | |
ohair@763 | 170 | # Option to tell jtreg to not run tests marked with "ignore" |
ohair@763 | 171 | ifeq ($(PLATFORM), windows) |
ohair@763 | 172 | JTREG_KEY_OPTION = -k:!ignore |
ohair@763 | 173 | else |
ohair@763 | 174 | JTREG_KEY_OPTION = -k:\!ignore |
ohair@763 | 175 | endif |
ohair@763 | 176 | |
ohair@763 | 177 | #EXTRA_JTREG_OPTIONS = |
ohair@763 | 178 | |
ohair@763 | 179 | jtreg_tests: prep $(JT_HOME) $(PRODUCT_HOME) $(JTREG) |
ohair@763 | 180 | $(JTREG) -a -v:fail,error \ |
ohair@763 | 181 | $(JTREG_KEY_OPTION) \ |
ohair@763 | 182 | $(EXTRA_JTREG_OPTIONS) \ |
ohair@763 | 183 | -r:$(ABS_TEST_OUTPUT_DIR)/JTreport \ |
ohair@763 | 184 | -w:$(ABS_TEST_OUTPUT_DIR)/JTwork \ |
ohair@763 | 185 | -jdk:$(PRODUCT_HOME) \ |
ohair@763 | 186 | $(JAVA_OPTIONS:%=-vmoption:%) \ |
ohair@763 | 187 | $(JTREG_TESTDIRS) \ |
ohair@763 | 188 | || $(BUNDLE_UP_FAILED) |
ohair@763 | 189 | $(BUNDLE_UP) |
ohair@763 | 190 | |
ohair@763 | 191 | PHONY_LIST += jtreg_tests |
ohair@763 | 192 | |
ohair@763 | 193 | ################################################################ |
ohair@763 | 194 | |
ohair@1216 | 195 | # clienttest (make sure various basic java client options work) |
ohair@1216 | 196 | |
ohair@1216 | 197 | clienttest: prep $(PRODUCT_HOME) |
ohair@1216 | 198 | $(PRODUCT_HOME)/bin/java $(JAVA_OPTIONS) -version |
ohair@1216 | 199 | $(PRODUCT_HOME)/bin/java $(JAVA_OPTIONS) -help |
ohair@1216 | 200 | $(PRODUCT_HOME)/bin/java $(JAVA_OPTIONS) -X |
ohair@1216 | 201 | $(RM) $(PRODUCT_HOME)/jre/lib/*/client/classes.jsa |
ohair@1216 | 202 | $(RM) $(PRODUCT_HOME)/jre/lib/*/client/classes_g.jsa |
ohair@1216 | 203 | $(RM) $(PRODUCT_HOME)/jre/bin/client/classes.jsa |
ohair@1216 | 204 | $(RM) $(PRODUCT_HOME)/jre/bin/client/classes_g.jsa |
ohair@1216 | 205 | $(PRODUCT_HOME)/bin/java $(JAVA_OPTIONS) -Xshare:dump |
ohair@1216 | 206 | |
ohair@1216 | 207 | PHONY_LIST += clienttest |
ohair@1216 | 208 | |
ohair@1216 | 209 | ################################################################ |
ohair@1216 | 210 | |
ohair@1216 | 211 | # servertest (make sure various basic java server options work) |
ohair@1216 | 212 | |
ohair@1216 | 213 | servertest: prep $(PRODUCT_HOME) |
ohair@1216 | 214 | $(PRODUCT_HOME)/bin/java $(JAVA_OPTIONS) -version |
ohair@1216 | 215 | $(PRODUCT_HOME)/bin/java $(JAVA_OPTIONS) -help |
ohair@1216 | 216 | $(PRODUCT_HOME)/bin/java $(JAVA_OPTIONS) -X |
ohair@1216 | 217 | |
ohair@1216 | 218 | PHONY_LIST += servertest |
ohair@1216 | 219 | |
ohair@1216 | 220 | ################################################################ |
ohair@1216 | 221 | |
ohair@763 | 222 | # packtest |
ohair@763 | 223 | |
ohair@763 | 224 | # Expect JPRT to set JPRT_PACKTEST_HOME. |
ohair@763 | 225 | PACKTEST_HOME = /net/jprt-web.sfbay.sun.com/jprt/allproducts/packtest |
ohair@763 | 226 | ifdef JPRT_PACKTEST_HOME |
ohair@763 | 227 | PACKTEST_HOME = $(JPRT_PACKTEST_HOME) |
ohair@763 | 228 | endif |
ohair@763 | 229 | |
ohair@763 | 230 | #EXTRA_PACKTEST_OPTIONS = |
ohair@763 | 231 | |
ohair@763 | 232 | packtest: prep $(PACKTEST_HOME)/ptest $(PRODUCT_HOME) |
ohair@763 | 233 | ( $(CD) $(PACKTEST_HOME) && \ |
ohair@763 | 234 | $(PACKTEST_HOME)/ptest \ |
ohair@763 | 235 | -t "$(PRODUCT_HOME)" \ |
ohair@763 | 236 | $(PACKTEST_STRESS_OPTION) \ |
ohair@763 | 237 | $(EXTRA_PACKTEST_OPTIONS) \ |
ohair@763 | 238 | -W $(ABS_TEST_OUTPUT_DIR) \ |
ohair@763 | 239 | $(JAVA_OPTIONS:%=-J %) \ |
ohair@763 | 240 | ) || $(BUNDLE_UP_FAILED) |
ohair@763 | 241 | $(BUNDLE_UP) |
ohair@763 | 242 | |
ohair@763 | 243 | packtest_stress: PACKTEST_STRESS_OPTION=-s |
ohair@763 | 244 | packtest_stress: packtest |
ohair@763 | 245 | |
ohair@763 | 246 | PHONY_LIST += packtest packtest_stress |
ohair@763 | 247 | |
ohair@763 | 248 | ################################################################ |
ohair@763 | 249 | |
ohair@763 | 250 | # Phony targets (e.g. these are not filenames) |
ohair@763 | 251 | .PHONY: all clean prep $(PHONY_LIST) |
ohair@763 | 252 | |
ohair@763 | 253 | ################################################################ |
ohair@763 | 254 |