/
githubmirror
/
jtreg
Обзор
Документация
Войти
/
githubmirror
/
jtreg
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
test/extra-props/ExtraPropDefnsTest.gmk
149 строк
6 KB
Jonathan Gibbons
7903329: Trace reasons to recompile extra property definition files
24 сен 2022, 00:39
24 сен 2022, 00:39
66efe4b
Код
Авторство
О чём код?
# # Copyright (c) 2015, 2018, 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. # #------------------------------------------------------------------------------- # $(BUILDTESTDIR)/ExtraPropDefnsTest.valid.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:$(JDKHOME) \ $(TESTDIR)/extra-props/valid \ > $(@:%.ok=%/jt.log) 2>&1 $(GREP) -s 'Test results: passed: 2' $(@:%.ok=%/jt.log) > /dev/null echo "test passed at `date`" > $@ TESTS.jtreg += \ $(BUILDTESTDIR)/ExtraPropDefnsTest.valid.ok #------------------------------------------------------------------------------- # $(BUILDTESTDIR)/ExtraPropDefnsTest.valid.libs.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:$(JDKHOME) \ $(TESTDIR)/extra-props/valid.libs \ > $(@:%.ok=%/jt.log) 2>&1 $(GREP) -s 'Test results: passed: 1' $(@:%.ok=%/jt.log) > /dev/null echo "test passed at `date`" > $@ TESTS.jtreg += \ $(BUILDTESTDIR)/ExtraPropDefnsTest.valid.libs.ok #------------------------------------------------------------------------------- # $(BUILDTESTDIR)/ExtraPropDefnsTest.bad-compile.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:$(JDKHOME) \ $(TESTDIR)/extra-props/bad-compile \ > $(@:%.ok=%/jt.log) 2>&1 ; rc=$$? ; \ if [ "$$rc" != 5 ]; then echo "unexpected exit code: " $$rc ; exit 1 ; fi $(GREP) -s 'Compilation of extra property definition files failed' $(@:%.ok=%/jt.log) > /dev/null echo "test passed at `date`" > $@ TESTS.jtreg += \ $(BUILDTESTDIR)/ExtraPropDefnsTest.bad-compile.ok #------------------------------------------------------------------------------- # $(BUILDTESTDIR)/ExtraPropDefnsTest.bad-execute.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:$(JDKHOME) \ $(TESTDIR)/extra-props/bad-execute \ > $(@:%.ok=%/jt.log) 2>&1; rc=$$? ; \ if [ "$$rc" != 5 ]; then echo "unexpected exit code: " $$rc ; exit 1 ; fi $(GREP) -s 'Error: failed to get JDK properties' $(@:%.ok=%/jt.log) > /dev/null echo "test passed at `date`" > $@ TESTS.jtreg += \ $(BUILDTESTDIR)/ExtraPropDefnsTest.bad-execute.ok #------------------------------------------------------------------------------- # $(BUILDTESTDIR)/ExtraPropDefnsTest.error.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:$(JDKHOME) \ $(TESTDIR)/extra-props/error \ > $(@:%.ok=%/jt.log) 2>&1 || \ true "non-zero exit code from JavaTest intentionally ignored" $(GREP) -s 'Test results: error: 3' $(@:%.ok=%/jt.log) > /dev/null g=`$(GREP) -v 'Error.* buggyExtra: error determining value' $(@:%.ok=%/report/text/summary.txt)` ; \ if [ -n "$$g" ]; then echo "Error: test results:" ; echo "$$g" ; exit 1 ; fi echo "test passed at `date`" > $@ TESTS.jtreg += \ $(BUILDTESTDIR)/ExtraPropDefnsTest.error.ok #------------------------------------------------------------------------------- # # verify no false positives found in comments # verify extra prop definition files are not recompiled unnecessarily $(BUILDTESTDIR)/ExtraPropDefnsTest.comments.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:$(JDKHOME) \ -J-Dtrace.extraPropDefns=true \ $(TESTDIR)/extra-props/comments \ > $(@:%.ok=%/jt.1.log) 2>&1 $(GREP) -s "Compiling extra property definition files" $(@:%.ok=%/jt.1.log) $(GREP) -s "Class file not found" $(@:%.ok=%/jt.1.log) $(GREP) -s 'Test results: passed: 1' $(@:%.ok=%/jt.1.log) > /dev/null $(JTREG_IMAGEDIR)/bin/jtreg $(JTREG_OPTS) \ -w:$(@:%.ok=%)/work -r:$(@:%.ok=%)/report \ -jdk:$(JDKHOME) \ -J-Dtrace.extraPropDefns=true \ $(TESTDIR)/extra-props/comments \ > $(@:%.ok=%/jt.2.log) 2>&1 if $(GREP) -s "Compiling extra property definition files" $(@:%.ok=%/jt.2.log) ; then \ echo "error: files compiled unexpectedly" ; exit 1 ; \ else \ echo "no files recompiled, as expected" ; \ fi $(GREP) -s 'Test results: passed: 1' $(@:%.ok=%/jt.2.log) > /dev/null echo "test passed at `date`" > $@ TESTS.jtreg += \ $(BUILDTESTDIR)/ExtraPropDefnsTest.comments.ok