1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
|
#
# Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
#----------------------------------------------------------------------
$(BUILDDIR)/TimeoutTest.ok: \
$(JTREG_IMAGEDIR)/lib/jtreg.jar \
$(JTREG_IMAGEDIR)/bin/jtreg
$(MAKE) -C $(TESTDIR)/javatest/regtest/data/timeouts/test \
TEST_OUTPUT_DIR=`pwd`/$(BUILDDIR)/$(@:%.ok=%) \
JT_JAVA=$(J2SEHOME) \
TESTJAVA=$(J2SEHOME) \
JTREG_HOME=`cd $(JTREG_IMAGEDIR); pwd`
echo "test passed at `date`" > $@
# This test is not included by default because it is by its nature so
# slow to run.
# TESTS.jtreg += $(BUILDDIR)/TimeoutTest.ok
#----------------------------------------------------------------------
# This is a description of the expected results in each mode:
#
# agentvm
#
# AAA_Pass: pass
# ZZZ_Pass: pass
# ExitTest: error (calls System.exit in Agent)
# SlowExitTest: pass (test finishes quickly but leaves a shutdown hook active in the agent)
# SlowInterruptibleTest: error (timeout)
# SlowUninterruptibleTest: error (timeout)
# pass: 3, error 3
#
# othervm
#
# AAA_Pass: pass
# ZZZ_Pass: pass
# ExitTest: failed (calls System.exit() with an unexpected exit code)
# SlowExitTest: error (timeout, shutdown hook prevents othervm from shutting down)
# SlowInterruptibleTest: error (timeout)
# SlowUninterruptibleTest: error (timeout)
# pass: 2, failed: 1, error: 3
$(BUILDDIR)/TimeoutTest.agentvm.ok \
$(BUILDDIR)/TimeoutTest.othervm.ok: \
$(JTREG_IMAGEDIR)/lib/jtreg.jar \
$(JTREG_IMAGEDIR)/bin/jtreg
$(RM) $(@:%.ok=%) ; $(MKDIR) $(@:%.ok=%)
$(JTREG_IMAGEDIR)/bin/jtreg $(JTREG_OPTS) \
-w:$(@:%.ok=%)/work -r:$(@:%.ok=%)/report \
-jdk:$(JDK16HOME) \
-va \
$(@:$(BUILDDIR)/TimeoutTest.%.ok=-%) \
$(TESTDIR)/javatest/regtest/data/timeouts/test \
> $(@:%.ok=%/jt.log) 2>&1 || \
true "non-zero exit code from JavaTest intentionally ignored"
case $(@:$(BUILDDIR)/TimeoutTest.%.ok=%) in \
othervm ) expect="Test results: passed: 2; failed: 1; error: 3" ;; \
agentvm ) expect="Test results: passed: 3; error: 3" ;; \
esac ; \
$(GREP) -s "$$expect" $(@:%.ok=%/jt.log) > /dev/null;
echo "test passed at `date`" > $@
# These tests are not included by default because by their nature they are so
# slow to run.
# TESTS.jtreg += \
$(BUILDDIR)/TimeoutTest.agentvm.ok \
$(BUILDDIR)/TimeoutTest.othervm.ok
testtimeouts: \
$(BUILDDIR)/TimeoutTest.ok \
$(BUILDDIR)/TimeoutTest.agentvm.ok \
$(BUILDDIR)/TimeoutTest.othervm.ok
|