Makefile revision 564
ac4e70ff8955669341f435bc0a734a17c01af124Mark Andrews#
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updater# Makefile to run jtreg and other tests
229ea4644b3a7d9c7fdaa43888e7f55ba01e2ee3Automatic Updater#
229ea4644b3a7d9c7fdaa43888e7f55ba01e2ee3Automatic Updater
1167fc7904c5f0a472f8df207ac46dd52c7f1ec8Automatic Updater# Product builds and langtools builds
0c39b3ed9409ecb277d5e32fa763a4e4d6598df8Automatic Updater#
46da3117812814a29432a8d9a9ccf8acdbfdadceAutomatic Updater# A full product build (or "control" build) creates a complete JDK image.
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updater# To test a product build, set TESTJAVA to the path for the image.
0519188c8e1ae76978fc4e0f799620cd36eba07aAutomatic Updater#
79b273c187a4aa1016a62181983dfdd0521681aeMark Andrews# A langtools build just builds the langtools components of a JDK.
90ff38a0d8deaf5f9c2aa5916d99b2e572d28738Automatic Updater# To test a langtools build, set TESTJAVA to the path for a recent JDK
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# build, and set TESTBOOTCLASSPATH to the compiled langtools classes --
ac4e70ff8955669341f435bc0a734a17c01af124Mark Andrews# for example build/classes or dist/lib/classes.jar.
6c6a121295b30772cbf3dd75a51fb9d883051a0eAutomatic Updater
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# JPRT
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater# JPRT may invoke this Makefile directly, as part of a langtools build,
e171a4137c6ba348957e61b7c4c3541493c0da02Automatic Updater# or indirectly, via FOREST/test/Makefile, as part of a control build.
e171a4137c6ba348957e61b7c4c3541493c0da02Automatic Updater
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# Get OS/ARCH specifics
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic UpdaterOSNAME = $(shell uname -s)
3cc98b8ecedcbc8465f1cf2740b966b315662430Automatic Updaterifeq ($(OSNAME), SunOS)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews PLATFORM = solaris
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews JT_PLATFORM = solaris
e171a4137c6ba348957e61b7c4c3541493c0da02Automatic Updater ARCH = $(shell uname -p)
831f79c4310a7d38fc3475ccfff531b2b2535641Automatic Updater ifeq ($(ARCH), i386)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews ARCH=i586
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater endif
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrewsendif
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updaterifeq ($(OSNAME), Linux)
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson PLATFORM = linux
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater JT_PLATFORM = linux
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater ARCH = $(shell uname -m)
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson ifeq ($(ARCH), i386)
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater ARCH=i586
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater endif
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updaterendif
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Huntifeq ($(OSNAME), Windows_NT)
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updater PLATFORM = windows
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater JT_PLATFORM = win32
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt ifeq ($(word 1, $(PROCESSOR_IDENTIFIER)),ia64)
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater ARCH=ia64
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater else
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater ifeq ($(word 1, $(PROCESSOR_IDENTIFIER)),AMD64)
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt ARCH=x64
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updater else
2d2dc37599979c83495510f8af8d1756753aa2c5Automatic Updater ifeq ($(word 1, $(PROCESSOR_IDENTIFIER)),EM64T)
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt ARCH=x64
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater else
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater ARCH=i586
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater endif
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater endif
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater endif
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic Updater EXE_SUFFIX=.exe
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic Updaterendif
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater# Root of this test area (important to use full paths in some places)
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic UpdaterTEST_ROOT := $(shell pwd)
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater
eabc9c3c07cd956d3c436bd7614cb162dabdda76Mark Andrews# Default bundle of all test results (passed or not) (JPRT only)
eabc9c3c07cd956d3c436bd7614cb162dabdda76Mark Andrewsifdef JPRT_JOB_ID
eabc9c3c07cd956d3c436bd7614cb162dabdda76Mark Andrews JPRT_CLEAN = clean
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington JPRT_ARCHIVE_BUNDLE = $(TEST_ROOT)/JPRT_ARCHIVE_BUNDLE.zip
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updaterendif
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updaterifeq ($(PLATFORM), windows)
8e9f3b69914ee02a80b87c97b1f8093edb3e9ae0Automatic Updater SLASH_JAVA = J:
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewselse
930f6069e5aa157cf6987cdafd412f5757a5a558Automatic Updater SLASH_JAVA = /java
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewsendif
930f6069e5aa157cf6987cdafd412f5757a5a558Automatic Updater
80faf1588895fd26490f82f95a7a1b771df1c324Automatic Updater# Default JTREG to run
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewsifdef JPRT_JTREG_HOME
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updater JTREG_HOME = $(JPRT_JTREG_HOME)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewselse
930f6069e5aa157cf6987cdafd412f5757a5a558Automatic Updater JTREG_HOME = $(SLASH_JAVA)/re/jtreg/4.0/promoted/latest/binaries/jtreg
693c4232dfdffaff672197d4b9fea944c64cf80aAutomatic Updaterendif
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsJTREG = $(JTREG_HOME)/$(JT_PLATFORM)/bin/jtreg
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic UpdaterJTDIFF = $(JTREG_HOME)/$(JT_PLATFORM)/bin/jtdiff
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater# Default JCK to run
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updaterifdef JPRT_JCK_HOME
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews JCK_HOME = $(JPRT_JCK_HOME)
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updaterelse
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson JCK_HOME = $(SLASH_JAVA)/re/jck/7/promoted/latest/binaries
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updaterendif
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson# Default JDK for JTREG and JCK
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater#
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic Updater# JT_JAVA is the version of java used to run jtreg/JCK. Since it is now
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic Updater# standard to execute tests in sameVM mode, it should normally be set the
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews# same as TESTJAVA (although not necessarily so.)
11af78f7dc35741bdab68dbab11b03daab005b28Automatic Updater#
11af78f7dc35741bdab68dbab11b03daab005b28Automatic Updaterifdef JPRT_JAVA_HOME
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews JT_JAVA = $(JPRT_JAVA_HOME)
2a31bd531072824ef252c18303859d6af7451b00Francis Dupontelse
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updater JT_JAVA = $(SLASH_JAVA)/re/jdk/1.6.0/archive/fcs/binaries/$(PLATFORM)-$(ARCH)
8ccd7da886e93cd490fcb6f4c4e98a6514f35820Automatic Updaterendif
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# Default JDK to test
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updaterifdef JPRT_IMPORT_PRODUCT_HOME
a308b69ac66fadf66863484f301314d6e6a3f1d2Automatic Updater TESTJAVA = $(JPRT_IMPORT_PRODUCT_HOME)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewselse
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews TESTJAVA = $(SLASH_JAVA)/re/jdk/1.7.0/promoted/latest/binaries/$(PLATFORM)-$(ARCH)
08e3b6797706a13054bad749dea04e94b514b8e7Automatic Updaterendif
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic Updater
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews# PRODUCT_HOME is a JPRT variable pointing to a directory containing the output from
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews# make/Makefile
a308b69ac66fadf66863484f301314d6e6a3f1d2Automatic Updater# For langtools, this is a directory containing build and dist
a308b69ac66fadf66863484f301314d6e6a3f1d2Automatic Updater# For a control build, this is build/$(PRODUCT)-$(ARCH)/XYZ-image
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews# (i.e, j2sdk-image or jdk-module-image)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewsifdef PRODUCT_HOME
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updater ifeq ($(shell [ -r $(PRODUCT_HOME)/dist/lib/classes.jar ]; echo $$?),0)
82447d835d3ff5c658749b4e9b4f66166407b3eaAutomatic Updater TESTBOOTCLASSPATH = $(PRODUCT_HOME)/dist/lib/classes.jar
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews endif
0c39b3ed9409ecb277d5e32fa763a4e4d6598df8Automatic Updater ifeq ($(shell [ -r $(PRODUCT_HOME)/bin/javac$(EXE_SUFFIX) ]; echo $$?),0)
0c39b3ed9409ecb277d5e32fa763a4e4d6598df8Automatic Updater TESTJAVA = $(PRODUCT_HOME)
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater endif
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic Updaterendif
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater
fe80a4909bf62b602feaf246866e9d29f7654194Automatic Updaterifdef TESTBOOTCLASSPATH
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater JTREG_OPTIONS += -Xbootclasspath/p:$(TESTBOOTCLASSPATH)
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater### In the following, -refvmoptions is an undocumented option
fe80a4909bf62b602feaf246866e9d29f7654194Automatic Updater### The following does not work JCK 7 b30 2/6/2010. Awaiting b31.
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater JCK_OPTIONS += \
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater -vmoptions:-Xbootclasspath/p:$(TESTBOOTCLASSPATH) \
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson -refvmoptions:-Xbootclasspath/p:$(TESTBOOTCLASSPATH)
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updaterendif
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson# Concurrency is the number of tests that can execute at once.
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic Updater# Supported for JCK, not supported for jtreg.
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic Updater# On an otherwise empty machine, suggest setting to (#cpus + 2)
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic Updater# If unset, the default is (#cpus)
133e6d43fa82e80d3798be4de00f4540f485ec6cAutomatic Updater### RFE: determine and use #cpus
133e6d43fa82e80d3798be4de00f4540f485ec6cAutomatic Updaterifdef JCK_CONCURRENCY
133e6d43fa82e80d3798be4de00f4540f485ec6cAutomatic Updater JCK_OPTIONS += -concurrency:$(JCK_CONCURRENCY)
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updaterendif
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater# JCK is executed using "Multi-JVM Group Mode", which is a hybrid
4104e236f71eb5108fcfda6711878a97f6f4a8e7Automatic Updater# of otherVM and sameVM modes. New JVMs are created and reused for
8711e5c73ca872d59810760af0332194cbdd619bAutomatic Updater# a number of tests, then eventually discarded and a new one started.
229ea4644b3a7d9c7fdaa43888e7f55ba01e2ee3Automatic Updater# This amortizes the JVM startup time. The "group size" defines
0ce87e5749aabb8eef1e0a37e4bd6e6ffa1d7196Automatic Updater# how many tests are run in a JVM before it is replaced.
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updater# If unset, the default is 100.
229ea4644b3a7d9c7fdaa43888e7f55ba01e2ee3Automatic UpdaterJCK_GROUP_SIZE = 1000
765c97d56ccddc9d7904c7d9ff2e2d825d9687e4Automatic Updaterifdef JCK_GROUP_SIZE
3e5340279d8875d136a4dd815cccad0044aa2644Automatic Updater JCK_COMPILER_OPTIONS += \
8ccd7da886e93cd490fcb6f4c4e98a6514f35820Automatic Updater -jtoptions:-Ejck.env.compiler.testCompile.groupMode.groupSize=$(JCK_GROUP_SIZE) \
da82e232161d67b77df2d67898bdac693f647be1Automatic Updater -jtoptions:-Ejck.env.compiler.compRefExecute.groupMode.groupSize=$(JCK_GROUP_SIZE)
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updater### The following is not supported. Awaiting RFE 6924287
d145b64cacc8d9cda51f9924ec70cd4661c3e2cfAutomatic Updater### 6924287: Jck4Jdk: Allow to configure test group size for group mode via simple command line option
8711e5c73ca872d59810760af0332194cbdd619bAutomatic Updater### JCK_RUNTIME_OPTIONS += \
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater### -jtoptions:-Ejck.env.runtime.testCompile.groupMode.groupSize=$(JCK_GROUP_SIZE)
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updaterendif
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater
da82e232161d67b77df2d67898bdac693f647be1Automatic Updater# Timeouts -- by default, increase test timeouts when running on JPRT
9c446b72069d0ab9f710502f4d7048e50875fccbAutomatic Updaterifdef JPRT_JOB_ID
e85565067cf73f8cc21ee29b11761659f1d47ee9Automatic Updater ifndef JTREG_TIMEOUT_FACTOR
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater JTREG_TIMEOUT_FACTOR = 3
bc0a53583d92309bebcf93c408e2f3247ebd3d3cAutomatic Updater endif
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterendif
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterifdef JTREG_TIMEOUT_FACTOR
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater JTREG_OPTIONS += -timeoutFactor:$(JTREG_TIMEOUT_FACTOR)
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterendif
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
7f79131f9a8e804b93c57f3c679065cce878b726Automatic Updater# Assertions: some tests show failures when assertions are enabled.
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater# Since javac is typically loaded via the bootclassloader (either via TESTJAVA
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater# or TESTBOOTCLASSPATH), you may need -esa to enable assertions in javac.
3f616e6f846be57b1717c6beaba0f74de9d5a7c6Automatic UpdaterJTREG_OPTIONS += $(ASSERTION_OPTIONS)
da82e232161d67b77df2d67898bdac693f647be1Automatic UpdaterJCK_OPTIONS += $(ASSERTION_OPTIONS:%=-vmoptions:%)
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
19b3dc94bce93fa76bd7e066f9298630dbc9dcb4Automatic Updater# Include shared options
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterJCK_COMPILER_OPTIONS += $(JCK_OPTIONS)
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic UpdaterJCK_RUNTIME_OPTIONS += $(JCK_OPTIONS)
7f94d9a8162c9a96b56e66176702b66e79d8e1a2Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater# Exit codes:
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater# jtreg, jck: 0: OK, 1: tests failed, 2: tests error; 3+: SERIOUS
f7a71eef29bcbf892270460269c79664f600cffdAutomatic UpdaterFATAL_JTREG_EXIT = 3
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic UpdaterFATAL_JCK_EXIT = 3
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater# jtdiff: 0: OK, 1: differences found; 2+: SERIOUS
71bd43eebd9d6e42dbcae62b730f5b6508d5acd8Automatic UpdaterFATAL_JTDIFF_EXIT = 2
82447d835d3ff5c658749b4e9b4f66166407b3eaAutomatic Updater#
7262eb86f2b465822206122921e2f357218f0cfdAutomatic Updater# Exit -- used for final "normal" exit from "make". Redefine to "true" to avoid
96ea71632887c58a9d00f47eb318bf76b35903c3Mark Andrews# having make exit with non-zero return code.
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterEXIT = exit
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater# Function to exit shell if exit code of preceding command is greater than or equal
bbb069be941f649228760edcc241122933c066d2Automatic Updater# to a given level. Redefine function or preceding FATAL_*_EXIT codes as needed.
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic UpdaterEXIT_IF_FATAL = status=$$?; if [ $$status -ge $(1) ]; then exit $$status ; fi
4cda4fd158d6ded5586bacea8c388445d99611eaAutomatic Updater
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# The test directories to run
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic UpdaterDEFAULT_TESTDIRS = .
80faf1588895fd26490f82f95a7a1b771df1c324Automatic UpdaterTESTDIRS = $(DEFAULT_TESTDIRS)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater# Root of all test results
8711e5c73ca872d59810760af0332194cbdd619bAutomatic UpdaterTEST_OUTPUT_DIR = $(TEST_ROOT)/../build/$(PLATFORM)-$(ARCH)/test/langtools
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsABS_TEST_OUTPUT_DIR := \
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews $(shell mkdir -p $(TEST_ROOT)/../build/$(PLATFORM)-$(ARCH)/test/langtools; \
765c97d56ccddc9d7904c7d9ff2e2d825d9687e4Automatic Updater cd $(TEST_ROOT)/../build/$(PLATFORM)-$(ARCH)/test/langtools; \
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews pwd )
f7c88d61cc1ad2435b0b7cfaedfc9d5248c0be25Automatic Updater# Subdirectories for different test runs
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsJTREG_OUTPUT_DIR = $(ABS_TEST_OUTPUT_DIR)/jtreg
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterJCK_COMPILER_OUTPUT_DIR = $(ABS_TEST_OUTPUT_DIR)/jck-compiler
3f616e6f846be57b1717c6beaba0f74de9d5a7c6Automatic UpdaterJCK_RUNTIME_OUTPUT_DIR = $(ABS_TEST_OUTPUT_DIR)/jck-runtime-Xcompile
229ea4644b3a7d9c7fdaa43888e7f55ba01e2ee3Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater# Default make rule -- warning, may take a while
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updaterall: $(JPRT_CLEAN) jtreg-tests jck-compiler-tests jck-runtime-tests $(JPRT_ARCHIVE_BUNDLE) all-summary
f7a71eef29bcbf892270460269c79664f600cffdAutomatic Updater @echo "Testing completed successfully"
3e5340279d8875d136a4dd815cccad0044aa2644Automatic Updater
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonjtreg apt javac javadoc javah javap: $(JPRT_CLEAN) jtreg-tests $(JPRT_ARCHIVE_BUNDLE) jtreg-summary
8711e5c73ca872d59810760af0332194cbdd619bAutomatic Updater @echo "Testing completed successfully"
8711e5c73ca872d59810760af0332194cbdd619bAutomatic Updater
cf7e98f59148b559946a7f1ca728471374f1eef3Automatic Updaterjck-compiler: $(JPRT_CLEAN) jck-compiler-tests $(JPRT_ARCHIVE_BUNDLE) jck-compiler-summary
930f6069e5aa157cf6987cdafd412f5757a5a558Automatic Updater @echo "Testing completed successfully"
8ccd7da886e93cd490fcb6f4c4e98a6514f35820Automatic Updater
8711e5c73ca872d59810760af0332194cbdd619bAutomatic Updaterjck-runtime: $(JPRT_CLEAN) jck-runtime-tests $(JPRT_ARCHIVE_BUNDLE) jck-runtime-summary
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater @echo "Testing completed successfully"
cf7e98f59148b559946a7f1ca728471374f1eef3Automatic Updater
c3fd32ed29e9e419bb56583f4272a506773b1ea0Automatic Updater# for use with JPRT -testrule
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafssonall: JTREG_TESTDIRS = .
c3fd32ed29e9e419bb56583f4272a506773b1ea0Automatic Updaterjtreg: JTREG_TESTDIRS = .
c3fd32ed29e9e419bb56583f4272a506773b1ea0Automatic Updaterapt: JTREG_TESTDIRS = tools/apt
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updaterjavac: JTREG_TESTDIRS = tools/javac
8711e5c73ca872d59810760af0332194cbdd619bAutomatic Updaterjavadoc: JTREG_TESTDIRS = tools/javadoc com/sun/javadoc
099b86fb8136a7dff81df85cf395978c16eb254cAutomatic Updaterjavah: JTREG_TESTDIRS = tools/javah
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonjavap: JTREG_TESTDIRS = tools/javap
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater
3857cb6fcabeb79d85de4b3e3e4ab99912b701f8Mark Andrews# Run jtreg tests
572cb2c1c931f6bc6a4a019c103ae88239b0eb96Automatic Updater#
7858b0168b866c0c2878fc4ea31fb5e581c1a6a9Automatic Updater# JTREG_HOME
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# Installed location of jtreg
9174e44c14b1cb91a651fa1dc29470438c246ab9Automatic Updater# JT_JAVA
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson# Version of java used to run jtreg. Should normally be the same as TESTJAVA
e2caa7536302de34de6cc04025abcd53dc3a499aAutomatic Updater# TESTJAVA
56e7dc0c24b04210dcbffb180a9e35644fb820daAutomatic Updater# Version of java to be tested.
7d12a6b412fe47e6d6582923fd6954ab8cd0baebAutomatic Updater# JTREG_OPTIONS
8292deab031e7599cd7622aa7675fbe139ca6095Mark Andrews# Additional options for jtreg
0b57424d28c9a67018107133f9fbc0a7dcf057e2Mark Andrews# JTREG_TESTDIRS
0b57424d28c9a67018107133f9fbc0a7dcf057e2Mark Andrews# Directories of tests to be run
0b57424d28c9a67018107133f9fbc0a7dcf057e2Mark Andrews# JTREG_OUTPUT_DIR
ca35524ce2b57e6f1b261d23565d1288a355d12fAutomatic Updater# Where to write the results
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews# JTREG_REFERENCE
b109432c3a939bff66a463be86c371bd88efe3aaAutomatic Updater# (Optional) reference results (e.g. work, report or summary.txt)
7d12a6b412fe47e6d6582923fd6954ab8cd0baebAutomatic Updater#
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrewsjtreg-tests: check-jtreg FRC
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews @rm -f -r $(JTREG_OUTPUT_DIR)/JTwork $(JTREG_OUTPUT_DIR)/JTreport \
3351ccbd5c1961404044f8273d54dad405f53960Mark Andrews $(JTREG_OUTPUT_DIR)/diff.html $(JTREG_OUTPUT_DIR)/status.txt
7d12a6b412fe47e6d6582923fd6954ab8cd0baebAutomatic Updater @mkdir -p $(JTREG_OUTPUT_DIR)
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews JT_JAVA=$(JT_JAVA) $(JTREG) \
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews -J-Xmx512m \
3351ccbd5c1961404044f8273d54dad405f53960Mark Andrews -a -samevm -ignore:quiet -v:fail,error,nopass \
7d12a6b412fe47e6d6582923fd6954ab8cd0baebAutomatic Updater -r:$(JTREG_OUTPUT_DIR)/JTreport \
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews -w:$(JTREG_OUTPUT_DIR)/JTwork \
0b57424d28c9a67018107133f9fbc0a7dcf057e2Mark Andrews -jdk:$(TESTJAVA) \
7d12a6b412fe47e6d6582923fd6954ab8cd0baebAutomatic Updater $(JAVA_ARGS:%=-vmoption:%) \
0b57424d28c9a67018107133f9fbc0a7dcf057e2Mark Andrews $(JTREG_OPTIONS) \
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updater $(JTREG_TESTDIRS) \
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updater || ( $(call EXIT_IF_FATAL,$(FATAL_JTREG_EXIT)) ; \
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updater echo $$status > $(JTREG_OUTPUT_DIR)/status.txt \
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updater )
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updaterifdef JTREG_REFERENCE
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updater JT_JAVA=$(JT_JAVA) $(JTDIFF) -o $(JTREG_OUTPUT_DIR)/diff.html \
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updater $(JTREG_REFERENCE) $(JTREG_OUTPUT_DIR)/JTreport \
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updater || ( $(call EXIT_IF_FATAL,$(FATAL_JTDIFF_EXIT)) )
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updaterendif
7d12a6b412fe47e6d6582923fd6954ab8cd0baebAutomatic Updater
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonjtreg-summary: FRC
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater if [ -r $(JTREG_OUTPUT_DIR)/status.txt ]; then \
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater echo ; echo "Summary of jtreg test failures" ; \
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews cat $(JTREG_OUTPUT_DIR)/JTreport/text/summary.txt | \
8ccd7da886e93cd490fcb6f4c4e98a6514f35820Automatic Updater grep -v 'Not run' | grep -v 'Passed' ; \
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater echo ; \
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews $(EXIT) `cat $(JTREG_OUTPUT_DIR)/status.txt` ; \
4b2cb1422c7c600fbc13b1cb06a8b4693bc11af8Mark Andrews fi
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
4b2cb1422c7c600fbc13b1cb06a8b4693bc11af8Mark Andrews# Check to make sure these directories exist
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewscheck-jtreg: $(JT_HOME) $(PRODUCT_HOME) $(JTREG)
06f5acb11f1c32228d93eefd1eb841dbfb1c7f4dAutomatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
7f79131f9a8e804b93c57f3c679065cce878b726Automatic Updater# Run JCK-compiler tests
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater#
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson# JCK_HOME
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater# Installed location of JCK: should include JCK-compiler, and JCK-extras
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews# JT_JAVA
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews# Version of java used to run JCK. Should normally be the same as TESTJAVA
ac4e70ff8955669341f435bc0a734a17c01af124Mark Andrews# TESTJAVA
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# Version of java to be tested.
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# JCK_COMPILER_OPTIONS
b13d89bd89878137c81b36a36596cca3920f27a4Automatic Updater# Additional options for JCK-compiler
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater# JCK_COMPILER_TESTDIRS
b13d89bd89878137c81b36a36596cca3920f27a4Automatic Updater# Directories of tests to be run
b13d89bd89878137c81b36a36596cca3920f27a4Automatic Updater# JCK_COMPILER_OUTPUT_DIR
b13d89bd89878137c81b36a36596cca3920f27a4Automatic Updater# Where to write the results
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater# JCK_COMPILER_REFERENCE
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater# (Optional) reference results (e.g. work, report or summary.txt)
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater#
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterjck-compiler-tests: check-jck FRC
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater @rm -f -r $(JCK_COMPILER_OUTPUT_DIR)/work $(JCK_COMPILER_OUTPUT_DIR)/report \
b1265b5a06df36d490d4bdf54284fb133a1f5a84Automatic Updater $(JCK_COMPILER_OUTPUT_DIR)/diff.html $(JCK_COMPILER_OUTPUT_DIR)/status.txt
bc0a4c01beede169df81a3ee5b614ed9e82339dbAutomatic Updater @mkdir -p $(JCK_COMPILER_OUTPUT_DIR)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(JT_JAVA)/bin/java -XX:MaxPermSize=256m -Xmx512m \
665ba746c0585088d0c314dcfc4671aa2c7b2dc1Automatic Updater -jar $(JCK_HOME)/JCK-compiler-7/lib/jtjck.jar \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington -v:non-pass \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington -r:$(JCK_COMPILER_OUTPUT_DIR)/report \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington -w:$(JCK_COMPILER_OUTPUT_DIR)/work \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington -jdk:$(TESTJAVA) \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(JCK_COMPILER_OPTIONS) \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(JCK_COMPILER_TESTDIRS) \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington || ( $(call EXIT_IF_FATAL,$(FATAL_JCK_EXIT)) ; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington echo $$status > $(JCK_COMPILER_OUTPUT_DIR)/status.txt \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington )
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonifdef JCK_COMPILER_REFERENCE
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington JT_JAVA=$(JT_JAVA) $(JTDIFF) -o $(JCK_COMPILER_OUTPUT_DIR)/diff.html \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(JCK_COMPILER_REFERENCE) $(JCK_COMPILER_OUTPUT_DIR)/report \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington || ( $(call EXIT_IF_FATAL,$(FATAL_JTDIFF_EXIT)) )
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonendif
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonjck-compiler-summary: FRC
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington if [ -r $(JCK_COMPILER_OUTPUT_DIR)/status.txt ]; then \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington echo ; echo "Summary of JCK-compiler test failures" ; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington cat $(JCK_COMPILER_OUTPUT_DIR)/report/text/summary.txt | \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington grep -v 'Not run' | grep -v 'Passed' ; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington echo ; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(EXIT) `cat $(JCK_COMPILER_OUTPUT_DIR)/status.txt` ; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington fi
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# Run JCK-runtime tests in -Xcompile mode
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# This is a special mode to test javac by compiling the tests in the JCK-runtime test suite
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# Normal JCK-runtime invocation belongs in the jdk/ repository.
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington#
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# JCK_HOME
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# Installed location of JCK: should include JCK-compiler, JCK-runtime and JCK-extras
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# JT_JAVA
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# Version of java used to run JCK. Should normally be the same as TESTJAVA
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# TESTJAVA
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# Version of java to be tested.
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# JCK_RUNTIME_OPTIONS
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# Additional options for JCK-runtime
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# JCK_RUNTIME_TESTDIRS
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# Directories of tests to be run
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# JCK_RUNTIME_OUTPUT_DIR
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# Where to write the results
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# JCK_RUNTIME_REFERENCE
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# (Optional) reference results (e.g. work, report or summary.txt)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington#
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonjck-runtime-tests: check-jck FRC
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington @rm -f -r $(JCK_RUNTIME_OUTPUT_DIR)/work $(JCK_RUNTIME_OUTPUT_DIR)/report \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(JCK_RUNTIME_OUTPUT_DIR)/diff.html $(JCK_RUNTIME_OUTPUT_DIR)/status.txt
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington @mkdir -p $(JCK_RUNTIME_OUTPUT_DIR)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(JT_JAVA)/bin/java -XX:MaxPermSize=256m -Xmx512m \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington -jar $(JCK_HOME)/JCK-runtime-7/lib/jtjck.jar \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington -v:non-pass \
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updater -r:$(JCK_RUNTIME_OUTPUT_DIR)/report \
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater -w:$(JCK_RUNTIME_OUTPUT_DIR)/work \
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater -jdk:$(TESTJAVA) \
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater -Xcompile \
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater $(JCK_RUNTIME_OPTIONS) \
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater $(JCK_RUNTIME_TESTDIRS) \
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater || ( $(call EXIT_IF_FATAL,$(FATAL_JCK_EXIT)) ; \
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater echo $$status > $(JCK_RUNTIME_OUTPUT_DIR)/status.txt \
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater )
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updaterifdef JCK_RUNTIME_REFERENCE
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater JT_JAVA=$(JT_JAVA) $(JTDIFF) -o $(JCK_RUNTIME_OUTPUT_DIR)/diff.html \
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater $(JCK_RUNTIME_REFERENCE) $(JCK_RUNTIME_OUTPUT_DIR)/report \
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater || ( $(call EXIT_IF_FATAL,$(FATAL_JTDIFF_EXIT)) )
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updaterendif
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updaterjck-runtime-summary: FRC
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater if [ -r $(JCK_RUNTIME_OUTPUT_DIR)/status.txt ]; then \
0d3490f93bb980fde704055e74c1b508987a5fe4Mark Andrews echo ; echo "Summary of JCK-runtime test failures" ; \
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington cat $(JCK_RUNTIME_OUTPUT_DIR)/report/text/summary.txt | \
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington grep -v 'Not run' | grep -v 'Passed' ; \
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington echo ; \
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington $(EXIT) `cat $(JCK_RUNTIME_OUTPUT_DIR)/status.txt` ; \
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews fi
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# Check to make sure these directories exist
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrewscheck-jck: $(JT_HOME) $(JCK_HOME) $(PRODUCT_HOME)
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrewsall-summary: FRC
348040cb2675f1c3711672dadfc29f5ddfd2bb23Automatic Updater if [ -n "`find $(TEST_OUTPUT_DIR) -name status.txt`" ]; then
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington echo ; echo "Summary of test failures" ; \
6c6a121295b30772cbf3dd75a51fb9d883051a0eAutomatic Updater cat `find $(TEST_OUTPUT_DIR) -name summary.txt` | \
099b86fb8136a7dff81df85cf395978c16eb254cAutomatic Updater grep -v 'Not run' | grep -v 'Passed' ; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington echo ; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(EXIT) 1
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington fi
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
a308b69ac66fadf66863484f301314d6e6a3f1d2Automatic Updater# Bundle up the results
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater$(JPRT_ARCHIVE_BUNDLE): FRC
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater @rm -f $@
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater @mkdir -p $(@D)
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater ( cd $(TEST_OUTPUT_DIR) && zip -q -r $@ . )
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater# Cleanup
765c97d56ccddc9d7904c7d9ff2e2d825d9687e4Automatic Updaterclean:
e01f44b37ba11c9d34f4a8394f950efae5c07f33Automatic Updater rm -f $(JPRT_ARCHIVE_BUNDLE)
e01f44b37ba11c9d34f4a8394f950efae5c07f33Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater# Used to force a target rules to run
c01dec514a81ecf8c17ca3ef8c3ba95e437295ebAutomatic UpdaterFRC:
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater# Phony targets (e.g. these are not filenames)
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater.PHONY: all clean \
3de6db3208d51de1e138b63b9670430c03f99694Automatic Updater jtreg javac javadoc javah javap jtreg-tests jtreg-summary check-jtreg \
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater jck-compiler jck-compiler-tests jck-compiler-summary \
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater jck-runtime jck-runtime-tests jck-runtime-summary check-jck
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater# No use of suffix rules
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington.SUFFIXES:
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington