langtools/test/Makefile
changeset 20602 88692440ebd1
parent 15384 5a8d00abf076
child 24405 71b654b695b7
equal deleted inserted replaced
20601:37d675394c73 20602:88692440ebd1
     5 # Product builds and langtools builds
     5 # Product builds and langtools builds
     6 #
     6 #
     7 # A full product build (or "control" build) creates a complete JDK image.
     7 # A full product build (or "control" build) creates a complete JDK image.
     8 # To test a product build, set TESTJAVA to the path for the image.
     8 # To test a product build, set TESTJAVA to the path for the image.
     9 #
     9 #
    10 # A langtools build just builds the langtools components of a JDK. 
    10 # A langtools build just builds the langtools components of a JDK.
    11 # To test a langtools build, set TESTJAVA to the path for a recent JDK
    11 # To test a langtools build, set TESTJAVA to the path for a recent JDK
    12 # build, and set TESTBOOTCLASSPATH to the compiled langtools classes --
    12 # build, and set TESTBOOTCLASSPATH to the compiled langtools classes --
    13 # for example build/classes or dist/lib/classes.jar.
    13 # for example build/classes or dist/lib/classes.jar.
    14 
    14 
    15 # JPRT
    15 # JPRT
   120   TESTJAVA = $(JPRT_IMPORT_PRODUCT_HOME)
   120   TESTJAVA = $(JPRT_IMPORT_PRODUCT_HOME)
   121 else
   121 else
   122   TESTJAVA = $(SLASH_JAVA)/re/jdk/1.7.0/promoted/latest/binaries/$(PLATFORM)-$(ARCH)
   122   TESTJAVA = $(SLASH_JAVA)/re/jdk/1.7.0/promoted/latest/binaries/$(PLATFORM)-$(ARCH)
   123 endif
   123 endif
   124 
   124 
   125 # PRODUCT_HOME is a JPRT variable pointing to a directory containing the output from 
   125 # PRODUCT_HOME is a JPRT variable pointing to a directory containing the output from
   126 # make/Makefile
   126 # make/Makefile
   127 # For langtools, this is a directory containing build and dist
   127 # For langtools, this is a directory containing build and dist
   128 # For a control build, this is build/$(PRODUCT)-$(ARCH)/XYZ-image 
   128 # For a control build, this is build/$(PRODUCT)-$(ARCH)/XYZ-image
   129 #	(i.e, j2sdk-image or jdk-module-image)
   129 #	(i.e, j2sdk-image or jdk-module-image)
   130 ifdef PRODUCT_HOME
   130 ifdef PRODUCT_HOME
   131   ifeq ($(shell [ -r $(PRODUCT_HOME)/dist/lib/classes.jar ]; echo $$?),0)
   131   ifeq ($(shell [ -r $(PRODUCT_HOME)/dist/lib/classes.jar ]; echo $$?),0)
   132     TESTBOOTCLASSPATH = $(PRODUCT_HOME)/dist/lib/classes.jar
   132     TESTBOOTCLASSPATH = $(PRODUCT_HOME)/dist/lib/classes.jar
   133   endif
   133   endif
   137 endif
   137 endif
   138 
   138 
   139 ifdef TESTBOOTCLASSPATH
   139 ifdef TESTBOOTCLASSPATH
   140   JTREG_OPTIONS += -Xbootclasspath/p:$(TESTBOOTCLASSPATH)
   140   JTREG_OPTIONS += -Xbootclasspath/p:$(TESTBOOTCLASSPATH)
   141 ### In the following, -refvmoptions is an undocumented option
   141 ### In the following, -refvmoptions is an undocumented option
   142 ### The following does not work JCK 7 b30 2/6/2010. Awaiting b31. 
   142 ### The following does not work JCK 7 b30 2/6/2010. Awaiting b31.
   143   JCK_OPTIONS += \
   143   JCK_OPTIONS += \
   144 	-vmoptions:-Xbootclasspath/p:$(TESTBOOTCLASSPATH) \
   144 	-vmoptions:-Xbootclasspath/p:$(TESTBOOTCLASSPATH) \
   145 	-refvmoptions:-Xbootclasspath/p:$(TESTBOOTCLASSPATH)
   145 	-refvmoptions:-Xbootclasspath/p:$(TESTBOOTCLASSPATH)
   146 endif
   146 endif
   147 
   147 
   148 # Concurrency is the number of tests that can execute at once. 
   148 # Concurrency is the number of tests that can execute at once.
   149 # On an otherwise empty machine, suggest setting to (#cpus + 2)
   149 # On an otherwise empty machine, suggest setting to (#cpus + 2)
   150 # If unset, the default is (#cpus)
   150 # If unset, the default is (#cpus)
   151 ### RFE: determine and use #cpus
   151 ### RFE: determine and use #cpus
   152 ifdef CONCURRENCY
   152 ifdef CONCURRENCY
   153   JTREG_OPTIONS += -agentvm -concurrency:$(CONCURRENCY)
   153   JTREG_OPTIONS += -agentvm -concurrency:$(CONCURRENCY)
   204 FATAL_JTDIFF_EXIT = 2
   204 FATAL_JTDIFF_EXIT = 2
   205 #
   205 #
   206 # Exit -- used for final "normal" exit from "make". Redefine to "true" to avoid
   206 # Exit -- used for final "normal" exit from "make". Redefine to "true" to avoid
   207 # having make exit with non-zero return code.
   207 # having make exit with non-zero return code.
   208 EXIT = exit
   208 EXIT = exit
   209 # Function to exit shell if exit code of preceding command is greater than or equal 
   209 # Function to exit shell if exit code of preceding command is greater than or equal
   210 # to a given level. Redefine function or preceding FATAL_*_EXIT codes as needed.
   210 # to a given level. Redefine function or preceding FATAL_*_EXIT codes as needed.
   211 EXIT_IF_FATAL = status=$$?; if [ $$status -ge $(1) ]; then exit $$status ; fi
   211 EXIT_IF_FATAL = status=$$?; if [ $$status -ge $(1) ]; then exit $$status ; fi
   212 
   212 
   213 # The test directories to run
   213 # The test directories to run
   214 DEFAULT_TESTDIRS = .
   214 DEFAULT_TESTDIRS = .
   215 TESTDIRS = $(DEFAULT_TESTDIRS)
   215 TESTDIRS = $(DEFAULT_TESTDIRS)
   216 
   216 
   217 # Root of all test results
   217 # Root of all test results
   218 TEST_OUTPUT_DIR = $(TEST_ROOT)/../build/$(PLATFORM)-$(ARCH)/test/langtools
   218 TEST_OUTPUT_DIR = $(TEST_ROOT)/../build/$(PLATFORM)-$(ARCH)/test/langtools
   219 ABS_TEST_OUTPUT_DIR := \
   219 ABS_TEST_OUTPUT_DIR := \
   220 	$(shell mkdir -p $(TEST_ROOT)/../build/$(PLATFORM)-$(ARCH)/test/langtools; \
   220 	$(shell mkdir -p $(TEST_OUTPUT_DIR); \
   221 		cd  $(TEST_ROOT)/../build/$(PLATFORM)-$(ARCH)/test/langtools; \
   221 		cd  $(TEST_OUTPUT_DIR); \
   222 		pwd $(CYGPATH))
   222 		pwd $(CYGPATH))
   223 # Subdirectories for different test runs
   223 # Subdirectories for different test runs
   224 JTREG_OUTPUT_DIR = $(ABS_TEST_OUTPUT_DIR)/jtreg
   224 JTREG_OUTPUT_DIR = $(ABS_TEST_OUTPUT_DIR)/jtreg
   225 JCK_COMPILER_OUTPUT_DIR = $(ABS_TEST_OUTPUT_DIR)/jck-compiler
   225 JCK_COMPILER_OUTPUT_DIR = $(ABS_TEST_OUTPUT_DIR)/jck-compiler
   226 JCK_RUNTIME_OUTPUT_DIR = $(ABS_TEST_OUTPUT_DIR)/jck-runtime-Xcompile
   226 JCK_RUNTIME_OUTPUT_DIR = $(ABS_TEST_OUTPUT_DIR)/jck-runtime-Xcompile
   253 # JTREG_HOME
   253 # JTREG_HOME
   254 #	Installed location of jtreg
   254 #	Installed location of jtreg
   255 # JT_JAVA
   255 # JT_JAVA
   256 #	Version of java used to run jtreg.  Should normally be the same as TESTJAVA
   256 #	Version of java used to run jtreg.  Should normally be the same as TESTJAVA
   257 # TESTJAVA
   257 # TESTJAVA
   258 # 	Version of java to be tested.  
   258 # 	Version of java to be tested.
   259 # JTREG_OPTIONS
   259 # JTREG_OPTIONS
   260 #	Additional options for jtreg
   260 #	Additional options for jtreg
   261 # JTREG_TESTDIRS
   261 # JTREG_TESTDIRS
   262 #	Directories of tests to be run
   262 #	Directories of tests to be run
   263 # JTREG_OUTPUT_DIR
   263 # JTREG_OUTPUT_DIR
   309 #       Default is JCK 8.
   309 #       Default is JCK 8.
   310 # JT_JAVA
   310 # JT_JAVA
   311 #	Version of java used to run JCK.  Should normally be the same as TESTJAVA
   311 #	Version of java used to run JCK.  Should normally be the same as TESTJAVA
   312 #       Default is JDK 7
   312 #       Default is JDK 7
   313 # TESTJAVA
   313 # TESTJAVA
   314 # 	Version of java to be tested.  
   314 # 	Version of java to be tested.
   315 # JCK_COMPILER_OPTIONS
   315 # JCK_COMPILER_OPTIONS
   316 #	Additional options for JCK-compiler
   316 #	Additional options for JCK-compiler
   317 # JCK_COMPILER_TESTDIRS
   317 # JCK_COMPILER_TESTDIRS
   318 #	Directories of tests to be run
   318 #	Directories of tests to be run
   319 # JCK_COMPILER_OUTPUT_DIR
   319 # JCK_COMPILER_OUTPUT_DIR
   358 # JCK_HOME
   358 # JCK_HOME
   359 #	Installed location of JCK: should include JCK-compiler, JCK-runtime and JCK-extras
   359 #	Installed location of JCK: should include JCK-compiler, JCK-runtime and JCK-extras
   360 # JT_JAVA
   360 # JT_JAVA
   361 #	Version of java used to run JCK.  Should normally be the same as TESTJAVA
   361 #	Version of java used to run JCK.  Should normally be the same as TESTJAVA
   362 # TESTJAVA
   362 # TESTJAVA
   363 # 	Version of java to be tested.  
   363 # 	Version of java to be tested.
   364 # JCK_RUNTIME_OPTIONS
   364 # JCK_RUNTIME_OPTIONS
   365 #	Additional options for JCK-runtime
   365 #	Additional options for JCK-runtime
   366 # JCK_RUNTIME_TESTDIRS
   366 # JCK_RUNTIME_TESTDIRS
   367 #	Directories of tests to be run
   367 #	Directories of tests to be run
   368 # JCK_RUNTIME_OUTPUT_DIR
   368 # JCK_RUNTIME_OUTPUT_DIR