test/Makefile

Mon, 16 Oct 2017 15:57:35 +0800

author
aoqi
date
Mon, 16 Oct 2017 15:57:35 +0800
changeset 1482
8fb429038513
parent 1391
7de830a4c219
parent 1288
7801df19942d
child 2458
daa47f8cf745
permissions
-rw-r--r--

merge

aoqi@0 1 #
aoqi@0 2 # Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
aoqi@0 3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
aoqi@0 4 #
aoqi@0 5 # This code is free software; you can redistribute it and/or modify it
aoqi@0 6 # under the terms of the GNU General Public License version 2 only, as
aoqi@0 7 # published by the Free Software Foundation. Oracle designates this
aoqi@0 8 # particular file as subject to the "Classpath" exception as provided
aoqi@0 9 # by Oracle in the LICENSE file that accompanied this code.
aoqi@0 10 #
aoqi@0 11 # This code is distributed in the hope that it will be useful, but WITHOUT
aoqi@0 12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
aoqi@0 13 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
aoqi@0 14 # version 2 for more details (a copy is included in the LICENSE file that
aoqi@0 15 # accompanied this code).
aoqi@0 16 #
aoqi@0 17 # You should have received a copy of the GNU General Public License version
aoqi@0 18 # 2 along with this work; if not, write to the Free Software Foundation,
aoqi@0 19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
aoqi@0 20 #
aoqi@0 21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
aoqi@0 22 # or visit www.oracle.com if you need additional information or have any
aoqi@0 23 # questions.
aoqi@0 24 #
aoqi@0 25
aoqi@0 26 #
aoqi@0 27 # Makefile to run tests from multiple sibling directories
aoqi@0 28 #
aoqi@0 29
aoqi@0 30 # Root of the forest that was built
aoqi@0 31 TOPDIR=..
aoqi@0 32
aoqi@0 33 # This makefile depends on the availability of sibling directories.
aoqi@0 34 LANGTOOLS_DIR=$(TOPDIR)/langtools
aoqi@0 35 JDK_DIR=$(TOPDIR)/jdk
mikael@1139 36 HOTSPOT_DIR=$(TOPDIR)/hotspot
aoqi@0 37
aoqi@0 38 # Macro to run a test target in a subdir
aoqi@0 39 define SUBDIR_TEST # subdirectory target
aoqi@0 40 if [ -d $1 ] ; then \
aoqi@0 41 if [ -r $1/test/Makefile ] ; then \
aoqi@0 42 echo "$(MAKE) -k -C $1/test $2" ; \
aoqi@0 43 $(MAKE) -k -C $1/test $2 ; \
aoqi@0 44 else \
aoqi@0 45 echo "ERROR: File does not exist: $1/test/Makefile"; \
aoqi@0 46 exit 1; \
aoqi@0 47 fi; \
aoqi@0 48 else \
aoqi@0 49 echo "WARNING: No testing done, directory does not exist: $1"; \
aoqi@0 50 fi
aoqi@0 51 endef
aoqi@0 52
aoqi@0 53 # Default test target (core)
aoqi@0 54 default: jdk_core langtools_jtreg
aoqi@0 55
aoqi@0 56 # All testing
aoqi@0 57 all: jdk_all langtools_all
aoqi@0 58
aoqi@0 59 # Test targets
aoqi@0 60 langtools_% :
aoqi@0 61 @$(NO_STOPPING)$(call SUBDIR_TEST, $(LANGTOOLS_DIR), JT_JAVA=$(PRODUCT_HOME) JTREG_HOME=$(JT_HOME) TEST="$(subst langtools_,,$@)" $(subst langtools_,,$@))
aoqi@0 62
aoqi@0 63 jdk_% core_%s svc_%:
aoqi@0 64 @$(NO_STOPPING)$(call SUBDIR_TEST, $(JDK_DIR), TEST="$@" $@)
aoqi@0 65
mikael@1139 66 hotspot_%:
mikael@1139 67 @$(NO_STOPPING)$(call SUBDIR_TEST, $(HOTSPOT_DIR), TEST="$@" $@)
mikael@1139 68
mikael@1391 69 #
mikael@1391 70 # jtreg_tests
mikael@1391 71 #
mikael@1391 72 # Invocation:
mikael@1391 73 #
mikael@1391 74 # make jtreg_tests TESTDIRS=<test-dirs>
mikael@1391 75 #
mikael@1391 76 # where <test-dirs> is something like '../<component>/test/runtime',
mikael@1391 77 # <component> in turn being one of the top level directories (for
mikael@1391 78 # example 'hotspot').
mikael@1391 79 #
mikael@1391 80 # The below will strip the path prefix and delegate to the
mikael@1391 81 # corresponding ../<component>/test/Makefile.
mikael@1391 82
mikael@1391 83 ifneq ($(TESTDIRS),)
mikael@1391 84 # Extract the component from ../<component>/...
mikael@1391 85 COMPONENT=$(word 2,$(subst /, ,$(TESTDIRS)))
mikael@1391 86
mikael@1391 87 # Strip off the ../<component>/test prefix and pass the rest as TESTDIRS
mikael@1391 88 # to the delegate Makefile
mikael@1391 89 TESTDIRS_TESTS=$(patsubst ../$(COMPONENT)/test/%,%,$(TESTDIRS))
mikael@1391 90 endif
mikael@1391 91
mikael@1391 92 jtreg_tests:
mikael@1391 93 @$(NO_STOPPING)$(call SUBDIR_TEST, $(TOPDIR)/$(COMPONENT), TESTDIRS=$(TESTDIRS_TESTS) $@)
mikael@1391 94
aoqi@0 95 ################################################################
aoqi@0 96
aoqi@0 97 # Phony targets (e.g. these are not filenames)
aoqi@0 98 .PHONY: all clean
aoqi@0 99
aoqi@0 100 ################################################################

mercurial