f743002678eb67b99bbc29fee116b65d9530fec0wrowe#
80833bb9a1bf25dcf19e814438a4b311d2e1f4cffuankg# Makefile to run jtreg and other tests
a34684a59b60a4173c25035d0c627ef17e6dc215rpluem#
1337c7673efc1f80f634139fbad7cbb98a0dc657ylavic
1337c7673efc1f80f634139fbad7cbb98a0dc657ylavic# Product builds and langtools builds
1337c7673efc1f80f634139fbad7cbb98a0dc657ylavic#
1337c7673efc1f80f634139fbad7cbb98a0dc657ylavic# A full product build (or "control" build) creates a complete JDK image.
4da61833a1cbbca94094f9653fd970582b97a72etrawick# To test a product build, set TESTJAVA to the path for the image.
4da61833a1cbbca94094f9653fd970582b97a72etrawick#
4da61833a1cbbca94094f9653fd970582b97a72etrawick# A langtools build just builds the langtools components of a JDK.
4da61833a1cbbca94094f9653fd970582b97a72etrawick# To test a langtools build, set TESTJAVA to the path for a recent JDK
4da61833a1cbbca94094f9653fd970582b97a72etrawick# build, and set TESTBOOTCLASSPATH to the compiled langtools classes --
4789804be088bcd86ae637a29cdb7fda25169521jailletc# for example build/classes or dist/lib/classes.jar.
4789804be088bcd86ae637a29cdb7fda25169521jailletc
4789804be088bcd86ae637a29cdb7fda25169521jailletc# JPRT
4789804be088bcd86ae637a29cdb7fda25169521jailletc# JPRT may invoke this Makefile directly, as part of a langtools build,
e50c3026198fd496f183cda4c32a202925476778covener# or indirectly, via FOREST/test/Makefile, as part of a control build.
e50c3026198fd496f183cda4c32a202925476778covener
e50c3026198fd496f183cda4c32a202925476778covener# Get OS/ARCH specifics
5b88c8507d5ef6d0c4cfbc78230294968175b638minfrinOSNAME = $(shell uname -s)
5b88c8507d5ef6d0c4cfbc78230294968175b638minfrinifeq ($(OSNAME), SunOS)
6c3b9cebb551140fbb25d58bae08b539b3802133ylavic PLATFORM = solaris
6c3b9cebb551140fbb25d58bae08b539b3802133ylavic JT_PLATFORM = solaris
6c3b9cebb551140fbb25d58bae08b539b3802133ylavic ARCH = $(shell uname -p)
4f29b65ab4b547ad5dbe506e2d0ff5d12ead9247ylavic ifeq ($(ARCH), i386)
4f29b65ab4b547ad5dbe506e2d0ff5d12ead9247ylavic ARCH=i586
0a0df13b7f1f4f1a74fe295253d89ca3911b301aylavic endif
0a0df13b7f1f4f1a74fe295253d89ca3911b301aylavicendif
0a0df13b7f1f4f1a74fe295253d89ca3911b301aylavicifeq ($(OSNAME), Linux)
0a0df13b7f1f4f1a74fe295253d89ca3911b301aylavic PLATFORM = linux
69301145375a889e7e37caf7cc7321ac0f91801erpluem JT_PLATFORM = linux
69301145375a889e7e37caf7cc7321ac0f91801erpluem ARCH = $(shell uname -m)
69301145375a889e7e37caf7cc7321ac0f91801erpluem ifeq ($(ARCH), i386)
506bfe33206b2fece40ef25f695af39dd4130facjkaluza ARCH=i586
506bfe33206b2fece40ef25f695af39dd4130facjkaluza endif
506bfe33206b2fece40ef25f695af39dd4130facjkaluzaendif
506bfe33206b2fece40ef25f695af39dd4130facjkaluzaifeq ($(OSNAME), Darwin)
d58a848a016d401b965111e50ef829e1641f7834minfrin PLATFORM = bsd
d58a848a016d401b965111e50ef829e1641f7834minfrin JT_PLATFORM = linux
d58a848a016d401b965111e50ef829e1641f7834minfrin ARCH = $(shell uname -m)
2e6f4d654c96c98b761fb012fd25c5d5b1558c44sf ifeq ($(ARCH), i386)
2e6f4d654c96c98b761fb012fd25c5d5b1558c44sf ARCH=i586
2e6f4d654c96c98b761fb012fd25c5d5b1558c44sf endif
17e6c95f3b22d18acdf8380fb26a8d0e10c80767ylavicendif
17e6c95f3b22d18acdf8380fb26a8d0e10c80767ylavicifeq ($(OSNAME), Windows_NT)
17e6c95f3b22d18acdf8380fb26a8d0e10c80767ylavic PLATFORM = windows
17e6c95f3b22d18acdf8380fb26a8d0e10c80767ylavic JT_PLATFORM = win32
17e6c95f3b22d18acdf8380fb26a8d0e10c80767ylavic ifeq ($(word 1, $(PROCESSOR_IDENTIFIER)),ia64)
e8bd80a4bb88199d2f9a24a50345688e52d9c116ylavic ARCH=ia64
e8bd80a4bb88199d2f9a24a50345688e52d9c116ylavic else
e8bd80a4bb88199d2f9a24a50345688e52d9c116ylavic ifeq ($(word 1, $(PROCESSOR_IDENTIFIER)),AMD64)
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavic ARCH=x64
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavic else
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavic ifeq ($(word 1, $(PROCESSOR_IDENTIFIER)),EM64T)
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavic ARCH=x64
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavic else
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavic ARCH=i586
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavic endif
d7205b1a86c51c27b71a2c458dc453fd53a261c1covener endif
d7205b1a86c51c27b71a2c458dc453fd53a261c1covener endif
d7205b1a86c51c27b71a2c458dc453fd53a261c1covener EXE_SUFFIX=.exe
d7205b1a86c51c27b71a2c458dc453fd53a261c1covenerendif
d7205b1a86c51c27b71a2c458dc453fd53a261c1covener
44ff304057225e944e220e981d434a046d14cf06covener# Root of this test area (important to use full paths in some places)
44ff304057225e944e220e981d434a046d14cf06covenerTEST_ROOT := $(shell pwd)
44ff304057225e944e220e981d434a046d14cf06covener
44ff304057225e944e220e981d434a046d14cf06covener# Default bundle of all test results (passed or not) (JPRT only)
5d1ba75b8794925e67591c209085a49279791de9covenerifdef JPRT_JOB_ID
5d1ba75b8794925e67591c209085a49279791de9covener JPRT_CLEAN = clean
5d1ba75b8794925e67591c209085a49279791de9covener JPRT_ARCHIVE_BUNDLE = $(TEST_ROOT)/JPRT_ARCHIVE_BUNDLE.zip
032982212dbcc7c3cce95bf89c503bb56e185ac7kbrandendif
032982212dbcc7c3cce95bf89c503bb56e185ac7kbrand
032982212dbcc7c3cce95bf89c503bb56e185ac7kbrandifeq ($(PLATFORM), windows)
032982212dbcc7c3cce95bf89c503bb56e185ac7kbrand SLASH_JAVA = J:
caad2986f81ab263f7af41467dd622dc9add17f3ylavicelse
caad2986f81ab263f7af41467dd622dc9add17f3ylavic SLASH_JAVA = /java
caad2986f81ab263f7af41467dd622dc9add17f3ylavicendif
caad2986f81ab263f7af41467dd622dc9add17f3ylavic
45a10d38e6051fd7bdf9d742aaae633d97ff02abjailletc# Default JTREG to run
f7317ff316c2b141feea31bddb74d5d3fa1584edjortonifdef JPRT_JTREG_HOME
f7317ff316c2b141feea31bddb74d5d3fa1584edjorton JTREG_HOME = $(JPRT_JTREG_HOME)
2165214331e4afafca4048f66f303d0253d7b001covenerelse
a34684a59b60a4173c25035d0c627ef17e6dc215rpluem JTREG_HOME = $(SLASH_JAVA)/re/jtreg/4.0/promoted/latest/binaries/jtreg
a34684a59b60a4173c25035d0c627ef17e6dc215rpluemendif
1e2d421a36999d292042a5539971070d54aa6c63ylavicJTREG = $(JTREG_HOME)/$(JT_PLATFORM)/bin/jtreg
1e2d421a36999d292042a5539971070d54aa6c63ylavicJTDIFF = $(JTREG_HOME)/$(JT_PLATFORM)/bin/jtdiff
1e2d421a36999d292042a5539971070d54aa6c63ylavic
fa7ed98b9dc94c5845cf845aea0a44ecacd290c9humbedooh# Default JCK to run
fa7ed98b9dc94c5845cf845aea0a44ecacd290c9humbedoohifdef JPRT_JCK_HOME
fa7ed98b9dc94c5845cf845aea0a44ecacd290c9humbedooh JCK_HOME = $(JPRT_JCK_HOME)
0b67eb8568cd58bb77082703951679b42cf098actrawickelse
0b67eb8568cd58bb77082703951679b42cf098actrawick JCK_HOME = $(SLASH_JAVA)/re/jck/7/promoted/latest/binaries
0b67eb8568cd58bb77082703951679b42cf098actrawickendif
0b67eb8568cd58bb77082703951679b42cf098actrawick
5ef3c61605a3a021ff71f488983cb0065f8e1a79covener# Default JDK for JTREG and JCK
fb1985a97912b25ec6564c73e610a31e5fc6e25fcovener#
09c87c777bed1655621bb20e1c46cb6b1a63279dcovener# JT_JAVA is the version of java used to run jtreg/JCK. Since it is now
6502b7b32f980cc2093bb3ebce37e5e4dc68fba4ylavic# standard to execute tests in sameVM mode, it should normally be set the
6502b7b32f980cc2093bb3ebce37e5e4dc68fba4ylavic# same as TESTJAVA (although not necessarily so.)
3060ce7f798fbda7999cd4ddf89b525d2b294185covener#
c1a63b8fad09c419c1a64f75993feb8a343a6801ylavicifdef JPRT_JAVA_HOME
c1a63b8fad09c419c1a64f75993feb8a343a6801ylavic JT_JAVA = $(JPRT_JAVA_HOME)
c1a63b8fad09c419c1a64f75993feb8a343a6801ylavicelse
e6b4bd1113567627ab6bb6c6a7105e1e01a7d889jailletc JT_JAVA = $(SLASH_JAVA)/re/jdk/1.6.0/archive/fcs/binaries/$(PLATFORM)-$(ARCH)
e6b4bd1113567627ab6bb6c6a7105e1e01a7d889jailletcendif
e466c40e1801982602ee0200c9e8b61cc148742djailletc
e466c40e1801982602ee0200c9e8b61cc148742djailletc# Default JDK to test
457468b82e59d01eba00dd9d0817309c8f5e414ejimifdef JPRT_IMPORT_PRODUCT_HOME
457468b82e59d01eba00dd9d0817309c8f5e414ejim TESTJAVA = $(JPRT_IMPORT_PRODUCT_HOME)
457468b82e59d01eba00dd9d0817309c8f5e414ejimelse
04983e3bd1754764eec7d6bb772fe3b0bf391771jorton TESTJAVA = $(SLASH_JAVA)/re/jdk/1.7.0/promoted/latest/binaries/$(PLATFORM)-$(ARCH)
04983e3bd1754764eec7d6bb772fe3b0bf391771jortonendif
15890c9306ba98f6fc243e15a3c4778ddc7d773erpluem
15660979a30d251681463de2e0584853890082accovener# PRODUCT_HOME is a JPRT variable pointing to a directory containing the output from
15660979a30d251681463de2e0584853890082accovener# make/Makefile
49dacedb6c387b786b7911082ff35121a45f414bcovener# For langtools, this is a directory containing build and dist
49dacedb6c387b786b7911082ff35121a45f414bcovener# For a control build, this is build/$(PRODUCT)-$(ARCH)/XYZ-image
cfd9415521847b2f9394fad04fb701cfb955f503rjung# (i.e, j2sdk-image or jdk-module-image)
cfd9415521847b2f9394fad04fb701cfb955f503rjungifdef PRODUCT_HOME
cfd9415521847b2f9394fad04fb701cfb955f503rjung ifeq ($(shell [ -r $(PRODUCT_HOME)/dist/lib/classes.jar ]; echo $$?),0)
28c31fb73c1264bd1d0ff932573677030b024c7dwrowe TESTBOOTCLASSPATH = $(PRODUCT_HOME)/dist/lib/classes.jar
28c31fb73c1264bd1d0ff932573677030b024c7dwrowe endif
28c31fb73c1264bd1d0ff932573677030b024c7dwrowe ifeq ($(shell [ -r $(PRODUCT_HOME)/bin/javac$(EXE_SUFFIX) ]; echo $$?),0)
28c31fb73c1264bd1d0ff932573677030b024c7dwrowe TESTJAVA = $(PRODUCT_HOME)
28c31fb73c1264bd1d0ff932573677030b024c7dwrowe endif
8491e0600f69b0405e156ea8a419653c065c645bcovenerendif
63b9f1f5880391261705f696d7d65507bbe9ace3covener
63b9f1f5880391261705f696d7d65507bbe9ace3covenerifdef TESTBOOTCLASSPATH
63b9f1f5880391261705f696d7d65507bbe9ace3covener JTREG_OPTIONS += -Xbootclasspath/p:$(TESTBOOTCLASSPATH)
49dacedb6c387b786b7911082ff35121a45f414bcovener### In the following, -refvmoptions is an undocumented option
49dacedb6c387b786b7911082ff35121a45f414bcovener### The following does not work JCK 7 b30 2/6/2010. Awaiting b31.
49dacedb6c387b786b7911082ff35121a45f414bcovener JCK_OPTIONS += \
49dacedb6c387b786b7911082ff35121a45f414bcovener -vmoptions:-Xbootclasspath/p:$(TESTBOOTCLASSPATH) \
3c990331fc6702119e4f5b8ba9eae3021aea5265jim -refvmoptions:-Xbootclasspath/p:$(TESTBOOTCLASSPATH)
3c990331fc6702119e4f5b8ba9eae3021aea5265jimendif
3c990331fc6702119e4f5b8ba9eae3021aea5265jim
3c990331fc6702119e4f5b8ba9eae3021aea5265jim# Concurrency is the number of tests that can execute at once.
fc42512879dd0504532f52fe5d0d0383dda96a1eniq# Supported for JCK, not supported for jtreg.
fc42512879dd0504532f52fe5d0d0383dda96a1eniq# On an otherwise empty machine, suggest setting to (#cpus + 2)
fc42512879dd0504532f52fe5d0d0383dda96a1eniq# If unset, the default is (#cpus)
0451df5dc50fa5d8b3e07d92ee6a92e36a1181a5niq### RFE: determine and use #cpus
0451df5dc50fa5d8b3e07d92ee6a92e36a1181a5niqifdef JCK_CONCURRENCY
0451df5dc50fa5d8b3e07d92ee6a92e36a1181a5niq JCK_OPTIONS += -concurrency:$(JCK_CONCURRENCY)
da0442c0440caef34706e2c2f3af05cb65921cc0jailletcendif
983528026996668ea295be95aedb9c7a346af470ylavic
da0442c0440caef34706e2c2f3af05cb65921cc0jailletc# JCK is executed using "Multi-JVM Group Mode", which is a hybrid
da0442c0440caef34706e2c2f3af05cb65921cc0jailletc# of otherVM and sameVM modes. New JVMs are created and reused for
06b8f183140c8e02e0974e938a05078b511d1603covener# a number of tests, then eventually discarded and a new one started.
06b8f183140c8e02e0974e938a05078b511d1603covener# This amortizes the JVM startup time. The "group size" defines
06b8f183140c8e02e0974e938a05078b511d1603covener# how many tests are run in a JVM before it is replaced.
15890c9306ba98f6fc243e15a3c4778ddc7d773erpluem# If unset, the default is 100.
259878293a997ff49f5ddfc53d3739cbdc25444ecovenerJCK_GROUP_SIZE = 1000
259878293a997ff49f5ddfc53d3739cbdc25444ecovenerifdef JCK_GROUP_SIZE
259878293a997ff49f5ddfc53d3739cbdc25444ecovener JCK_COMPILER_OPTIONS += \
259878293a997ff49f5ddfc53d3739cbdc25444ecovener -jtoptions:-Ejck.env.compiler.testCompile.groupMode.groupSize=$(JCK_GROUP_SIZE) \
15890c9306ba98f6fc243e15a3c4778ddc7d773erpluem -jtoptions:-Ejck.env.compiler.compRefExecute.groupMode.groupSize=$(JCK_GROUP_SIZE)
b54b024c06a19926832d77d40ba35ad8c41e4d3dminfrin### The following is not supported. Awaiting RFE 6924287
b54b024c06a19926832d77d40ba35ad8c41e4d3dminfrin### 6924287: Jck4Jdk: Allow to configure test group size for group mode via simple command line option
b54b024c06a19926832d77d40ba35ad8c41e4d3dminfrin### JCK_RUNTIME_OPTIONS += \
65967d05f839dbf27cf91d91fa79585eeae19660minfrin### -jtoptions:-Ejck.env.runtime.testCompile.groupMode.groupSize=$(JCK_GROUP_SIZE)
65967d05f839dbf27cf91d91fa79585eeae19660minfrinendif
65967d05f839dbf27cf91d91fa79585eeae19660minfrin
65967d05f839dbf27cf91d91fa79585eeae19660minfrin# Timeouts -- by default, increase test timeouts when running on JPRT
8152945ae46857b170cb227e79bb799f4fc7710dminfrinifdef JPRT_JOB_ID
8152945ae46857b170cb227e79bb799f4fc7710dminfrin ifndef JTREG_TIMEOUT_FACTOR
8152945ae46857b170cb227e79bb799f4fc7710dminfrin JTREG_TIMEOUT_FACTOR = 3
8152945ae46857b170cb227e79bb799f4fc7710dminfrin endif
75f5c2db254c0167a0e396254460de09b775d203trawickendif
75f5c2db254c0167a0e396254460de09b775d203trawickifdef JTREG_TIMEOUT_FACTOR
75f5c2db254c0167a0e396254460de09b775d203trawick JTREG_OPTIONS += -timeoutFactor:$(JTREG_TIMEOUT_FACTOR)
4f0358189bfa57b8e75bd6b94db264302a8f336amrumphendif
4f0358189bfa57b8e75bd6b94db264302a8f336amrumph
4f0358189bfa57b8e75bd6b94db264302a8f336amrumph# Assertions: some tests show failures when assertions are enabled.
5716f9c6daa92dde5f2f9d11ed63f7c9549c223atrawick# Since javac is typically loaded via the bootclassloader (either via TESTJAVA
5716f9c6daa92dde5f2f9d11ed63f7c9549c223atrawick# or TESTBOOTCLASSPATH), you may need -esa to enable assertions in javac.
5716f9c6daa92dde5f2f9d11ed63f7c9549c223atrawickJTREG_OPTIONS += $(ASSERTION_OPTIONS)
5716f9c6daa92dde5f2f9d11ed63f7c9549c223atrawickJCK_OPTIONS += $(ASSERTION_OPTIONS:%=-vmoptions:%)
54d750a84a175d8e338880514d440773eb986b50covener
54d750a84a175d8e338880514d440773eb986b50covener# Include shared options
54d750a84a175d8e338880514d440773eb986b50covenerJCK_COMPILER_OPTIONS += $(JCK_OPTIONS)
54d750a84a175d8e338880514d440773eb986b50covenerJCK_RUNTIME_OPTIONS += $(JCK_OPTIONS)
54d750a84a175d8e338880514d440773eb986b50covener
54d750a84a175d8e338880514d440773eb986b50covener# Exit codes:
54d750a84a175d8e338880514d440773eb986b50covener# jtreg, jck: 0: OK, 1: tests failed, 2: tests error; 3+: SERIOUS
54d750a84a175d8e338880514d440773eb986b50covenerFATAL_JTREG_EXIT = 3
7a3aa12f0eda24793ee26d6a179bd53132e9dae8covenerFATAL_JCK_EXIT = 3
54d750a84a175d8e338880514d440773eb986b50covener# jtdiff: 0: OK, 1: differences found; 2+: SERIOUS
54d750a84a175d8e338880514d440773eb986b50covenerFATAL_JTDIFF_EXIT = 2
83b50288fa7d306324bba68832011ea08f5c7832covener#
4e30ef014533a7e93c92d88306291f5e49c9692ftrawick# Exit -- used for final "normal" exit from "make". Redefine to "true" to avoid
83b50288fa7d306324bba68832011ea08f5c7832covener# having make exit with non-zero return code.
5f066f496cd9f20a2a701255bc67d44e7cb46daetrawickEXIT = exit
5f066f496cd9f20a2a701255bc67d44e7cb46daetrawick# Function to exit shell if exit code of preceding command is greater than or equal
5f066f496cd9f20a2a701255bc67d44e7cb46daetrawick# to a given level. Redefine function or preceding FATAL_*_EXIT codes as needed.
2e15620d724fb8e3a5be183b917359a2fd6e9468covenerEXIT_IF_FATAL = status=$$?; if [ $$status -ge $(1) ]; then exit $$status ; fi
2e15620d724fb8e3a5be183b917359a2fd6e9468covener
2e15620d724fb8e3a5be183b917359a2fd6e9468covener# The test directories to run
2e15620d724fb8e3a5be183b917359a2fd6e9468covenerDEFAULT_TESTDIRS = .
1b988c41ee505962781d110a3e4c2c90f1ea0aa4covenerTESTDIRS = $(DEFAULT_TESTDIRS)
1b988c41ee505962781d110a3e4c2c90f1ea0aa4covener
1b988c41ee505962781d110a3e4c2c90f1ea0aa4covener# Root of all test results
1b988c41ee505962781d110a3e4c2c90f1ea0aa4covenerTEST_OUTPUT_DIR = $(TEST_ROOT)/../build/$(PLATFORM)-$(ARCH)/test/langtools
b8efdc95bec9cf089aa1be0bfd07d46aa1137a7acovenerABS_TEST_OUTPUT_DIR := \
b8efdc95bec9cf089aa1be0bfd07d46aa1137a7acovener $(shell mkdir -p $(TEST_ROOT)/../build/$(PLATFORM)-$(ARCH)/test/langtools; \
b8efdc95bec9cf089aa1be0bfd07d46aa1137a7acovener cd $(TEST_ROOT)/../build/$(PLATFORM)-$(ARCH)/test/langtools; \
f06e7c4b1bce6b6491e5de0b7998d3f5696b293dchrisd pwd )
f06e7c4b1bce6b6491e5de0b7998d3f5696b293dchrisd# Subdirectories for different test runs
f06e7c4b1bce6b6491e5de0b7998d3f5696b293dchrisdJTREG_OUTPUT_DIR = $(ABS_TEST_OUTPUT_DIR)/jtreg
179565be4043d7e5f9161aa75271fa0a001866d9covenerJCK_COMPILER_OUTPUT_DIR = $(ABS_TEST_OUTPUT_DIR)/jck-compiler
179565be4043d7e5f9161aa75271fa0a001866d9covenerJCK_RUNTIME_OUTPUT_DIR = $(ABS_TEST_OUTPUT_DIR)/jck-runtime-Xcompile
179565be4043d7e5f9161aa75271fa0a001866d9covener
111436a32ba1254291e4883292fb116d15fe8f64covener# Default make rule -- warning, may take a while
fce4949fb0b309a5744afcd503c6ed2d35621ee2covenerall: $(JPRT_CLEAN) jtreg-tests jck-compiler-tests jck-runtime-tests $(JPRT_ARCHIVE_BUNDLE) all-summary
fce4949fb0b309a5744afcd503c6ed2d35621ee2covener @echo "Testing completed successfully"
fce4949fb0b309a5744afcd503c6ed2d35621ee2covener
fce4949fb0b309a5744afcd503c6ed2d35621ee2covenerjtreg apt javac javadoc javah javap: $(JPRT_CLEAN) jtreg-tests $(JPRT_ARCHIVE_BUNDLE) jtreg-summary
7b7430e701e9a31ce809da7c220bb8dfcf68c86etrawick @echo "Testing completed successfully"
7b7430e701e9a31ce809da7c220bb8dfcf68c86etrawick
7b7430e701e9a31ce809da7c220bb8dfcf68c86etrawickjck-compiler: $(JPRT_CLEAN) jck-compiler-tests $(JPRT_ARCHIVE_BUNDLE) jck-compiler-summary
ccc20788c1e5fc973f36df634399c89acb70deaejerenkrantz @echo "Testing completed successfully"
ccc20788c1e5fc973f36df634399c89acb70deaejerenkrantz
ccc20788c1e5fc973f36df634399c89acb70deaejerenkrantzjck-runtime: $(JPRT_CLEAN) jck-runtime-tests $(JPRT_ARCHIVE_BUNDLE) jck-runtime-summary
273e512f20f262e5e2aa8e0e83371d1929fb76adjkaluza @echo "Testing completed successfully"
273e512f20f262e5e2aa8e0e83371d1929fb76adjkaluza
273e512f20f262e5e2aa8e0e83371d1929fb76adjkaluza# for use with JPRT -testrule
efe780dcf13b2b95effabf897d694d8f23feac74trawickall: JTREG_TESTDIRS = .
fe83f60b41477b14a37edcfcd1f7f5c5a1ebfe44minfrinjtreg: JTREG_TESTDIRS = .
fe83f60b41477b14a37edcfcd1f7f5c5a1ebfe44minfrinapt: JTREG_TESTDIRS = tools/apt
fe83f60b41477b14a37edcfcd1f7f5c5a1ebfe44minfrinjavac: JTREG_TESTDIRS = tools/javac
993d1261a278d7322bccef219101220b7b4fb8c5jkaluzajavadoc: JTREG_TESTDIRS = tools/javadoc com/sun/javadoc
993d1261a278d7322bccef219101220b7b4fb8c5jkaluzajavah: JTREG_TESTDIRS = tools/javah
993d1261a278d7322bccef219101220b7b4fb8c5jkaluzajavap: JTREG_TESTDIRS = tools/javap
ba050a6f942b9fa0e81ed73437588005c569655ccovener
ba050a6f942b9fa0e81ed73437588005c569655ccovener# Run jtreg tests
ba050a6f942b9fa0e81ed73437588005c569655ccovener#
ba050a6f942b9fa0e81ed73437588005c569655ccovener# JTREG_HOME
135ddda3a989215d2bedbcf1529bfb269c3eda23niq# Installed location of jtreg
135ddda3a989215d2bedbcf1529bfb269c3eda23niq# JT_JAVA
135ddda3a989215d2bedbcf1529bfb269c3eda23niq# Version of java used to run jtreg. Should normally be the same as TESTJAVA
001a44c352f89c9ec332ffd3e0a6927dcd19432chumbedooh# TESTJAVA
001a44c352f89c9ec332ffd3e0a6927dcd19432chumbedooh# Version of java to be tested.
001a44c352f89c9ec332ffd3e0a6927dcd19432chumbedooh# JTREG_OPTIONS
efe780dcf13b2b95effabf897d694d8f23feac74trawick# Additional options for jtreg
793214f67dede32edfd9ee96c664ead04d175cbbjfclere# JTREG_TESTDIRS
cc5a4a08dc9783fcbc52ce86f11e01c281a43810minfrin# Directories of tests to be run
9b0076ddd1103e5fa9c1f9bafde4b06ce244fbaecovener# JTREG_OUTPUT_DIR
9b0076ddd1103e5fa9c1f9bafde4b06ce244fbaecovener# Where to write the results
9b0076ddd1103e5fa9c1f9bafde4b06ce244fbaecovener# JTREG_REFERENCE
249d09d51808cb7981af99762c3b3736ca126cd5jkaluza# (Optional) reference results (e.g. work, report or summary.txt)
249d09d51808cb7981af99762c3b3736ca126cd5jkaluza#
249d09d51808cb7981af99762c3b3736ca126cd5jkaluzajtreg_tests: jtreg-tests
249d09d51808cb7981af99762c3b3736ca126cd5jkaluzajtreg-tests: check-jtreg FRC
56589be3d7a3e9343370df240010c6928cc78b39jkaluza @rm -f -r $(JTREG_OUTPUT_DIR)/JTwork $(JTREG_OUTPUT_DIR)/JTreport \
56589be3d7a3e9343370df240010c6928cc78b39jkaluza $(JTREG_OUTPUT_DIR)/diff.html $(JTREG_OUTPUT_DIR)/status.txt
56589be3d7a3e9343370df240010c6928cc78b39jkaluza @mkdir -p $(JTREG_OUTPUT_DIR)
77ca16c5676da23155311e13cee61e7eaba9fa3ejailletc JT_JAVA=$(JT_JAVA) $(JTREG) \
77ca16c5676da23155311e13cee61e7eaba9fa3ejailletc -J-Xmx512m \
77ca16c5676da23155311e13cee61e7eaba9fa3ejailletc -a -samevm -ignore:quiet -v:fail,error,nopass \
77ca16c5676da23155311e13cee61e7eaba9fa3ejailletc -r:$(JTREG_OUTPUT_DIR)/JTreport \
f87299dab99bc04b51a6b8cad51b6795db862c0atrawick -w:$(JTREG_OUTPUT_DIR)/JTwork \
f87299dab99bc04b51a6b8cad51b6795db862c0atrawick -jdk:$(TESTJAVA) \
f87299dab99bc04b51a6b8cad51b6795db862c0atrawick $(JAVA_ARGS:%=-vmoption:%) \
4d12805e6c18253040223ea637acd6b3b3c18f60jorton $(JTREG_OPTIONS) \
4d12805e6c18253040223ea637acd6b3b3c18f60jorton $(JTREG_TESTDIRS) \
4d12805e6c18253040223ea637acd6b3b3c18f60jorton || ( $(call EXIT_IF_FATAL,$(FATAL_JTREG_EXIT)) ; \
85eacfc96a04547ef25aabbc06440039715084c2jorton echo $$status > $(JTREG_OUTPUT_DIR)/status.txt \
85eacfc96a04547ef25aabbc06440039715084c2jorton )
e5d909f2b06bd880fb3675cd49363df981caa631trawickifdef JTREG_REFERENCE
a4df2cd1e1391575a327c2a90ba4315f805a0a78covener JT_JAVA=$(JT_JAVA) $(JTDIFF) -o $(JTREG_OUTPUT_DIR)/diff.html \
a4df2cd1e1391575a327c2a90ba4315f805a0a78covener $(JTREG_REFERENCE) $(JTREG_OUTPUT_DIR)/JTreport \
a4df2cd1e1391575a327c2a90ba4315f805a0a78covener || ( $(call EXIT_IF_FATAL,$(FATAL_JTDIFF_EXIT)) )
cb666b29f81df1d11d65002250153353568021fccovenerendif
cb666b29f81df1d11d65002250153353568021fccovener
cb666b29f81df1d11d65002250153353568021fccovenerjtreg-summary: FRC
6a80c3c6f4b8ea7ba5e89402b8b779b09ce020e0covener if [ -r $(JTREG_OUTPUT_DIR)/status.txt ]; then \
1c2cab00d988fc48cbe59032cf76cc0bab20d6f7covener echo ; echo "Summary of jtreg test failures" ; \
6a80c3c6f4b8ea7ba5e89402b8b779b09ce020e0covener cat $(JTREG_OUTPUT_DIR)/JTreport/text/summary.txt | \
75a230a728338d84dcfe81edd375352f34de22d0covener grep -v 'Not run' | grep -v 'Passed' ; \
75a230a728338d84dcfe81edd375352f34de22d0covener echo ; \
75a230a728338d84dcfe81edd375352f34de22d0covener $(EXIT) `cat $(JTREG_OUTPUT_DIR)/status.txt` ; \
1f50dc34ae069adeed20b2986e5ffdefa5c410e0covener fi
1f50dc34ae069adeed20b2986e5ffdefa5c410e0covener
1f50dc34ae069adeed20b2986e5ffdefa5c410e0covener# Check to make sure these directories exist
63a5ea80bddcc84a462e40f402b4f330e0e05411covenercheck-jtreg: $(JT_HOME) $(PRODUCT_HOME) $(JTREG)
63a5ea80bddcc84a462e40f402b4f330e0e05411covener
63a5ea80bddcc84a462e40f402b4f330e0e05411covener
63a5ea80bddcc84a462e40f402b4f330e0e05411covener# Run JCK-compiler tests
65a4e663b82f8bce28ac22ab2edfd7502de36998sf#
65a4e663b82f8bce28ac22ab2edfd7502de36998sf# JCK_HOME
65a4e663b82f8bce28ac22ab2edfd7502de36998sf# Installed location of JCK: should include JCK-compiler, and JCK-extras
65a4e663b82f8bce28ac22ab2edfd7502de36998sf# JT_JAVA
c7de1955eb0eaeabf7042902476397692672d549sf# Version of java used to run JCK. Should normally be the same as TESTJAVA
74e7f6c55fd67b10cb400b3f6d1dc718a303d944minfrin# TESTJAVA
74e7f6c55fd67b10cb400b3f6d1dc718a303d944minfrin# Version of java to be tested.
74e7f6c55fd67b10cb400b3f6d1dc718a303d944minfrin# JCK_COMPILER_OPTIONS
74e7f6c55fd67b10cb400b3f6d1dc718a303d944minfrin# Additional options for JCK-compiler
a511a29faf2ff7ead3b67680154a624effb31aafminfrin# JCK_COMPILER_TESTDIRS
a511a29faf2ff7ead3b67680154a624effb31aafminfrin# Directories of tests to be run
a511a29faf2ff7ead3b67680154a624effb31aafminfrin# JCK_COMPILER_OUTPUT_DIR
a511a29faf2ff7ead3b67680154a624effb31aafminfrin# Where to write the results
a511a29faf2ff7ead3b67680154a624effb31aafminfrin# JCK_COMPILER_REFERENCE
63921358ef93fcb41bc71d9894221ba3d7fbb87bminfrin# (Optional) reference results (e.g. work, report or summary.txt)
63921358ef93fcb41bc71d9894221ba3d7fbb87bminfrin#
63921358ef93fcb41bc71d9894221ba3d7fbb87bminfrinjck-compiler-tests: check-jck FRC
deec48c67d4786bc77112ffbf3a4e70b931097edminfrin @rm -f -r $(JCK_COMPILER_OUTPUT_DIR)/work $(JCK_COMPILER_OUTPUT_DIR)/report \
6d601599d3d65df0410eae6e573e75b2dbfb1fb4minfrin $(JCK_COMPILER_OUTPUT_DIR)/diff.html $(JCK_COMPILER_OUTPUT_DIR)/status.txt
6d601599d3d65df0410eae6e573e75b2dbfb1fb4minfrin @mkdir -p $(JCK_COMPILER_OUTPUT_DIR)
6d601599d3d65df0410eae6e573e75b2dbfb1fb4minfrin $(JT_JAVA)/bin/java -XX:MaxPermSize=256m -Xmx512m \
6d601599d3d65df0410eae6e573e75b2dbfb1fb4minfrin -jar $(JCK_HOME)/JCK-compiler-7/lib/jtjck.jar \
684e0cfc200f66287a93bbd1708d1dd8a92a7eefcovener -v:non-pass \
684e0cfc200f66287a93bbd1708d1dd8a92a7eefcovener -r:$(JCK_COMPILER_OUTPUT_DIR)/report \
5c43d2fb853f84497b5ece2d414ef9484aa87e5fsf -w:$(JCK_COMPILER_OUTPUT_DIR)/work \
05a5a9c3e16f21566e1b61f4bd68025ce1b741ccjoes -jdk:$(TESTJAVA) \
05a5a9c3e16f21566e1b61f4bd68025ce1b741ccjoes $(JCK_COMPILER_OPTIONS) \
ef82e8fa164e0a1f8b813f7deb6b7ead96018c94niq $(JCK_COMPILER_TESTDIRS) \
26c5829347f6a355c00f1ba0301d575056b69536niq || ( $(call EXIT_IF_FATAL,$(FATAL_JCK_EXIT)) ; \
ef82e8fa164e0a1f8b813f7deb6b7ead96018c94niq echo $$status > $(JCK_COMPILER_OUTPUT_DIR)/status.txt \
ef82e8fa164e0a1f8b813f7deb6b7ead96018c94niq )
ef82e8fa164e0a1f8b813f7deb6b7ead96018c94niqifdef JCK_COMPILER_REFERENCE
ef82e8fa164e0a1f8b813f7deb6b7ead96018c94niq JT_JAVA=$(JT_JAVA) $(JTDIFF) -o $(JCK_COMPILER_OUTPUT_DIR)/diff.html \
ef82e8fa164e0a1f8b813f7deb6b7ead96018c94niq $(JCK_COMPILER_REFERENCE) $(JCK_COMPILER_OUTPUT_DIR)/report \
ef82e8fa164e0a1f8b813f7deb6b7ead96018c94niq || ( $(call EXIT_IF_FATAL,$(FATAL_JTDIFF_EXIT)) )
413ee814748f37be168ff12407fa6dba0ceeabe6trawickendif
c12917da693bae4028a1d5a5e8224bceed8c739dsf
c12917da693bae4028a1d5a5e8224bceed8c739dsfjck-compiler-summary: FRC
eafcc0ebf263d0ba69855b6e10958c4c1a2361bdsf if [ -r $(JCK_COMPILER_OUTPUT_DIR)/status.txt ]; then \
eafcc0ebf263d0ba69855b6e10958c4c1a2361bdsf echo ; echo "Summary of JCK-compiler test failures" ; \
eafcc0ebf263d0ba69855b6e10958c4c1a2361bdsf cat $(JCK_COMPILER_OUTPUT_DIR)/report/text/summary.txt | \
eafcc0ebf263d0ba69855b6e10958c4c1a2361bdsf grep -v 'Not run' | grep -v 'Passed' ; \
eafcc0ebf263d0ba69855b6e10958c4c1a2361bdsf echo ; \
d7ffd2da16d58b1a0de212e4d56f7aebb72bef26sf $(EXIT) `cat $(JCK_COMPILER_OUTPUT_DIR)/status.txt` ; \
d7ffd2da16d58b1a0de212e4d56f7aebb72bef26sf fi
d7ffd2da16d58b1a0de212e4d56f7aebb72bef26sf
4576c1a9ef54cd1e5555ee07d016a7f559f80338sf# Run JCK-runtime tests in -Xcompile mode
4576c1a9ef54cd1e5555ee07d016a7f559f80338sf# This is a special mode to test javac by compiling the tests in the JCK-runtime test suite
4576c1a9ef54cd1e5555ee07d016a7f559f80338sf# Normal JCK-runtime invocation belongs in the jdk/ repository.
9811aed12bbc71783d2e544ccb5fecd193843eadsf#
9811aed12bbc71783d2e544ccb5fecd193843eadsf# JCK_HOME
9811aed12bbc71783d2e544ccb5fecd193843eadsf# Installed location of JCK: should include JCK-compiler, JCK-runtime and JCK-extras
88fac54d9d64f85bbdab5d7010816f4377f95bd7rjung# JT_JAVA
88fac54d9d64f85bbdab5d7010816f4377f95bd7rjung# Version of java used to run JCK. Should normally be the same as TESTJAVA
bd3f5647b96d378d9c75c954e3f13582af32c643sf# TESTJAVA
bd3f5647b96d378d9c75c954e3f13582af32c643sf# Version of java to be tested.
bd3f5647b96d378d9c75c954e3f13582af32c643sf# JCK_RUNTIME_OPTIONS
bd3f5647b96d378d9c75c954e3f13582af32c643sf# Additional options for JCK-runtime
bd3f5647b96d378d9c75c954e3f13582af32c643sf# JCK_RUNTIME_TESTDIRS
2a7beea91d46beb41f043a84eaad060047ee04aafabien# Directories of tests to be run
2a7beea91d46beb41f043a84eaad060047ee04aafabien# JCK_RUNTIME_OUTPUT_DIR
2a7beea91d46beb41f043a84eaad060047ee04aafabien# Where to write the results
2a7beea91d46beb41f043a84eaad060047ee04aafabien# JCK_RUNTIME_REFERENCE
584a85dd4047e38d3ed3a29b6662fcc9d100ae4csf# (Optional) reference results (e.g. work, report or summary.txt)
584a85dd4047e38d3ed3a29b6662fcc9d100ae4csf#
584a85dd4047e38d3ed3a29b6662fcc9d100ae4csfjck-runtime-tests: check-jck FRC
f21e9e3d0bfb7a507ecc5bc963f2159d693503d1sf @rm -f -r $(JCK_RUNTIME_OUTPUT_DIR)/work $(JCK_RUNTIME_OUTPUT_DIR)/report \
f21e9e3d0bfb7a507ecc5bc963f2159d693503d1sf $(JCK_RUNTIME_OUTPUT_DIR)/diff.html $(JCK_RUNTIME_OUTPUT_DIR)/status.txt
f21e9e3d0bfb7a507ecc5bc963f2159d693503d1sf @mkdir -p $(JCK_RUNTIME_OUTPUT_DIR)
f6b9c755a0b793e8a3a3aebd327ca20a86478117sf $(JT_JAVA)/bin/java -XX:MaxPermSize=256m -Xmx512m \
f6b9c755a0b793e8a3a3aebd327ca20a86478117sf -jar $(JCK_HOME)/JCK-runtime-7/lib/jtjck.jar \
f6b9c755a0b793e8a3a3aebd327ca20a86478117sf -v:non-pass \
132ee6ac1c26d6e8953836316ba50734eefab47bsf -r:$(JCK_RUNTIME_OUTPUT_DIR)/report \
132ee6ac1c26d6e8953836316ba50734eefab47bsf -w:$(JCK_RUNTIME_OUTPUT_DIR)/work \
132ee6ac1c26d6e8953836316ba50734eefab47bsf -jdk:$(TESTJAVA) \
85eacfc96a04547ef25aabbc06440039715084c2jorton -Xcompile \
85eacfc96a04547ef25aabbc06440039715084c2jorton $(JCK_RUNTIME_OPTIONS) \
85eacfc96a04547ef25aabbc06440039715084c2jorton $(JCK_RUNTIME_TESTDIRS) \
536d2e7cd1fdec1255b8c3bdf41fdc714c506a54trawick || ( $(call EXIT_IF_FATAL,$(FATAL_JCK_EXIT)) ; \
536d2e7cd1fdec1255b8c3bdf41fdc714c506a54trawick echo $$status > $(JCK_RUNTIME_OUTPUT_DIR)/status.txt \
536d2e7cd1fdec1255b8c3bdf41fdc714c506a54trawick )
536d2e7cd1fdec1255b8c3bdf41fdc714c506a54trawickifdef JCK_RUNTIME_REFERENCE
79c5787b92ac5f0e1cc82393816c77a006399316trawick JT_JAVA=$(JT_JAVA) $(JTDIFF) -o $(JCK_RUNTIME_OUTPUT_DIR)/diff.html \
79c5787b92ac5f0e1cc82393816c77a006399316trawick $(JCK_RUNTIME_REFERENCE) $(JCK_RUNTIME_OUTPUT_DIR)/report \
79c5787b92ac5f0e1cc82393816c77a006399316trawick || ( $(call EXIT_IF_FATAL,$(FATAL_JTDIFF_EXIT)) )
79c5787b92ac5f0e1cc82393816c77a006399316trawickendif
c967bf3bc89e8aa60dbd30d9da388e448ddc1cc4trawick
79c5787b92ac5f0e1cc82393816c77a006399316trawickjck-runtime-summary: FRC
79c5787b92ac5f0e1cc82393816c77a006399316trawick if [ -r $(JCK_RUNTIME_OUTPUT_DIR)/status.txt ]; then \
79c5787b92ac5f0e1cc82393816c77a006399316trawick echo ; echo "Summary of JCK-runtime test failures" ; \
79c5787b92ac5f0e1cc82393816c77a006399316trawick cat $(JCK_RUNTIME_OUTPUT_DIR)/report/text/summary.txt | \
79c5787b92ac5f0e1cc82393816c77a006399316trawick grep -v 'Not run' | grep -v 'Passed' ; \
7b395e4e878c28a4784919cfd2e704ddd14a3390jorton echo ; \
7b395e4e878c28a4784919cfd2e704ddd14a3390jorton $(EXIT) `cat $(JCK_RUNTIME_OUTPUT_DIR)/status.txt` ; \
7b395e4e878c28a4784919cfd2e704ddd14a3390jorton fi
7b395e4e878c28a4784919cfd2e704ddd14a3390jorton
536e48c08d674acac5d44929318f2ad928edc361jorton# Check to make sure these directories exist
536e48c08d674acac5d44929318f2ad928edc361jortoncheck-jck: $(JT_HOME) $(JCK_HOME) $(PRODUCT_HOME)
e81785da447b469da66f218b3f0244aab507958djorton
e81785da447b469da66f218b3f0244aab507958djortonall-summary: FRC
3e4e54d4e3fc0123c63d57aa84ac7ad7a8c73ff8jorton if [ -n "`find $(TEST_OUTPUT_DIR) -name status.txt`" ]; then
3e4e54d4e3fc0123c63d57aa84ac7ad7a8c73ff8jorton echo ; echo "Summary of test failures" ; \
3e4e54d4e3fc0123c63d57aa84ac7ad7a8c73ff8jorton cat `find $(TEST_OUTPUT_DIR) -name summary.txt` | \
53e9b27aba029b18be814df40bcf6f0428771d1efuankg grep -v 'Not run' | grep -v 'Passed' ; \
53e9b27aba029b18be814df40bcf6f0428771d1efuankg echo ; \
53e9b27aba029b18be814df40bcf6f0428771d1efuankg $(EXIT) 1
53e9b27aba029b18be814df40bcf6f0428771d1efuankg fi
53e9b27aba029b18be814df40bcf6f0428771d1efuankg
6bb524f1895f30265a1431afc460977d391cb36bsf# Bundle up the results
6bb524f1895f30265a1431afc460977d391cb36bsf$(JPRT_ARCHIVE_BUNDLE): FRC
ca61ccd0c306c2c72df153688ba1b49f3eceed80sf @rm -f $@
6bb524f1895f30265a1431afc460977d391cb36bsf @mkdir -p $(@D)
e6dd71992459d05a676b98b7963423dc5dc1e24aminfrin ( cd $(TEST_OUTPUT_DIR) && zip -q -r $@ . )
e6dd71992459d05a676b98b7963423dc5dc1e24aminfrin
e6dd71992459d05a676b98b7963423dc5dc1e24aminfrin# Cleanup
e6dd71992459d05a676b98b7963423dc5dc1e24aminfrinclean:
23f1535d6a60817d2846bac0aea230ea475d7dccminfrin rm -f $(JPRT_ARCHIVE_BUNDLE)
23f1535d6a60817d2846bac0aea230ea475d7dccminfrin
23f1535d6a60817d2846bac0aea230ea475d7dccminfrin# Used to force a target rules to run
23f1535d6a60817d2846bac0aea230ea475d7dccminfrinFRC:
ec7520b24cd80d34d82bbcaca153cbb23cc04bc0rjung
ec7520b24cd80d34d82bbcaca153cbb23cc04bc0rjung# Phony targets (e.g. these are not filenames)
ec7520b24cd80d34d82bbcaca153cbb23cc04bc0rjung.PHONY: all clean \
ec7520b24cd80d34d82bbcaca153cbb23cc04bc0rjung jtreg javac javadoc javah javap jtreg-tests jtreg-summary check-jtreg \
ec7520b24cd80d34d82bbcaca153cbb23cc04bc0rjung jck-compiler jck-compiler-tests jck-compiler-summary \
ec7520b24cd80d34d82bbcaca153cbb23cc04bc0rjung jck-runtime jck-runtime-tests jck-runtime-summary check-jck
ec7520b24cd80d34d82bbcaca153cbb23cc04bc0rjung
ec7520b24cd80d34d82bbcaca153cbb23cc04bc0rjung# No use of suffix rules
6249dfa569d3b4f1f539665b979a80c6e335d93etrawick.SUFFIXES:
6249dfa569d3b4f1f539665b979a80c6e335d93etrawick
0827cb14e550f6f65018431c22c2c913631c8f25kbrand