test/Makefile

Thu, 27 Aug 2020 21:00:00 -0300

author
mbalao
date
Thu, 27 Aug 2020 21:00:00 -0300
changeset 2551
e68b51b4e55a
parent 2447
ef851705e3e1
child 2458
daa47f8cf745
permissions
-rw-r--r--

8080462: Update SunPKCS11 provider with PKCS11 v2.40 support
Summary: Added support for GCM, PSS, and other mechanisms
Reviewed-by: andrew

     1 #
     2 # Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
     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
     7 # published by the Free Software Foundation.  Oracle designates this
     8 # particular file as subject to the "Classpath" exception as provided
     9 # by Oracle in the LICENSE file that accompanied this code.
    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 #
    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.
    24 #
    26 #
    27 # Makefile to run tests from multiple sibling directories
    28 #
    30 # Root of the forest that was built
    31 TOPDIR=..
    33 # This makefile depends on the availability of sibling directories.
    34 LANGTOOLS_DIR=$(TOPDIR)/langtools
    35 JDK_DIR=$(TOPDIR)/jdk
    36 HOTSPOT_DIR=$(TOPDIR)/hotspot
    38 # Macro to run a test target in a subdir
    39 define SUBDIR_TEST # subdirectory target
    40 if [ -d $1 ] ; then \
    41   if [ -r $1/test/Makefile ] ; then \
    42     echo "$(MAKE) -k -C $1/test $2" ; \
    43     $(MAKE) -k -C $1/test $2 ; \
    44   else \
    45     echo "ERROR: File does not exist: $1/test/Makefile"; \
    46     exit 1; \
    47   fi; \
    48 else \
    49   echo "WARNING: No testing done, directory does not exist: $1"; \
    50 fi
    51 endef
    53 # Macro to print a summary for a given test subdirectory
    54 define SUBDIR_SUMMARY # subdirectory to print summary
    55 if [ -d $1 ] ; then \
    56   if [ -r $1/Stats.txt ] ; then \
    57     cat $1/Stats.txt; \
    58     echo ""; \
    59   else \
    60     echo "ERROR: File does not exist: $1/Stats.txt"; \
    61     exit 1; \
    62   fi; \
    63 else \
    64   echo "WARNING: Expected directory does not exist: $1"; \
    65   echo "         Test summary might be incorrect."; \
    66 fi
    67 endef
    69 # Default test target (core)
    70 default: jdk_core langtools_jtreg
    72 # All testing
    73 all: jdk_all langtools_all
    75 # Test targets
    76 langtools_% :
    77 	@$(NO_STOPPING)$(call SUBDIR_TEST, $(LANGTOOLS_DIR), JT_JAVA=$(PRODUCT_HOME) JTREG_HOME=$(JT_HOME) UNIQUE_DIR="$@" TEST="$(subst langtools_,,$@)" $(subst langtools_,,$@))
    79 jdk_% core_%s svc_%:
    80 	@$(NO_STOPPING)$(call SUBDIR_TEST, $(JDK_DIR), TEST="$@" $@)
    82 hotspot_%:
    83 	@$(NO_STOPPING)$(call SUBDIR_TEST, $(HOTSPOT_DIR), TEST="$@" $@)
    85 # Variables for tier1 testing
    86 TIER1_TESTOUTPUT="$(ALT_OUTPUTDIR)/testoutput"
    87 TIER1_STATUS_FILE="$(TIER1_TESTOUTPUT)/tier1_exitcode.txt"
    89 # Note: Test failures are handled via summary_tier1 as the
    90 #       tier1 targets are never aborted even if tests fail.
    91 tier1: prep_tier1 jdk_tier1 langtools_tier1 hotspot_tier1 summary_tier1
    93 prep_tier1:
    94 	@rm -rf $(TIER1_STATUS_FILE)
    96 # This relies on jdk_tier1, langtools_tier1, hotspot_tier1 producing
    97 # Stats.txt (summary) and exitcode.txt files.
    98 summary_tier1:
    99 	@(EXIT_VAL=0; \
   100 	  echo ""; \
   101 	  echo "-------------- Test Summary ------------"; \
   102 	  echo ""; \
   103 	  for test_dir in $$(find "$(ALT_OUTPUTDIR)" -type d -name \*_tier1); do \
   104 	    $(call SUBDIR_SUMMARY, $${test_dir}); \
   105 	    EXIT_VAL=$$(expr $${EXIT_VAL} + $$(cat $${test_dir}/exitcode.txt)); \
   106 	  done; \
   107 	  echo $${EXIT_VAL} > $(TIER1_STATUS_FILE); \
   108 	  echo "For details see:"; \
   109 	  echo $(TIER1_TESTOUTPUT); \
   110 	  echo ""; \
   111 	  echo "-------------- Test Summary ------------"; \
   112 	  echo "")
   114 #
   115 # jtreg_tests
   116 #
   117 # Invocation:
   118 #
   119 # make jtreg_tests TESTDIRS=<test-dirs>
   120 #
   121 # where <test-dirs> is something like '../<component>/test/runtime',
   122 # <component> in turn being one of the top level directories (for
   123 # example 'hotspot').
   124 #
   125 # The below will strip the path prefix and delegate to the
   126 # corresponding ../<component>/test/Makefile.
   128 ifneq ($(TESTDIRS),)
   129 # Extract the component from ../<component>/...
   130 COMPONENT=$(word 2,$(subst /, ,$(TESTDIRS)))
   132 # Strip off the ../<component>/test prefix and pass the rest as TESTDIRS
   133 # to the delegate Makefile
   134 TESTDIRS_TESTS=$(patsubst ../$(COMPONENT)/test/%,%,$(TESTDIRS))
   135 endif
   137 jtreg_tests:
   138 	@$(NO_STOPPING)$(call SUBDIR_TEST, $(TOPDIR)/$(COMPONENT), TESTDIRS=$(TESTDIRS_TESTS) $@)
   140 ################################################################
   142 # Phony targets (e.g. these are not filenames)
   143 .PHONY: all clean summary_tier1 prep_tier1
   145 ################################################################

mercurial