Tue, 17 Dec 2019 07:03:09 +0000
Added tag jdk8u252-b00 for changeset 30768a181ad0
ohair@159 | 1 | # |
ohair@330 | 2 | # Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved. |
ohair@159 | 3 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
ohair@159 | 4 | # |
ohair@159 | 5 | # This code is free software; you can redistribute it and/or modify it |
ohair@159 | 6 | # under the terms of the GNU General Public License version 2 only, as |
ohair@182 | 7 | # published by the Free Software Foundation. Oracle designates this |
ohair@159 | 8 | # particular file as subject to the "Classpath" exception as provided |
ohair@182 | 9 | # by Oracle in the LICENSE file that accompanied this code. |
ohair@159 | 10 | # |
ohair@159 | 11 | # This code is distributed in the hope that it will be useful, but WITHOUT |
ohair@159 | 12 | # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
ohair@159 | 13 | # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
ohair@159 | 14 | # version 2 for more details (a copy is included in the LICENSE file that |
ohair@159 | 15 | # accompanied this code). |
ohair@159 | 16 | # |
ohair@159 | 17 | # You should have received a copy of the GNU General Public License version |
ohair@159 | 18 | # 2 along with this work; if not, write to the Free Software Foundation, |
ohair@159 | 19 | # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
ohair@159 | 20 | # |
ohair@182 | 21 | # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
ohair@182 | 22 | # or visit www.oracle.com if you need additional information or have any |
ohair@182 | 23 | # questions. |
ohair@159 | 24 | # |
ohair@159 | 25 | |
ohair@159 | 26 | # |
ohair@159 | 27 | # Makefile to run tests from multiple sibling directories |
ohair@159 | 28 | # |
ohair@159 | 29 | |
ohair@159 | 30 | # Root of the forest that was built |
ohair@159 | 31 | TOPDIR=.. |
ohair@159 | 32 | |
ohair@159 | 33 | # This makefile depends on the availability of sibling directories. |
ohair@159 | 34 | LANGTOOLS_DIR=$(TOPDIR)/langtools |
ohair@159 | 35 | JDK_DIR=$(TOPDIR)/jdk |
mikael@1139 | 36 | HOTSPOT_DIR=$(TOPDIR)/hotspot |
ohair@159 | 37 | |
ohair@159 | 38 | # Macro to run a test target in a subdir |
ohair@159 | 39 | define SUBDIR_TEST # subdirectory target |
ohair@159 | 40 | if [ -d $1 ] ; then \ |
ohair@159 | 41 | if [ -r $1/test/Makefile ] ; then \ |
mduigou@617 | 42 | echo "$(MAKE) -k -C $1/test $2" ; \ |
mduigou@617 | 43 | $(MAKE) -k -C $1/test $2 ; \ |
ohair@159 | 44 | else \ |
ohair@159 | 45 | echo "ERROR: File does not exist: $1/test/Makefile"; \ |
ohair@168 | 46 | exit 1; \ |
ohair@159 | 47 | fi; \ |
ohair@159 | 48 | else \ |
ohair@159 | 49 | echo "WARNING: No testing done, directory does not exist: $1"; \ |
ohair@159 | 50 | fi |
ohair@159 | 51 | endef |
ohair@159 | 52 | |
sgehwolf@2447 | 53 | # Macro to print a summary for a given test subdirectory |
sgehwolf@2447 | 54 | define SUBDIR_SUMMARY # subdirectory to print summary |
sgehwolf@2447 | 55 | if [ -d $1 ] ; then \ |
sgehwolf@2447 | 56 | if [ -r $1/Stats.txt ] ; then \ |
sgehwolf@2447 | 57 | cat $1/Stats.txt; \ |
sgehwolf@2447 | 58 | echo ""; \ |
sgehwolf@2447 | 59 | else \ |
sgehwolf@2447 | 60 | echo "ERROR: File does not exist: $1/Stats.txt"; \ |
sgehwolf@2447 | 61 | exit 1; \ |
sgehwolf@2447 | 62 | fi; \ |
sgehwolf@2447 | 63 | else \ |
sgehwolf@2447 | 64 | echo "WARNING: Expected directory does not exist: $1"; \ |
sgehwolf@2447 | 65 | echo " Test summary might be incorrect."; \ |
sgehwolf@2447 | 66 | fi |
sgehwolf@2447 | 67 | endef |
sgehwolf@2447 | 68 | |
mduigou@617 | 69 | # Default test target (core) |
mduigou@778 | 70 | default: jdk_core langtools_jtreg |
ohair@389 | 71 | |
ohair@389 | 72 | # All testing |
mduigou@778 | 73 | all: jdk_all langtools_all |
ohair@159 | 74 | |
ohair@159 | 75 | # Test targets |
mduigou@778 | 76 | langtools_% : |
sgehwolf@2447 | 77 | @$(NO_STOPPING)$(call SUBDIR_TEST, $(LANGTOOLS_DIR), JT_JAVA=$(PRODUCT_HOME) JTREG_HOME=$(JT_HOME) UNIQUE_DIR="$@" TEST="$(subst langtools_,,$@)" $(subst langtools_,,$@)) |
mduigou@617 | 78 | |
alanb@913 | 79 | jdk_% core_%s svc_%: |
mduigou@778 | 80 | @$(NO_STOPPING)$(call SUBDIR_TEST, $(JDK_DIR), TEST="$@" $@) |
ohair@159 | 81 | |
mikael@1139 | 82 | hotspot_%: |
mikael@1139 | 83 | @$(NO_STOPPING)$(call SUBDIR_TEST, $(HOTSPOT_DIR), TEST="$@" $@) |
mikael@1139 | 84 | |
sgehwolf@2447 | 85 | # Variables for tier1 testing |
sgehwolf@2447 | 86 | TIER1_TESTOUTPUT="$(ALT_OUTPUTDIR)/testoutput" |
sgehwolf@2447 | 87 | TIER1_STATUS_FILE="$(TIER1_TESTOUTPUT)/tier1_exitcode.txt" |
sgehwolf@2447 | 88 | |
sgehwolf@2447 | 89 | # Note: Test failures are handled via summary_tier1 as the |
sgehwolf@2447 | 90 | # tier1 targets are never aborted even if tests fail. |
sgehwolf@2447 | 91 | tier1: prep_tier1 jdk_tier1 langtools_tier1 hotspot_tier1 summary_tier1 |
sgehwolf@2447 | 92 | |
sgehwolf@2447 | 93 | prep_tier1: |
sgehwolf@2447 | 94 | @rm -rf $(TIER1_STATUS_FILE) |
sgehwolf@2447 | 95 | |
sgehwolf@2447 | 96 | # This relies on jdk_tier1, langtools_tier1, hotspot_tier1 producing |
sgehwolf@2447 | 97 | # Stats.txt (summary) and exitcode.txt files. |
sgehwolf@2447 | 98 | summary_tier1: |
sgehwolf@2447 | 99 | @(EXIT_VAL=0; \ |
sgehwolf@2447 | 100 | echo ""; \ |
sgehwolf@2447 | 101 | echo "-------------- Test Summary ------------"; \ |
sgehwolf@2447 | 102 | echo ""; \ |
sgehwolf@2447 | 103 | for test_dir in $$(find "$(ALT_OUTPUTDIR)" -type d -name \*_tier1); do \ |
sgehwolf@2447 | 104 | $(call SUBDIR_SUMMARY, $${test_dir}); \ |
sgehwolf@2447 | 105 | EXIT_VAL=$$(expr $${EXIT_VAL} + $$(cat $${test_dir}/exitcode.txt)); \ |
sgehwolf@2447 | 106 | done; \ |
sgehwolf@2447 | 107 | echo $${EXIT_VAL} > $(TIER1_STATUS_FILE); \ |
sgehwolf@2447 | 108 | echo "For details see:"; \ |
sgehwolf@2447 | 109 | echo $(TIER1_TESTOUTPUT); \ |
sgehwolf@2447 | 110 | echo ""; \ |
sgehwolf@2447 | 111 | echo "-------------- Test Summary ------------"; \ |
sgehwolf@2447 | 112 | echo "") |
sgehwolf@2447 | 113 | |
mikael@1391 | 114 | # |
mikael@1391 | 115 | # jtreg_tests |
mikael@1391 | 116 | # |
mikael@1391 | 117 | # Invocation: |
mikael@1391 | 118 | # |
mikael@1391 | 119 | # make jtreg_tests TESTDIRS=<test-dirs> |
mikael@1391 | 120 | # |
mikael@1391 | 121 | # where <test-dirs> is something like '../<component>/test/runtime', |
mikael@1391 | 122 | # <component> in turn being one of the top level directories (for |
mikael@1391 | 123 | # example 'hotspot'). |
mikael@1391 | 124 | # |
mikael@1391 | 125 | # The below will strip the path prefix and delegate to the |
mikael@1391 | 126 | # corresponding ../<component>/test/Makefile. |
mikael@1391 | 127 | |
mikael@1391 | 128 | ifneq ($(TESTDIRS),) |
mikael@1391 | 129 | # Extract the component from ../<component>/... |
mikael@1391 | 130 | COMPONENT=$(word 2,$(subst /, ,$(TESTDIRS))) |
mikael@1391 | 131 | |
mikael@1391 | 132 | # Strip off the ../<component>/test prefix and pass the rest as TESTDIRS |
mikael@1391 | 133 | # to the delegate Makefile |
mikael@1391 | 134 | TESTDIRS_TESTS=$(patsubst ../$(COMPONENT)/test/%,%,$(TESTDIRS)) |
mikael@1391 | 135 | endif |
mikael@1391 | 136 | |
mikael@1391 | 137 | jtreg_tests: |
mikael@1391 | 138 | @$(NO_STOPPING)$(call SUBDIR_TEST, $(TOPDIR)/$(COMPONENT), TESTDIRS=$(TESTDIRS_TESTS) $@) |
mikael@1391 | 139 | |
ohair@159 | 140 | ################################################################ |
ohair@159 | 141 | |
ohair@159 | 142 | # Phony targets (e.g. these are not filenames) |
sgehwolf@2447 | 143 | .PHONY: all clean summary_tier1 prep_tier1 |
ohair@159 | 144 | |
ohair@159 | 145 | ################################################################ |