Kelly O'Hair | 891aa6b | 2010-03-06 15:00:40 -0800 | [diff] [blame] | 1 | # |
Erik Helin | 321b0ae | 2015-12-15 11:04:18 +0100 | [diff] [blame] | 2 | # Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. |
Kelly O'Hair | 891aa6b | 2010-03-06 15:00:40 -0800 | [diff] [blame] | 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 |
Kelly O'Hair | 136614e | 2010-05-25 15:51:26 -0700 | [diff] [blame] | 7 | # published by the Free Software Foundation. Oracle designates this |
Kelly O'Hair | 891aa6b | 2010-03-06 15:00:40 -0800 | [diff] [blame] | 8 | # particular file as subject to the "Classpath" exception as provided |
Kelly O'Hair | 136614e | 2010-05-25 15:51:26 -0700 | [diff] [blame] | 9 | # by Oracle in the LICENSE file that accompanied this code. |
Kelly O'Hair | 891aa6b | 2010-03-06 15:00:40 -0800 | [diff] [blame] | 10 | # |
| 11 | # This code is distributed in the hope that it will be useful, but WITHOUT |
| 12 | # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| 13 | # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
| 14 | # version 2 for more details (a copy is included in the LICENSE file that |
| 15 | # accompanied this code). |
| 16 | # |
| 17 | # You should have received a copy of the GNU General Public License version |
| 18 | # 2 along with this work; if not, write to the Free Software Foundation, |
| 19 | # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
| 20 | # |
Kelly O'Hair | 136614e | 2010-05-25 15:51:26 -0700 | [diff] [blame] | 21 | # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
| 22 | # or visit www.oracle.com if you need additional information or have any |
| 23 | # questions. |
Kelly O'Hair | 891aa6b | 2010-03-06 15:00:40 -0800 | [diff] [blame] | 24 | # |
| 25 | |
| 26 | # |
| 27 | # Makefile to run tests from multiple sibling directories |
| 28 | # |
| 29 | |
Kelly O'Hair | 891aa6b | 2010-03-06 15:00:40 -0800 | [diff] [blame] | 30 | # Macro to run a test target in a subdir |
| 31 | define SUBDIR_TEST # subdirectory target |
| 32 | if [ -d $1 ] ; then \ |
Erik Joelsson | 467119a | 2017-09-12 19:03:59 +0200 | [diff] [blame] | 33 | if [ -r $1/Makefile ] ; then \ |
| 34 | $(MAKE) --no-print-directory -k -C $1 $2 ; \ |
Kelly O'Hair | 891aa6b | 2010-03-06 15:00:40 -0800 | [diff] [blame] | 35 | else \ |
Erik Joelsson | 467119a | 2017-09-12 19:03:59 +0200 | [diff] [blame] | 36 | echo "ERROR: File does not exist: $1/Makefile"; \ |
Kelly O'Hair | 235a0d9 | 2010-03-19 18:17:49 -0700 | [diff] [blame] | 37 | exit 1; \ |
Kelly O'Hair | 891aa6b | 2010-03-06 15:00:40 -0800 | [diff] [blame] | 38 | fi; \ |
| 39 | else \ |
| 40 | echo "WARNING: No testing done, directory does not exist: $1"; \ |
| 41 | fi |
| 42 | endef |
| 43 | |
Mike Duigou | 58d8702 | 2013-02-06 11:12:46 -0800 | [diff] [blame] | 44 | # Default test target (core) |
Tristan Yan | a78b985 | 2014-12-15 13:09:39 -0800 | [diff] [blame] | 45 | default: jdk_core langtools_jtreg jaxp_all |
Kelly O'Hair | c0323a8 | 2011-12-12 08:11:05 -0800 | [diff] [blame] | 46 | |
| 47 | # All testing |
Tristan Yan | a78b985 | 2014-12-15 13:09:39 -0800 | [diff] [blame] | 48 | all: jdk_all langtools_all jaxp_all |
Kelly O'Hair | 891aa6b | 2010-03-06 15:00:40 -0800 | [diff] [blame] | 49 | |
Erik Helin | 321b0ae | 2015-12-15 11:04:18 +0100 | [diff] [blame] | 50 | ifeq ($(TEST_JOBS), 0) |
Magnus Ihse Bursie | 53b0b93 | 2017-11-27 19:13:20 +0100 | [diff] [blame] | 51 | JDK_TEST_JOBS=$(JOBS) |
Erik Helin | 321b0ae | 2015-12-15 11:04:18 +0100 | [diff] [blame] | 52 | else |
| 53 | JDK_TEST_JOBS=$(TEST_JOBS) |
| 54 | endif |
Kelly O'Hair | 891aa6b | 2010-03-06 15:00:40 -0800 | [diff] [blame] | 55 | # Test targets |
Mike Duigou | f903091 | 2013-08-26 10:09:15 -0700 | [diff] [blame] | 56 | langtools_% : |
Erik Joelsson | c111277 | 2017-09-18 18:15:05 -0700 | [diff] [blame] | 57 | @$(NO_STOPPING)$(call SUBDIR_TEST, langtools, \ |
| 58 | $(if $(JDK_TEST_JOBS), CONCURRENCY=$(JDK_TEST_JOBS)) \ |
Erik Joelsson | 467119a | 2017-09-12 19:03:59 +0200 | [diff] [blame] | 59 | JT_JAVA=$(PRODUCT_HOME) JTREG_HOME=$(JT_HOME) \ |
| 60 | TEST="$(subst langtools_,,$@)" $(subst langtools_,,$@)) |
Mike Duigou | 58d8702 | 2013-02-06 11:12:46 -0800 | [diff] [blame] | 61 | |
Alan Bateman | e0fbec8 | 2013-11-19 14:11:59 +0000 | [diff] [blame] | 62 | jdk_% core_%s svc_%: |
Erik Joelsson | c111277 | 2017-09-18 18:15:05 -0700 | [diff] [blame] | 63 | @$(NO_STOPPING)$(call SUBDIR_TEST, jdk, \ |
| 64 | $(if $(JDK_TEST_JOBS), CONCURRENCY=$(JDK_TEST_JOBS)) TEST="$@" $@) |
Kelly O'Hair | 891aa6b | 2010-03-06 15:00:40 -0800 | [diff] [blame] | 65 | |
Tristan Yan | a78b985 | 2014-12-15 13:09:39 -0800 | [diff] [blame] | 66 | jaxp_%: |
Erik Joelsson | c111277 | 2017-09-18 18:15:05 -0700 | [diff] [blame] | 67 | @$(NO_STOPPING)$(call SUBDIR_TEST, jaxp, \ |
| 68 | $(if $(JDK_TEST_JOBS), CONCURRENCY=$(JDK_TEST_JOBS)) TEST="$@" $@) |
Erik Joelsson | 467119a | 2017-09-12 19:03:59 +0200 | [diff] [blame] | 69 | |
| 70 | nashorn_%: |
Erik Joelsson | c111277 | 2017-09-18 18:15:05 -0700 | [diff] [blame] | 71 | @$(NO_STOPPING)$(call SUBDIR_TEST, nashorn, \ |
| 72 | $(if $(JDK_TEST_JOBS), CONCURRENCY=$(JDK_TEST_JOBS)) TEST="$@" $@) |
Tristan Yan | a78b985 | 2014-12-15 13:09:39 -0800 | [diff] [blame] | 73 | |
Christian Tornqvist | 05ab545 | 2016-10-18 06:14:35 -0400 | [diff] [blame] | 74 | SUB_MAKE_ARGS := |
| 75 | ifneq ($(TEST_JOBS), 0) |
| 76 | ifneq ($(TEST_JOBS), ) |
| 77 | SUB_MAKE_ARGS += CONCURRENCY=$(TEST_JOBS) |
| 78 | endif |
Erik Helin | 321b0ae | 2015-12-15 11:04:18 +0100 | [diff] [blame] | 79 | endif |
Mikael Vidstedt | 630cca2 | 2014-05-12 06:16:36 -0700 | [diff] [blame] | 80 | hotspot_%: |
Erik Joelsson | 467119a | 2017-09-12 19:03:59 +0200 | [diff] [blame] | 81 | @$(NO_STOPPING)$(call SUBDIR_TEST, hotspot/jtreg, $(SUB_MAKE_ARGS) TEST="$@" $@) |
Mikael Vidstedt | 630cca2 | 2014-05-12 06:16:36 -0700 | [diff] [blame] | 82 | |
Mikael Vidstedt | 158c7ec | 2014-07-15 21:45:50 -0700 | [diff] [blame] | 83 | # |
| 84 | # jtreg_tests |
| 85 | # |
| 86 | # Invocation: |
| 87 | # |
Staffan Larsen | e6526de | 2016-05-11 11:06:37 +0200 | [diff] [blame] | 88 | # make jtreg_tests TESTDIRS=<test-dirs> TEST_SELECTION=<path to test or jtreg group> TEST_OUTPUT_DIR=<path> |
Mikael Vidstedt | 158c7ec | 2014-07-15 21:45:50 -0700 | [diff] [blame] | 89 | # |
| 90 | # where <test-dirs> is something like '../<component>/test/runtime', |
| 91 | # <component> in turn being one of the top level directories (for |
| 92 | # example 'hotspot'). |
| 93 | # |
| 94 | # The below will strip the path prefix and delegate to the |
| 95 | # corresponding ../<component>/test/Makefile. |
| 96 | |
| 97 | ifneq ($(TESTDIRS),) |
Erik Joelsson | 467119a | 2017-09-12 19:03:59 +0200 | [diff] [blame] | 98 | # Extract the component from ../test/<component>/... |
| 99 | TESTDIRS_NORM := $(patsubst test/%, %, $(patsubst ../%, %, $(TESTDIRS))) |
| 100 | COMPONENT := $(word 1,$(subst /, ,$(TESTDIRS_NORM))) |
Mikael Vidstedt | 158c7ec | 2014-07-15 21:45:50 -0700 | [diff] [blame] | 101 | |
Erik Joelsson | 467119a | 2017-09-12 19:03:59 +0200 | [diff] [blame] | 102 | # Strip off the ../<component>/test prefix and pass the rest as TESTDIRS |
| 103 | # to the delegate Makefile |
| 104 | # The hotspot tests are in a subdir "java". Accept paths both including |
| 105 | # and excluding this extra subdir |
| 106 | TESTDIRS_TESTS := $(patsubst $(COMPONENT)/%,%,$(patsubst hotspot/jtreg/%,%, \ |
| 107 | $(patsubst ../%, %, $(TESTDIRS_NORM)))) |
Mikael Vidstedt | 158c7ec | 2014-07-15 21:45:50 -0700 | [diff] [blame] | 108 | endif |
| 109 | |
| 110 | jtreg_tests: |
Erik Joelsson | 467119a | 2017-09-12 19:03:59 +0200 | [diff] [blame] | 111 | $(MAKE) --no-print-directory TESTDIRS=$(TESTDIRS_TESTS) \ |
| 112 | $(COMPONENT)_jtreg_tests |
Mikael Vidstedt | 158c7ec | 2014-07-15 21:45:50 -0700 | [diff] [blame] | 113 | |
Kelly O'Hair | 891aa6b | 2010-03-06 15:00:40 -0800 | [diff] [blame] | 114 | ################################################################ |
| 115 | |
| 116 | # Phony targets (e.g. these are not filenames) |
Mike Duigou | f903091 | 2013-08-26 10:09:15 -0700 | [diff] [blame] | 117 | .PHONY: all clean |
Kelly O'Hair | 891aa6b | 2010-03-06 15:00:40 -0800 | [diff] [blame] | 118 | |
| 119 | ################################################################ |