Makefile revision 1821
369N/A# Copyright 1995-2009 Sun Microsystems, Inc. All Rights Reserved. 369N/A# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 369N/A# This code is free software; you can redistribute it and/or modify it 369N/A# under the terms of the GNU General Public License version 2 only, as 369N/A# published by the Free Software Foundation. Sun designates this 369N/A# particular file as subject to the "Classpath" exception as provided 369N/A# by Sun in the LICENSE file that accompanied this code. 369N/A# This code is distributed in the hope that it will be useful, but WITHOUT 369N/A# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 369N/A# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 369N/A# version 2 for more details (a copy is included in the LICENSE file that 369N/A# accompanied this code). 369N/A# You should have received a copy of the GNU General Public License version 369N/A# 2 along with this work; if not, write to the Free Software Foundation, 369N/A# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 5622N/A# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 369N/A# Makefile to run various jdk tests 369N/A# Empty these to get rid of some default rules 369N/A# Get OS name from uname 369N/A# Commands to run on paths to make mixed paths for java on windows 369N/A# Location of developer shared files 369N/A# Platform specific settings 369N/A # A variety of ways to say X64 arch :^( 4337N/A # These need to be different depending on MKS or CYGWIN # Only want major and minor numbers from os version # Try and use names i586, x64, and ia64 consistently # Check for ARCH_DATA_MODEL, adjust OS_ARCH accordingly # Root of this test area (important to use full paths in some places) # Root of all test results # Expect JPRT to set PRODUCT_HOME (the product or jdk in this case to test) # Try to use j2sdk-image if it exists # Expect JPRT to set JPRT_PRODUCT_ARGS (e.g. -server etc.) # Should be passed into 'java' only. # Could include: -d64 -server -client OR any java option # Expect JPRT to set JPRT_PRODUCT_VM_ARGS (e.g. -Xcomp etc.) # Should be passed into anything running the vm (java, javac, javadoc, ...). # Check JAVA_ARGS arguments based on ARCH_DATA_MODEL etc. # Expect JPRT to set JPRT_ARCHIVE_BUNDLE (path to zip bundle for results) # DISPLAY settings for virtual frame buffer # Does not work yet, display dies as soon as it gets used. :^( # Are we using a VIRTUAL_FRAME_BUFFER (Xvfb) $(ECHO) "ERROR: DISPLAY not ready, giving up on DISPLAY"; \
$(ECHO) "Prepared DISPLAY=$${DISPLAY}"; \
( $(ECHO) "ERROR: No display" ; exit 8) $(ECHO) "Killed DISPLAY=$${DISPLAY}"; \ # How to create the test bundle (pass or fail, we want to create this) # Follow command with ";$(BUNDLE_UP_AND_EXIT)", so it always gets executed. if [ -r "$${_summary}" ] ; then \ | $(EGREP) -v ' Error\.' \ $(ECHO) "TEST STATS: run=$${runc} pass=$${passc} fail=$${failc} excluded=$${exclc}" \ ################################################################ # Default make rule (runs jtreg_tests) @
$(ECHO) "Testing completed successfully"################################################################ # Expect JT_HOME to be set for jtreg tests. (home for jtreg) # Expect JPRT to set TESTDIRS to the jtreg test dirs # Samevm settings (default is false) # With samevm, you cannot use -javaoptions? # Some tests annoy me and fail frequently # Create exclude list for this platform and arch @
$(ECHO) "NOTHING_EXCLUDED" > $@
@
( ( $(EGREP) -- '$(OS_NAME)-all' $< ) ;\ ( $(EGREP) -- '$(OS_NAME)-$(OS_ARCH)' $< ) ;\ ( $(EGREP) -- '$(OS_NAME)-$(OS_VERSION)' $< ) ;\ ( $(EGREP) -- 'generic-$(OS_ARCH)' $< ) ;\ ( $(EGREP) -- 'generic-all' $< ) ;\ ) |
$(SED) -e
's@^[\ ]*@@' \
@
$(ECHO) "Excluding list contains `$(EXPAND) $@ | $(WC) -l` items"# Running batches of tests with or without samevm $(ECHO) "Running tests in samevm mode: $?" $(ECHO) "Running tests in othervm mode: $?" $(ECHO) "Summary for: $?" # ------------------------------------------------------------------ # Batches of tests (somewhat arbitrary assigments to jdk_* targets) # Stable othervm testruns (minus items from PROBLEM_LIST) # Using samevm has problems, and doesn't help performance as much as others. # Stable samevm testruns (minus items from PROBLEM_LIST) # Stable othervm testruns (minus items from PROBLEM_LIST) # Using samevm has serious problems with these tests # Stable samevm testruns (minus items from PROBLEM_LIST) # Stable samevm testruns (minus items from PROBLEM_LIST) # Stable othervm testruns (minus items from PROBLEM_LIST) # Using samevm has serious problems with these tests # Stable othervm testruns (minus items from PROBLEM_LIST) # Using samevm has serious problems with these tests # Stable samevm testruns (minus items from PROBLEM_LIST) # Stable samevm testruns (minus items from PROBLEM_LIST) # Stable samevm testruns (minus items from PROBLEM_LIST) # Stable samevm testruns (minus items from PROBLEM_LIST) # Stable othervm testruns (minus items from PROBLEM_LIST) # Using samevm has serious problems with these tests # Stable othervm testruns (minus items from PROBLEM_LIST) # Using samevm has serious problems with these tests # Stable samevm testruns (minus items from PROBLEM_LIST) # Stable othervm testruns (minus items from PROBLEM_LIST) # Using samevm has serious problems with these tests # Stable othervm testruns (minus items from PROBLEM_LIST) # Using samevm has problems, and doesn't help performance as much as others. # Stable samevm testruns (minus items from PROBLEM_LIST) # Stable othervm testruns (minus items from PROBLEM_LIST) # Using samevm has serious problems with these tests # Stable samevm testruns (minus items from PROBLEM_LIST) # ------------------------------------------------------------------ # These are all phony targets # ------------------------------------------------------------------ # Default JTREG to run (win32 script works for everybody) # Add any extra options (samevm etc.) # Only run automatic tests # Report details on all failed or error tests, times too # Retain all files for failing tests # Ignore tests are not run and completely silent about it # Multiple by 2 the timeout numbers # Boost the max memory for jtreg to avoid gc thrashing |
$(SED) -e
's@^@Excluding: @'################################################################ # Expect JPRT to set JPRT_PACKTEST_HOME. ################################################################ # perftest to collect statistics # Expect JPRT to set JPRT_PACKTEST_HOME. ################################################################ # Expect JPRT to set JPRT_VMSQE_HOME. # Expect JPRT to set JPRT_RUNVMSQE_HOME. # Expect JPRT to set JPRT_TONGA3_HOME. ################################################################ ################################################################ # Expect JPRT to set JPRT_JCK6COMPILER_HOME. # Expect JPRT to set JPRT_JCK6RUNTIME_HOME. # Expect JPRT to set JPRT_JCK6DEVTOOLS_HOME. ################################################################ # Expect JPRT to set JPRT_JCK7COMPILER_HOME. # Expect JPRT to set JPRT_JCK7RUNTIME_HOME. # Expect JPRT to set JPRT_JCK7DEVTOOLS_HOME. ################################################################ # Phony targets (e.g. these are not filenames) ################################################################