jtreg6/test/autovm/AutoVMTests.gmk

72 lines
3.0 KiB
Plaintext

#
# Copyright (c) 1997, 2017, 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.
#
#----------------------------------------------------------------------
AUTOVM_FILES := $(shell find $(TESTDIR)/autovm -type f )
$(BUILDDIR)/autovm.ok: $(AUTOVM_FILES) \
$(JTREG_IMAGEDIR)/lib/javatest.jar \
$(JTREG_IMAGEDIR)/lib/jtreg.jar \
$(JTREG_IMAGE_JAVAHELP_JAR)
for ts in none agentvm othervm; do \
$(MKDIR) -p $(BUILDDIR)/autovm/tests/default.$$ts ; \
rsync --recursive --delete $(TESTDIR)/autovm/ $(BUILDDIR)/autovm/tests/default.$$ts/ ; \
if [ $$ts != none ]; then \
echo "defaultExecMode=$$ts" >> $(BUILDDIR)/autovm/tests/default.$$ts/TEST.ROOT ; \
fi \
done ; \
for mode in none agentvm othervm ; do for ts in none agentvm othervm ; do \
$(JDKJAVA) -jar $(JTREG_IMAGEDIR)/lib/jtreg.jar \
-jdk:$(JDKHOME) \
-w $(BUILDDIR)/autovm/jtreg/mode.$$mode/ts.$$ts/work \
-r $(BUILDDIR)/autovm/jtreg/mode.$$mode/ts.$$ts/report \
`if [ $$mode != none ]; then echo "-$$mode" ; fi` \
$(BUILDDIR)/autovm/tests/default.$$ts ; \
done ; done ; \
cd $(BUILDDIR)/autovm/jtreg ; find mode.*/ts.*/work -name \*.jtr | \
grep -v Shell | while read file ; do \
echo $$file `grep '^Mode:' $$file | sort -u` ; \
found=`grep '^Mode:' $$file | sed -e 's/ \[.*\]$$//'` ; \
case $$file in \
*/work/*/othervm/* ) expect_compile=othervm ;; \
mode.agentvm/* | mode.none/ts.agentvm/* ) expect_compile=agentvm ;; \
mode.none/ts.none/* | mode.none/ts.othervm/* | mode.othervm/* ) expect_compile=othervm ;; \
* ) echo "Can't match $$file" ; exit 1 ;; \
esac ; \
case $$file in \
*/work/*[Oo]ther* ) expect_run=othervm ;; \
* ) expect_run=$$expect_compile ;; \
esac ; \
expect=`echo "Mode: $$expect_compile" ; echo "Mode: $$expect_run"` ; \
if [ "$$found" != "$$expect" ]; then \
echo "$$file: expected: $$expect, found: $$found" ; exit 1; \
fi \
done
echo "test passed at `date`" > $@
TESTS.jtreg += $(BUILDDIR)/autovm.ok