Makefile revision 5138
180N/A# Copyright (c) 1995, 2012, Oracle and/or its affiliates. All rights reserved. 0N/A# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 0N/A# This code is free software; you can redistribute it and/or modify it 0N/A# under the terms of the GNU General Public License version 2 only, as 180N/A# published by the Free Software Foundation. Oracle designates this 0N/A# particular file as subject to the "Classpath" exception as provided 180N/A# by Oracle in the LICENSE file that accompanied this code. 0N/A# This code is distributed in the hope that it will be useful, but WITHOUT 0N/A# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 0N/A# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 0N/A# version 2 for more details (a copy is included in the LICENSE file that 0N/A# accompanied this code). 0N/A# You should have received a copy of the GNU General Public License version 0N/A# 2 along with this work; if not, write to the Free Software Foundation, 0N/A# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 180N/A# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 0N/A# Makefile to run various jdk tests 0N/A# Empty these to get rid of some default rules # Commands to run on paths to make mixed paths for java on windows # Location of developer shared files # Platform specific settings # Check for unknown arch, try uname -p if uname -m says unknown # Check for unknown arch, try uname -p if uname -m says unknown # GNU Make or MKS overrides $(PROCESSOR_ARCHITECTURE) to always # return "x86". Use the first word of $(PROCESSOR_IDENTIFIER) instead. # These need to be different depending on MKS or CYGWIN # Only want major and minor numbers from os version # Name to use for x86_64 arch (historically amd64, but should change someday) # Alternate arch names (in case this arch is known by a second name) # PROBLEM_LISTS may use either name. # Try and use the arch names consistently # Default ARCH_DATA_MODEL settings # If ARCH_DATA_MODEL is not defined, try and pick a reasonable default # Platform directory name # Check ARCH_DATA_MODEL, adjust OS_ARCH accordingly on solaris # Alternate OS_ARCH name (defaults to OS_ARCH) # 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 # Agentvm settings (default is false) # With agentvm, 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 agentvm $(ECHO) "Running tests in agentvm mode: $?" $(ECHO) "Running tests in othervm mode: $?" $(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 agentvm has serious problems with these tests # Stable agentvm testruns (minus items from PROBLEM_LIST) # Stable othervm testruns (minus items from PROBLEM_LIST) # Using agentvm has serious problems with these tests # Stable agentvm testruns (minus items from PROBLEM_LIST) # Stable othervm testruns (minus items from PROBLEM_LIST) # Using agentvm has serious problems with these tests # Stable othervm testruns (minus items from PROBLEM_LIST) # Using agentvm 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 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 samevm testruns (minus items from PROBLEM_LIST) # 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 (agentvm 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. ################################################################ # Default is to use jck 7 from /java/re # Expect JPRT to set JPRT_JCK7COMPILER_HOME. # Expect JPRT to set JPRT_JCK7RUNTIME_HOME. # Expect JPRT to set JPRT_JCK7DEVTOOLS_HOME. # The jtjck.jar utility to use to run the tests # Generic rule used to run jck tests |
$(SED) -e
's@^@Excluding: @'# Run all 3 sets of JCK7 tests ################################################################ # Phony targets (e.g. these are not filenames) ################################################################