< prev index next >

test/Makefile

Print this page
@  rev 3792 : 8222737: [TESTBUG] Allow for tier 1 like testing in OpenJDK 8u
|  Reviewed-by: adinn, shade
~
   1 #
   2 # Makefile to run jtreg and other tests
   3 #
   4 
   5 # Product builds and langtools builds
   6 #
   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.
   9 #
  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
  12 # build, and set TESTBOOTCLASSPATH to the compiled langtools classes --
  13 # for example build/classes or dist/lib/classes.jar.
  14 
  15 # JPRT
  16 # JPRT may invoke this Makefile directly, as part of a langtools build,
  17 # or indirectly, via FOREST/test/Makefile, as part of a control build.
  18 






































  19 # Get OS/ARCH specifics
  20 OSNAME = $(shell uname -s)
  21 ifeq ($(OSNAME), SunOS)
  22   SLASH_JAVA = /java
  23   PLATFORM = solaris
  24   ARCH = $(shell uname -p)
  25   ifeq ($(ARCH), i386)
  26     ARCH=i586
  27   endif
  28 endif
  29 ifeq ($(OSNAME), Linux)
  30   SLASH_JAVA = /java
  31   PLATFORM = linux
  32   ARCH = $(shell uname -m)
  33   ifeq ($(ARCH), i386)
  34     ARCH=i586
  35   endif
  36 endif
  37 ifeq ($(OSNAME), Darwin)
  38   PLATFORM = bsd


 166   JCK_COMPILER_OPTIONS += \
 167     -jtoptions:-Ejck.env.compiler.testCompile.groupMode.groupSize=$(JCK_GROUP_SIZE) \
 168     -jtoptions:-Ejck.env.compiler.compRefExecute.groupMode.groupSize=$(JCK_GROUP_SIZE)
 169 ### The following is not supported. Awaiting RFE 6924287
 170 ### 6924287: Jck4Jdk: Allow to configure test group size for group mode via simple command line option
 171 ###  JCK_RUNTIME_OPTIONS += \
 172 ###    -jtoptions:-Ejck.env.runtime.testCompile.groupMode.groupSize=$(JCK_GROUP_SIZE)
 173 endif
 174 
 175 # Timeouts -- by default, increase test timeouts when running on JPRT
 176 ifdef JPRT_JOB_ID
 177   ifndef JTREG_TIMEOUT_FACTOR
 178     JTREG_TIMEOUT_FACTOR = 3
 179   endif
 180 endif
 181 ifdef JTREG_TIMEOUT_FACTOR
 182   JTREG_OPTIONS += -timeoutFactor:$(JTREG_TIMEOUT_FACTOR)
 183 endif
 184 
 185 # Default verbosity setting for jtreg
 186 JTREG_VERBOSE = fail,error,nopass
 187 
 188 # Default verbosity setting for jck
 189 JCK_VERBOSE = non-pass
 190 
 191 # Assertions: some tests show failures when assertions are enabled.
 192 # Since javac is typically loaded via the bootclassloader (either via TESTJAVA
 193 # or TESTBOOTCLASSPATH), you may need -esa to enable assertions in javac.
 194 JTREG_OPTIONS += $(ASSERTION_OPTIONS)
 195 JCK_OPTIONS += $(ASSERTION_OPTIONS:%=-vmoptions:%)
 196 
 197 # Include shared options
 198 JCK_COMPILER_OPTIONS += $(JCK_OPTIONS)
 199 JCK_RUNTIME_OPTIONS += $(JCK_OPTIONS)
 200 
 201 # Exit codes:
 202 # jtreg, jck:   0: OK, 1: tests failed, 2: tests error; 3+: SERIOUS
 203 FATAL_JTREG_EXIT = 3
 204 FATAL_JCK_EXIT = 3
 205 # jtdiff: 0: OK, 1: differences found; 2+: SERIOUS
 206 FATAL_JTDIFF_EXIT = 2
 207 #
 208 # Exit -- used for final "normal" exit from "make". Redefine to "true" to avoid
 209 # having make exit with non-zero return code.
 210 EXIT = exit
 211 # Function to exit shell if exit code of preceding command is greater than or equal
 212 # to a given level. Redefine function or preceding FATAL_*_EXIT codes as needed.
 213 EXIT_IF_FATAL = status=$$?; if [ $$status -ge $(1) ]; then exit $$status ; fi
 214 
 215 # The test directories to run
 216 DEFAULT_TESTDIRS = .
 217 TESTDIRS = $(DEFAULT_TESTDIRS)
 218 
 219 # Root of all test results
 220 TEST_OUTPUT_DIR = $(TEST_ROOT)/../build/$(PLATFORM)-$(ARCH)/test/langtools
 221 ABS_TEST_OUTPUT_DIR := \
 222         $(shell mkdir -p $(TEST_OUTPUT_DIR); \
 223                 cd  $(TEST_OUTPUT_DIR); \
 224                 pwd $(CYGPATH))


 225 # Subdirectories for different test runs
 226 JTREG_OUTPUT_DIR = $(ABS_TEST_OUTPUT_DIR)/jtreg
 227 JCK_COMPILER_OUTPUT_DIR = $(ABS_TEST_OUTPUT_DIR)/jck-compiler
 228 JCK_RUNTIME_OUTPUT_DIR = $(ABS_TEST_OUTPUT_DIR)/jck-runtime-Xcompile
 229 
 230 # Default make rule -- warning, may take a while
 231 all: $(JPRT_CLEAN) jtreg-tests jck-compiler-tests jck-runtime-tests $(JPRT_ARCHIVE_BUNDLE) all-summary
 232         @echo "Testing completed successfully"
 233 
 234 jtreg apt javac javadoc javah javap jdeps: $(JPRT_CLEAN) jtreg-tests $(JPRT_ARCHIVE_BUNDLE) jtreg-summary
 235         @echo "Testing completed successfully"
 236 
 237 jck-compiler: $(JPRT_CLEAN) jck-compiler-tests $(JPRT_ARCHIVE_BUNDLE) jck-compiler-summary
 238         @echo "Testing completed successfully"
 239 
 240 jck-runtime: $(JPRT_CLEAN) jck-runtime-tests $(JPRT_ARCHIVE_BUNDLE) jck-runtime-summary
 241         @echo "Testing completed successfully"
 242 


 243 # for use with JPRT -testrule
 244 all:            JTREG_TESTDIRS = .
 245 jtreg:          JTREG_TESTDIRS = .
 246 apt:            JTREG_TESTDIRS = tools/apt
 247 javac:          JTREG_TESTDIRS = tools/javac
 248 javadoc:        JTREG_TESTDIRS = tools/javadoc com/sun/javadoc
 249 javah:          JTREG_TESTDIRS = tools/javah
 250 javap:          JTREG_TESTDIRS = tools/javap
 251 jdeps:          JTREG_TESTDIRS = tools/jdeps
 252 
 253 # Run jtreg tests
 254 #
 255 # JTREG_HOME
 256 #       Installed location of jtreg
 257 # JT_JAVA
 258 #       Version of java used to run jtreg.  Should normally be the same as TESTJAVA
 259 # TESTJAVA
 260 #       Version of java to be tested.
 261 # JTREG_VERBOSE
 262 # Verbosity setting for jtreg


 288             echo $$status > $(JTREG_OUTPUT_DIR)/status.txt \
 289         )
 290 ifdef JTREG_REFERENCE
 291         JT_JAVA=$(JT_JAVA) $(JTDIFF) -o $(JTREG_OUTPUT_DIR)/diff.html \
 292             $(JTREG_REFERENCE) $(JTREG_OUTPUT_DIR)/JTreport \
 293         || ( $(call EXIT_IF_FATAL,$(FATAL_JTDIFF_EXIT)) )
 294 endif
 295 
 296 jtreg-summary: FRC
 297         if [ -r $(JTREG_OUTPUT_DIR)/status.txt ]; then \
 298             echo ; echo "Summary of jtreg test failures" ; \
 299             cat $(JTREG_OUTPUT_DIR)/JTreport/text/summary.txt | \
 300                 grep -v 'Not run' | grep -v 'Passed' ; \
 301             echo ; \
 302             $(EXIT) `cat $(JTREG_OUTPUT_DIR)/status.txt` ; \
 303         fi
 304 
 305 # Check to make sure these directories exist
 306 check-jtreg: $(PRODUCT_HOME) $(JTREG)
 307 
 308 
 309 # Run JCK-compiler tests
 310 #
 311 # JCK_HOME
 312 #       Installed location of JCK: should include JCK-compiler, and JCK-extras
 313 #       Default is JCK 8.
 314 # JT_JAVA
 315 #       Version of java used to run JCK.  Should normally be the same as TESTJAVA
 316 #       Default is JDK 7
 317 # TESTJAVA
 318 #       Version of java to be tested.
 319 # JCK_VERBOSE
 320 #       Verbosity setting for jtjck
 321 # JCK_COMPILER_OPTIONS
 322 #       Additional options for JCK-compiler
 323 # JCK_COMPILER_TESTDIRS
 324 #       Directories of tests to be run
 325 # JCK_COMPILER_OUTPUT_DIR
 326 #       Where to write the results
 327 # JCK_COMPILER_REFERENCE
 328 #       (Optional) reference results (e.g. work, report or summary.txt)


 417             echo ; echo "Summary of test failures" ; \
 418             cat `find $(TEST_OUTPUT_DIR) -name summary.txt` | \
 419                 grep -v 'Not run' | grep -v 'Passed' ; \
 420             echo ; \
 421             $(EXIT) 1
 422         fi
 423 
 424 # Bundle up the results
 425 $(JPRT_ARCHIVE_BUNDLE): FRC
 426         @rm -f $@
 427         @mkdir -p $(@D)
 428         ( cd $(TEST_OUTPUT_DIR) && zip -q -r $@ . )
 429 
 430 # Cleanup
 431 clean:
 432         rm -f $(JPRT_ARCHIVE_BUNDLE)
 433 
 434 # Used to force a target rules to run
 435 FRC:
 436 





























































































 437 # Phony targets (e.g. these are not filenames)
 438 .PHONY: all clean \
 439         jtreg javac javadoc javah javap jdeps jtreg-tests jtreg-summary check-jtreg \
 440         jck-compiler jck-compiler-tests jck-compiler-summary \
 441         jck-runtime jck-runtime-tests jck-runtime-summary check-jck

 442 
 443 # No use of suffix rules
 444 .SUFFIXES:
 445 
   1 #
   2 # Makefile to run jtreg and other tests
   3 #
   4 
   5 # Product builds and langtools builds
   6 #
   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.
   9 #
  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
  12 # build, and set TESTBOOTCLASSPATH to the compiled langtools classes --
  13 # for example build/classes or dist/lib/classes.jar.
  14 
  15 # JPRT
  16 # JPRT may invoke this Makefile directly, as part of a langtools build,
  17 # or indirectly, via FOREST/test/Makefile, as part of a control build.
  18 
  19 
  20 # Utilities used
  21 AWK       = awk
  22 CAT       = cat
  23 CD        = cd
  24 CHMOD     = chmod
  25 CP        = cp
  26 CUT       = cut
  27 DIRNAME   = dirname
  28 ECHO      = echo
  29 EGREP     = egrep
  30 EXPAND    = expand
  31 FIND      = find
  32 MKDIR     = mkdir
  33 PWD       = pwd
  34 SED       = sed
  35 SORT      = sort
  36 TEE       = tee
  37 UNAME     = uname
  38 UNIQ      = uniq
  39 WC        = wc
  40 ZIP       = zip
  41 
  42 # Get OS name from uname (Cygwin inexplicably adds _NT-5.1)
  43 UNAME_S := $(shell $(UNAME) -s | $(CUT) -f1 -d_)
  44 
  45 # Commands to run on paths to make mixed paths for java on windows
  46 ifeq ($(UNAME_S), CYGWIN)
  47   # Location of developer shared files
  48   SLASH_JAVA = J:
  49   GETMIXEDPATH = cygpath -m
  50 else
  51   # Location of developer shared files
  52   SLASH_JAVA = /java
  53 
  54   GETMIXEDPATH=$(ECHO)
  55 endif
  56 
  57 # Get OS/ARCH specifics
  58 OSNAME = $(shell uname -s)
  59 ifeq ($(OSNAME), SunOS)
  60   SLASH_JAVA = /java
  61   PLATFORM = solaris
  62   ARCH = $(shell uname -p)
  63   ifeq ($(ARCH), i386)
  64     ARCH=i586
  65   endif
  66 endif
  67 ifeq ($(OSNAME), Linux)
  68   SLASH_JAVA = /java
  69   PLATFORM = linux
  70   ARCH = $(shell uname -m)
  71   ifeq ($(ARCH), i386)
  72     ARCH=i586
  73   endif
  74 endif
  75 ifeq ($(OSNAME), Darwin)
  76   PLATFORM = bsd


 204   JCK_COMPILER_OPTIONS += \
 205     -jtoptions:-Ejck.env.compiler.testCompile.groupMode.groupSize=$(JCK_GROUP_SIZE) \
 206     -jtoptions:-Ejck.env.compiler.compRefExecute.groupMode.groupSize=$(JCK_GROUP_SIZE)
 207 ### The following is not supported. Awaiting RFE 6924287
 208 ### 6924287: Jck4Jdk: Allow to configure test group size for group mode via simple command line option
 209 ###  JCK_RUNTIME_OPTIONS += \
 210 ###    -jtoptions:-Ejck.env.runtime.testCompile.groupMode.groupSize=$(JCK_GROUP_SIZE)
 211 endif
 212 
 213 # Timeouts -- by default, increase test timeouts when running on JPRT
 214 ifdef JPRT_JOB_ID
 215   ifndef JTREG_TIMEOUT_FACTOR
 216     JTREG_TIMEOUT_FACTOR = 3
 217   endif
 218 endif
 219 ifdef JTREG_TIMEOUT_FACTOR
 220   JTREG_OPTIONS += -timeoutFactor:$(JTREG_TIMEOUT_FACTOR)
 221 endif
 222 
 223 # Default verbosity setting for jtreg
 224 JTREG_VERBOSE = fail,error,summary
 225 
 226 # Default verbosity setting for jck
 227 JCK_VERBOSE = non-pass
 228 
 229 # Assertions: some tests show failures when assertions are enabled.
 230 # Since javac is typically loaded via the bootclassloader (either via TESTJAVA
 231 # or TESTBOOTCLASSPATH), you may need -esa to enable assertions in javac.
 232 JTREG_OPTIONS += $(ASSERTION_OPTIONS)
 233 JCK_OPTIONS += $(ASSERTION_OPTIONS:%=-vmoptions:%)
 234 
 235 # Include shared options
 236 JCK_COMPILER_OPTIONS += $(JCK_OPTIONS)
 237 JCK_RUNTIME_OPTIONS += $(JCK_OPTIONS)
 238 
 239 # Exit codes:
 240 # jtreg, jck:   0: OK, 1: tests failed, 2: tests error; 3+: SERIOUS
 241 FATAL_JTREG_EXIT = 3
 242 FATAL_JCK_EXIT = 3
 243 # jtdiff: 0: OK, 1: differences found; 2+: SERIOUS
 244 FATAL_JTDIFF_EXIT = 2
 245 #
 246 # Exit -- used for final "normal" exit from "make". Redefine to "true" to avoid
 247 # having make exit with non-zero return code.
 248 EXIT = exit
 249 # Function to exit shell if exit code of preceding command is greater than or equal
 250 # to a given level. Redefine function or preceding FATAL_*_EXIT codes as needed.
 251 EXIT_IF_FATAL = status=$$?; if [ $$status -ge $(1) ]; then exit $$status ; fi
 252 
 253 # The test directories to run
 254 DEFAULT_TESTDIRS = .
 255 TESTDIRS = $(DEFAULT_TESTDIRS)
 256 
 257 # Root of all test results
 258 TEST_OUTPUT_DIR = $(TEST_ROOT)/../build/$(PLATFORM)-$(ARCH)/test/langtools
 259 ifdef ALT_OUTPUTDIR
 260   ABS_OUTPUTDIR := $(shell cd $(ALT_OUTPUTDIR) && pwd $(CYGPATH))
 261 else
 262   ABS_OUTPUTDIR := $(shell mkdir -p $(TEST_OUTPUT_DIR); cd $(TEST_OUTPUT_DIR) && pwd $(CYGPATH))
 263 endif
 264 ABS_TEST_OUTPUT_DIR := $(ABS_OUTPUTDIR)/testoutput/$(UNIQUE_DIR)
 265 # Subdirectories for different test runs
 266 JTREG_OUTPUT_DIR = $(ABS_OUTPUTDIR)/jtreg
 267 JCK_COMPILER_OUTPUT_DIR = $(ABS_OUTPUTDIR)/jck-compiler
 268 JCK_RUNTIME_OUTPUT_DIR = $(ABS_OUTPUTDIR)/jck-runtime-Xcompile
 269 
 270 # Default make rule -- warning, may take a while
 271 all: $(JPRT_CLEAN) jtreg-tests jck-compiler-tests jck-runtime-tests $(JPRT_ARCHIVE_BUNDLE) all-summary
 272         @echo "Testing completed successfully"
 273 
 274 jtreg apt javac javadoc javah javap jdeps: $(JPRT_CLEAN) jtreg-tests $(JPRT_ARCHIVE_BUNDLE) jtreg-summary
 275         @echo "Testing completed successfully"
 276 
 277 jck-compiler: $(JPRT_CLEAN) jck-compiler-tests $(JPRT_ARCHIVE_BUNDLE) jck-compiler-summary
 278         @echo "Testing completed successfully"
 279 
 280 jck-runtime: $(JPRT_CLEAN) jck-runtime-tests $(JPRT_ARCHIVE_BUNDLE) jck-runtime-summary
 281         @echo "Testing completed successfully"
 282 
 283 tier1: jtreg-tests-tier1
 284 
 285 # for use with JPRT -testrule
 286 all:            JTREG_TESTDIRS = .
 287 jtreg:          JTREG_TESTDIRS = .
 288 apt:            JTREG_TESTDIRS = tools/apt
 289 javac:          JTREG_TESTDIRS = tools/javac
 290 javadoc:        JTREG_TESTDIRS = tools/javadoc com/sun/javadoc
 291 javah:          JTREG_TESTDIRS = tools/javah
 292 javap:          JTREG_TESTDIRS = tools/javap
 293 jdeps:          JTREG_TESTDIRS = tools/jdeps
 294 
 295 # Run jtreg tests
 296 #
 297 # JTREG_HOME
 298 #       Installed location of jtreg
 299 # JT_JAVA
 300 #       Version of java used to run jtreg.  Should normally be the same as TESTJAVA
 301 # TESTJAVA
 302 #       Version of java to be tested.
 303 # JTREG_VERBOSE
 304 # Verbosity setting for jtreg


 330             echo $$status > $(JTREG_OUTPUT_DIR)/status.txt \
 331         )
 332 ifdef JTREG_REFERENCE
 333         JT_JAVA=$(JT_JAVA) $(JTDIFF) -o $(JTREG_OUTPUT_DIR)/diff.html \
 334             $(JTREG_REFERENCE) $(JTREG_OUTPUT_DIR)/JTreport \
 335         || ( $(call EXIT_IF_FATAL,$(FATAL_JTDIFF_EXIT)) )
 336 endif
 337 
 338 jtreg-summary: FRC
 339         if [ -r $(JTREG_OUTPUT_DIR)/status.txt ]; then \
 340             echo ; echo "Summary of jtreg test failures" ; \
 341             cat $(JTREG_OUTPUT_DIR)/JTreport/text/summary.txt | \
 342                 grep -v 'Not run' | grep -v 'Passed' ; \
 343             echo ; \
 344             $(EXIT) `cat $(JTREG_OUTPUT_DIR)/status.txt` ; \
 345         fi
 346 
 347 # Check to make sure these directories exist
 348 check-jtreg: $(PRODUCT_HOME) $(JTREG)
 349 

 350 # Run JCK-compiler tests
 351 #
 352 # JCK_HOME
 353 #       Installed location of JCK: should include JCK-compiler, and JCK-extras
 354 #       Default is JCK 8.
 355 # JT_JAVA
 356 #       Version of java used to run JCK.  Should normally be the same as TESTJAVA
 357 #       Default is JDK 7
 358 # TESTJAVA
 359 #       Version of java to be tested.
 360 # JCK_VERBOSE
 361 #       Verbosity setting for jtjck
 362 # JCK_COMPILER_OPTIONS
 363 #       Additional options for JCK-compiler
 364 # JCK_COMPILER_TESTDIRS
 365 #       Directories of tests to be run
 366 # JCK_COMPILER_OUTPUT_DIR
 367 #       Where to write the results
 368 # JCK_COMPILER_REFERENCE
 369 #       (Optional) reference results (e.g. work, report or summary.txt)


 458             echo ; echo "Summary of test failures" ; \
 459             cat `find $(TEST_OUTPUT_DIR) -name summary.txt` | \
 460                 grep -v 'Not run' | grep -v 'Passed' ; \
 461             echo ; \
 462             $(EXIT) 1
 463         fi
 464 
 465 # Bundle up the results
 466 $(JPRT_ARCHIVE_BUNDLE): FRC
 467         @rm -f $@
 468         @mkdir -p $(@D)
 469         ( cd $(TEST_OUTPUT_DIR) && zip -q -r $@ . )
 470 
 471 # Cleanup
 472 clean:
 473         rm -f $(JPRT_ARCHIVE_BUNDLE)
 474 
 475 # Used to force a target rules to run
 476 FRC:
 477 
 478 #
 479 # Tier 1 langtools testing logic
 480 #
 481 
 482 ARCHIVE_BUNDLE = $(ABS_TEST_OUTPUT_DIR)/ARCHIVE_BUNDLE.zip
 483 
 484 # How to create the test bundle (pass or fail, we want to create this)
 485 #   Follow command with ";$(BUNDLE_UP_AND_EXIT)", so it always gets executed.
 486 ZIP_UP_RESULTS = ( $(MKDIR) -p `$(DIRNAME) $(ARCHIVE_BUNDLE)`     \
 487                    && $(CD) $(ABS_TEST_OUTPUT_DIR)             \
 488                    && $(CHMOD) -R a+r . \
 489                    && $(ZIP) -q -r $(ARCHIVE_BUNDLE) . )
 490 
 491 # important results files
 492 SUMMARY_TXT = $(shell $(GETMIXEDPATH) "$(ABS_TEST_OUTPUT_DIR)/JTreport/text/summary.txt")
 493 STATS_TXT_NAME = Stats.txt
 494 STATS_TXT = $(shell $(GETMIXEDPATH) "$(ABS_TEST_OUTPUT_DIR)/$(STATS_TXT_NAME)")
 495 RUNLIST   = $(shell $(GETMIXEDPATH) "$(ABS_TEST_OUTPUT_DIR)/runlist.txt")
 496 PASSLIST  = $(shell $(GETMIXEDPATH) "$(ABS_TEST_OUTPUT_DIR)/passlist.txt")
 497 FAILLIST  = $(shell $(GETMIXEDPATH) "$(ABS_TEST_OUTPUT_DIR)/faillist.txt")
 498 EXITCODE  = $(shell $(GETMIXEDPATH) "$(ABS_TEST_OUTPUT_DIR)/exitcode.txt")
 499 
 500 TESTEXIT = \
 501   if [ ! -s $(EXITCODE) ] ; then \
 502     $(ECHO) "ERROR: EXITCODE file not filled in."; \
 503     $(ECHO) "1" > $(EXITCODE); \
 504   fi ; \
 505   testExitCode=`$(CAT) $(EXITCODE)`; \
 506   $(ECHO) "EXIT CODE: $${testExitCode}"; \
 507   exit $${testExitCode}
 508 
 509 BUNDLE_UP_AND_EXIT = \
 510 ( \
 511   jtregExitCode=$$? && \
 512   _summary="$(SUMMARY_TXT)"; \
 513   $(RM) -f $(STATS_TXT) $(RUNLIST) $(PASSLIST) $(FAILLIST) $(EXITCODE); \
 514   $(ECHO) "$${jtregExitCode}" > $(EXITCODE); \
 515   if [ -r "$${_summary}" ] ; then \
 516     $(ECHO) "Summary: $(UNIQUE_DIR)" > $(STATS_TXT); \
 517     $(EXPAND) $${_summary} | $(EGREP) -v ' Not run\.' > $(RUNLIST); \
 518     $(EGREP) ' Passed\.' $(RUNLIST) \
 519       | $(EGREP) -v ' Error\.' \
 520       | $(EGREP) -v ' Failed\.' > $(PASSLIST); \
 521     ( $(EGREP) ' Failed\.' $(RUNLIST); \
 522       $(EGREP) ' Error\.' $(RUNLIST); \
 523       $(EGREP) -v ' Passed\.' $(RUNLIST) ) \
 524       | $(SORT) | $(UNIQ) > $(FAILLIST); \
 525     if [ $${jtregExitCode} != 0 -o -s $(FAILLIST) ] ; then \
 526       $(EXPAND) $(FAILLIST) \
 527         | $(CUT) -d' ' -f1 \
 528         | $(SED) -e 's@^@FAILED: @' >> $(STATS_TXT); \
 529       if [ $${jtregExitCode} = 0 ] ; then \
 530         jtregExitCode=1; \
 531       fi; \
 532     fi; \
 533     runc="`$(CAT) $(RUNLIST)      | $(WC) -l | $(AWK) '{print $$1;}'`"; \
 534     passc="`$(CAT) $(PASSLIST)    | $(WC) -l | $(AWK) '{print $$1;}'`"; \
 535     failc="`$(CAT) $(FAILLIST)    | $(WC) -l | $(AWK) '{print $$1;}'`"; \
 536     exclc="FIXME CODETOOLS-7900176"; \
 537     $(ECHO) "TEST STATS: name=$(UNIQUE_DIR)  run=$${runc}  pass=$${passc}  fail=$${failc}" \
 538       >> $(STATS_TXT); \
 539   else \
 540     $(ECHO) "Missing file: $${_summary}" >> $(STATS_TXT); \
 541   fi; \
 542   if [ -f $(STATS_TXT) ] ; then \
 543     $(CAT) $(STATS_TXT); \
 544   fi; \
 545   $(ZIP_UP_RESULTS) ; \
 546   $(TESTEXIT) \
 547 )
 548 
 549 prep-tier1:
 550         @$(MKDIR) -p $(ABS_TEST_OUTPUT_DIR)
 551 
 552 # Run tier1 jtreg
 553 jtreg-tests-tier1: check-jtreg prep-tier1 FRC
 554         (                                                                    \
 555           ( JT_HOME=$(shell $(GETMIXEDPATH) "$(JT_HOME)");                   \
 556             export JT_HOME;                                                  \
 557             $(shell $(GETMIXEDPATH) "$(JTREG)")                              \
 558           -J-Xmx512m \
 559           -vmoption:-Xmx768m \
 560           -a -ignore:quiet $(if $(JTREG_VERBOSE),-v:$(JTREG_VERBOSE)) \
 561               -r:$(shell $(GETMIXEDPATH) "$(ABS_TEST_OUTPUT_DIR)/JTreport")  \
 562               -w:$(shell $(GETMIXEDPATH) "$(ABS_TEST_OUTPUT_DIR)/JTwork")    \
 563               -jdk:$(shell $(GETMIXEDPATH) "$(TESTJAVA)")                    \
 564           $(JAVA_ARGS:%=-vmoption:%) \
 565           $(JTREG_OPTIONS) \
 566           :langtools_tier1 \
 567           ) ;                                                                \
 568           $(BUNDLE_UP_AND_EXIT)                                              \
 569         ) 2>&1 | $(TEE) $(ABS_TEST_OUTPUT_DIR)/output.txt ; $(TESTEXIT)
 570 
 571 # Phony targets (e.g. these are not filenames)
 572 .PHONY: all clean \
 573         jtreg javac javadoc javah javap jdeps jtreg-tests jtreg-summary check-jtreg \
 574         jck-compiler jck-compiler-tests jck-compiler-summary \
 575         jck-runtime jck-runtime-tests jck-runtime-summary check-jck prep-tier1 \
 576         jtreg-tests-tier1 tier1
 577 
 578 # No use of suffix rules
 579 .SUFFIXES:
 580 
< prev index next >