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