Makefile revision 2546
883N/A# Copyright (c) 1995, 2010, Oracle and/or its affiliates. All rights reserved. 883N/A# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 883N/A# This code is free software; you can redistribute it and/or modify it 883N/A# under the terms of the GNU General Public License version 2 only, as 883N/A# published by the Free Software Foundation. Oracle designates this 883N/A# particular file as subject to the "Classpath" exception as provided 883N/A# by Oracle in the LICENSE file that accompanied this code. 883N/A# This code is distributed in the hope that it will be useful, but WITHOUT 883N/A# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 883N/A# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 883N/A# version 2 for more details (a copy is included in the LICENSE file that 883N/A# accompanied this code). 883N/A# You should have received a copy of the GNU General Public License version 883N/A# 2 along with this work; if not, write to the Free Software Foundation, 883N/A# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 883N/A# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 883N/A# Makefile to run various jdk tests 883N/A# Empty these to get rid of some default rules 883N/A# Get OS name from uname 883N/A# Commands to run on paths to make mixed paths for java on windows 883N/A# Location of developer shared files 883N/A# Platform specific settings 883N/A # Check for unknown arch, try uname -p if uname -m says unknown 883N/A # GNU Make or MKS overrides $(PROCESSOR_ARCHITECTURE) to always 883N/A # return "x86". Use the first word of $(PROCESSOR_IDENTIFIER) instead. 883N/A # These need to be different depending on MKS or CYGWIN 883N/A# Only want major and minor numbers from os version 883N/A# Name to use for x86_64 arch (historically amd64, but should change someday) 883N/A# Alternate arch names (in case this arch is known by a second name) 883N/A# PROBLEM_LISTS may use either name. 883N/A# Try and use the arch names consistently 883N/A# Default ARCH_DATA_MODEL settings 883N/A# If ARCH_DATA_MODEL is not defined, try and pick a reasonable default 883N/A# Platform directory name 883N/A# Check ARCH_DATA_MODEL, adjust OS_ARCH accordingly on solaris 883N/A# Alternate OS_ARCH name (defaults to OS_ARCH) 883N/A# 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. # Macro to run make and set the shared library permissions # Expect JPRT to set JPRT_ARCHIVE_BUNDLE (path to zip bundle for results) # 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. $(ECHO) "ERROR: EXITCODE file not filled in."; \
$(ECHO) "EXIT CODE: $${testExitCode}"; \
if [ -r "$${_summary}" ] ; then \ | $(EGREP) -v ' Error\.' \ $(ECHO) "TEST STATS: name=$(UNIQUE_DIR) 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" > $@
) |
$(SED) -e
's@^[\ ]*@@' \
@
$(ECHO) "Excluding list contains `$(EXPAND) $@ | $(WC) -l` items"# Select list of directories that exist # Running batches of tests with or without samevm $(ECHO) "########################################################" $(ECHO) "########################################################" # ------------------------------------------------------------------ # 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 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 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 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 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 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 # Always turn on assertions # 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 4 the timeout numbers # Boost the max memory for jtreg to avoid gc thrashing |
$(SED) -e
's@^@Excluding: @'# Rule that may change execute permissions on shared library files. # Files in repositories should never have execute permissions, but there # are some tests that have pre-built shared libraries, and these windows # dll files must have execute permission. Adding execute permission # may happen automatically on windows when using certain versions of mercurial # but it cannot be guaranteed. And blindly adding execute permission might # be seen as a mercurial 'change', so we avoid adding execute permission to # repository files. But testing from a plain source tree needs the chmod a+rx. # Used on select directories and applying the chmod to all shared libraries # not just dll files. On windows, this may not work with MKS if the files # were installed with CYGWIN unzip or untar (MKS chmod may not do anything). # And with CYGWIN and sshd service, you may need CYGWIN=ntsec for this to work. ################################################################ # 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) ################################################################