/
githubmirror
/
jtreg
Обзор
Документация
Войти
/
githubmirror
/
jtreg
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
test/junitQueryTest/JUnitQueryTest.gmk
349 строк
14 KB
Christian Stein
7904046: Update jtreg to bundle JUnit 5.13.2
25 июн 2025, 09:34
25 июн 2025, 09:34
9c22a6c
Код
Авторство
О чём код?
# # Copyright (c) 2022, 2025, 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. # #---------------------------------------------------------------------- # # Execute all (6) test methods in the test suite $(BUILDTESTDIR)/JUnitQueryTest.all.ok: $(JTREG_IMAGEDIR)/lib/javatest.jar \ $(JTREG_IMAGEDIR)/lib/jtreg.jar \ $(JTREG_IMAGEDIR)/bin/jtreg $(RM) $(@:%.ok=%) $(MKDIR) $(@:%.ok=%) JT_JAVA=$(JDKHOME) JTHOME=$(JTREG_IMAGEDIR) \ $(JTREG_IMAGEDIR)/bin/jtreg $(JTREG_OPTS) \ -w:$(@:%.ok=%)/work -r:$(@:%.ok=%)/report \ -jdk:$(JDKHOME) \ -va \ $(TESTDIR)/junitQueryTest/ \ > $(@:%.ok=%)/jt.log 2>&1 OUT=$$( $(ECHO) $$( $(AWK) '/STDOUT:/,/STDERR:/{ print $0; } { }' $(@:%.ok=%)/jt.log | $(GREP) -v STD ) ) ; \ if [ "$$OUT" != "Test1.parameterized Test1.m11 Test1.m12 Test1.m13 Test1.nested Test2.m21 Test2.m22 Test2.m23" ]; then \ echo "unexpected set of tests run: $$OUT"; exit 1 ; \ fi $(GREP) "a/b/c/ .* tests: 8, skipped: 0, started: 8, succeeded: 8, failed: 0, aborted: 0" $(@:%.ok=%)/report/text/junit.txt echo $@ passed at `date` > $@ TESTS.jtreg += $(BUILDTESTDIR)/JUnitQueryTest.all.ok #---------------------------------------------------------------------- # # Execute a single specific method (Test1.m12) using the query syntax Test1.java?m12 $(BUILDTESTDIR)/JUnitQueryTest.m12.ok: $(JTREG_IMAGEDIR)/lib/javatest.jar \ $(JTREG_IMAGEDIR)/lib/jtreg.jar \ $(JTREG_IMAGEDIR)/bin/jtreg $(RM) $(@:%.ok=%) $(MKDIR) $(@:%.ok=%) JT_JAVA=$(JDKHOME) JTHOME=$(JTREG_IMAGEDIR) \ $(JTREG_IMAGEDIR)/bin/jtreg $(JTREG_OPTS) \ -w:$(@:%.ok=%)/work -r:$(@:%.ok=%)/report \ -jdk:$(JDKHOME) \ -va \ $(TESTDIR)/junitQueryTest/a/b/c/Test1.java?m12 \ > $(@:%.ok=%)/jt.log 2>&1 OUT=$$( $(ECHO) $$( $(AWK) '/STDOUT:/,/STDERR:/{ print $0; } { }' $(@:%.ok=%)/jt.log | $(GREP) -v STD ) ) ; \ if [ "$$OUT" != "Test1.m12" ]; then \ echo "unexpected set of tests run: $$OUT"; exit 1 ; \ fi $(GREP) "a/b/c/ .* tests: 1, skipped: 0, started: 1, succeeded: 1, failed: 0, aborted: 0" $(@:%.ok=%)/report/text/junit.txt echo $@ passed at `date` > $@ TESTS.jtreg += $(BUILDTESTDIR)/JUnitQueryTest.m12.ok #---------------------------------------------------------------------- # # Execute a mixture of 4 tests: # - a single specific method (Test1.m12) using the query syntax Test1.java?m12 # - all (3) test methods in Test2.java $(BUILDTESTDIR)/JUnitQueryTest.m12.Test2.ok: $(JTREG_IMAGEDIR)/lib/javatest.jar \ $(JTREG_IMAGEDIR)/lib/jtreg.jar \ $(JTREG_IMAGEDIR)/bin/jtreg $(RM) $(@:%.ok=%) $(MKDIR) $(@:%.ok=%) JT_JAVA=$(JDKHOME) JTHOME=$(JTREG_IMAGEDIR) \ $(JTREG_IMAGEDIR)/bin/jtreg $(JTREG_OPTS) \ -w:$(@:%.ok=%)/work -r:$(@:%.ok=%)/report \ -jdk:$(JDKHOME) \ -va \ $(TESTDIR)/junitQueryTest/a/b/c/Test1.java?m12 \ $(TESTDIR)/junitQueryTest/a/b/c/Test2.java \ > $(@:%.ok=%)/jt.log 2>&1 OUT=$$( $(ECHO) $$( $(AWK) '/STDOUT:/,/STDERR:/{ print $0; } { }' $(@:%.ok=%)/jt.log | $(GREP) -v STD ) ) ; \ if [ "$$OUT" != "Test1.m12 Test2.m21 Test2.m22 Test2.m23" ]; then \ echo "unexpected set of tests run: $$OUT"; exit 1 ; \ fi $(GREP) "a/b/c/ .* tests: 4, skipped: 0, started: 4, succeeded: 4, failed: 0, aborted: 0" $(@:%.ok=%)/report/text/junit.txt echo $@ passed at `date` > $@ TESTS.jtreg += $(BUILDTESTDIR)/JUnitQueryTest.m12.Test2.ok #---------------------------------------------------------------------- # # Execute tests when duplicates are given: last one wins (m13, m12) # See related test for the reverse order $(BUILDTESTDIR)/JUnitQueryTest.m13.m12.ok: $(JTREG_IMAGEDIR)/lib/javatest.jar \ $(JTREG_IMAGEDIR)/lib/jtreg.jar \ $(JTREG_IMAGEDIR)/bin/jtreg $(RM) $(@:%.ok=%) $(MKDIR) $(@:%.ok=%) JT_JAVA=$(JDKHOME) JTHOME=$(JTREG_IMAGEDIR) \ $(JTREG_IMAGEDIR)/bin/jtreg $(JTREG_OPTS) \ -w:$(@:%.ok=%)/work -r:$(@:%.ok=%)/report \ -jdk:$(JDKHOME) \ -va \ $(TESTDIR)/junitQueryTest/a/b/c/Test1.java?m13 \ $(TESTDIR)/junitQueryTest/a/b/c/Test1.java?m12 \ > $(@:%.ok=%)/jt.log 2>&1 OUT=$$( $(ECHO) $$( $(AWK) '/STDOUT:/,/STDERR:/{ print $0; } { }' $(@:%.ok=%)/jt.log | $(GREP) -v STD ) ) ; \ if [ "$$OUT" != "Test1.m12" ]; then \ echo "unexpected set of tests run: $$OUT"; exit 1 ; \ fi $(GREP) "a/b/c/ .* tests: 1, skipped: 0, started: 1, succeeded: 1, failed: 0, aborted: 0" $(@:%.ok=%)/report/text/junit.txt echo $@ passed at `date` > $@ TESTS.jtreg += $(BUILDTESTDIR)/JUnitQueryTest.m13.m12.ok #---------------------------------------------------------------------- # # Execute tests when duplicates are given: last one wins (m12, m13) # See related test for the reverse order $(BUILDTESTDIR)/JUnitQueryTest.m12.m13.ok: $(JTREG_IMAGEDIR)/lib/javatest.jar \ $(JTREG_IMAGEDIR)/lib/jtreg.jar \ $(JTREG_IMAGEDIR)/bin/jtreg $(RM) $(@:%.ok=%) $(MKDIR) $(@:%.ok=%) JT_JAVA=$(JDKHOME) JTHOME=$(JTREG_IMAGEDIR) \ $(JTREG_IMAGEDIR)/bin/jtreg $(JTREG_OPTS) \ -w:$(@:%.ok=%)/work -r:$(@:%.ok=%)/report \ -jdk:$(JDKHOME) \ -va \ $(TESTDIR)/junitQueryTest/a/b/c/Test1.java?m12 \ $(TESTDIR)/junitQueryTest/a/b/c/Test1.java?m13 \ > $(@:%.ok=%)/jt.log 2>&1 OUT=$$( $(ECHO) $$( $(AWK) '/STDOUT:/,/STDERR:/{ print $0; } { }' $(@:%.ok=%)/jt.log | $(GREP) -v STD ) ) ; \ if [ "$$OUT" != "Test1.m13" ]; then \ echo "unexpected set of tests run: $$OUT"; exit 1 ; \ fi $(GREP) "a/b/c/ .* tests: 1, skipped: 0, started: 1, succeeded: 1, failed: 0, aborted: 0" $(@:%.ok=%)/report/text/junit.txt echo $@ passed at `date` > $@ TESTS.jtreg += $(BUILDTESTDIR)/JUnitQueryTest.m12.m13.ok #---------------------------------------------------------------------- # # Execute tests when duplicates are given: last one wins (m13, all) # See related test for the reverse order $(BUILDTESTDIR)/JUnitQueryTest.m13.all.ok: $(JTREG_IMAGEDIR)/lib/javatest.jar \ $(JTREG_IMAGEDIR)/lib/jtreg.jar \ $(JTREG_IMAGEDIR)/bin/jtreg $(RM) $(@:%.ok=%) $(MKDIR) $(@:%.ok=%) JT_JAVA=$(JDKHOME) JTHOME=$(JTREG_IMAGEDIR) \ $(JTREG_IMAGEDIR)/bin/jtreg $(JTREG_OPTS) \ -w:$(@:%.ok=%)/work -r:$(@:%.ok=%)/report \ -jdk:$(JDKHOME) \ -va \ $(TESTDIR)/junitQueryTest/a/b/c/Test1.java?m13 \ $(TESTDIR)/junitQueryTest/a/b/c/Test1.java \ > $(@:%.ok=%)/jt.log 2>&1 OUT=$$( $(ECHO) $$( $(AWK) '/STDOUT:/,/STDERR:/{ print $0; } { }' $(@:%.ok=%)/jt.log | $(GREP) -v STD ) ) ; \ if [ "$$OUT" != "Test1.parameterized Test1.m11 Test1.m12 Test1.m13 Test1.nested" ]; then \ echo "unexpected set of tests run: $$OUT"; exit 1 ; \ fi $(GREP) "a/b/c/ .* tests: 5, skipped: 0, started: 5, succeeded: 5, failed: 0, aborted: 0" $(@:%.ok=%)/report/text/junit.txt echo $@ passed at `date` > $@ TESTS.jtreg += $(BUILDTESTDIR)/JUnitQueryTest.m13.all.ok #---------------------------------------------------------------------- # # Execute tests when duplicates are given: last one wins (all, m13) # See related test for the reverse order $(BUILDTESTDIR)/JUnitQueryTest.all.m13.ok: $(JTREG_IMAGEDIR)/lib/javatest.jar \ $(JTREG_IMAGEDIR)/lib/jtreg.jar \ $(JTREG_IMAGEDIR)/bin/jtreg $(RM) $(@:%.ok=%) $(MKDIR) $(@:%.ok=%) JT_JAVA=$(JDKHOME) JTHOME=$(JTREG_IMAGEDIR) \ $(JTREG_IMAGEDIR)/bin/jtreg $(JTREG_OPTS) \ -w:$(@:%.ok=%)/work -r:$(@:%.ok=%)/report \ -jdk:$(JDKHOME) \ -va \ $(TESTDIR)/junitQueryTest/a/b/c/Test1.java \ $(TESTDIR)/junitQueryTest/a/b/c/Test1.java?m13 \ > $(@:%.ok=%)/jt.log 2>&1 OUT=$$( $(ECHO) $$( $(AWK) '/STDOUT:/,/STDERR:/{ print $0; } { }' $(@:%.ok=%)/jt.log | $(GREP) -v STD ) ) ; \ if [ "$$OUT" != "Test1.m13" ]; then \ echo "unexpected set of tests run: $$OUT"; exit 1 ; \ fi $(GREP) "a/b/c/ .* tests: 1, skipped: 0, started: 1, succeeded: 1, failed: 0, aborted: 0" $(@:%.ok=%)/report/text/junit.txt echo $@ passed at `date` > $@ TESTS.jtreg += $(BUILDTESTDIR)/JUnitQueryTest.all.m13.ok #---------------------------------------------------------------------- # # parameterizedTest $(BUILDTESTDIR)/JUnitQueryTest.parameterized.ok: $(JTREG_IMAGEDIR)/lib/javatest.jar \ $(JTREG_IMAGEDIR)/lib/jtreg.jar \ $(JTREG_IMAGEDIR)/bin/jtreg $(RM) $(@:%.ok=%) $(MKDIR) $(@:%.ok=%) JT_JAVA=$(JDKHOME) JTHOME=$(JTREG_IMAGEDIR) \ $(JTREG_IMAGEDIR)/bin/jtreg $(JTREG_OPTS) \ -w:$(@:%.ok=%)/work -r:$(@:%.ok=%)/report \ -jdk:$(JDKHOME) \ -va \ "$(TESTDIR)/junitQueryTest/a/b/c/Test1.java?junit-select:method:Test1#parameterized(java.lang.String,Test1\$$NestedClass,boolean,byte,char,short,int,long,float,double,[Ljava.lang.String;,[Z,[B,[C,[S,[I,[J,[F,[D)" \ > $(@:%.ok=%)/jt.log 2>&1 OUT=$$( $(ECHO) $$( $(AWK) '/STDOUT:/,/STDERR:/{ print $0; } { }' $(@:%.ok=%)/jt.log | $(GREP) -v STD ) ) ; \ if [ "$$OUT" != "Test1.parameterized" ]; then \ echo "unexpected set of tests run: $$OUT"; exit 1 ; \ fi $(GREP) "a/b/c/ .* tests: 1, skipped: 0, started: 1, succeeded: 1, failed: 0, aborted: 0" $(@:%.ok=%)/report/text/junit.txt echo $@ passed at `date` > $@ TESTS.jtreg += $(BUILDTESTDIR)/JUnitQueryTest.parameterized.ok #---------------------------------------------------------------------- # # nested class $(BUILDTESTDIR)/JUnitQueryTest.nested.class.ok: $(JTREG_IMAGEDIR)/lib/javatest.jar \ $(JTREG_IMAGEDIR)/lib/jtreg.jar \ $(JTREG_IMAGEDIR)/bin/jtreg $(RM) $(@:%.ok=%) $(MKDIR) $(@:%.ok=%) JT_JAVA=$(JDKHOME) JTHOME=$(JTREG_IMAGEDIR) \ $(JTREG_IMAGEDIR)/bin/jtreg $(JTREG_OPTS) \ -w:$(@:%.ok=%)/work -r:$(@:%.ok=%)/report \ -jdk:$(JDKHOME) \ -va \ "$(TESTDIR)/junitQueryTest/a/b/c/Test1.java?junit-select:class:Test1\$$NestedTests" \ > $(@:%.ok=%)/jt.log 2>&1 OUT=$$( $(ECHO) $$( $(AWK) '/STDOUT:/,/STDERR:/{ print $0; } { }' $(@:%.ok=%)/jt.log | $(GREP) -v STD ) ) ; \ if [ "$$OUT" != "Test1.nested" ]; then \ echo "unexpected set of tests run: $$OUT"; exit 1 ; \ fi $(GREP) "a/b/c/ .* tests: 1, skipped: 0, started: 1, succeeded: 1, failed: 0, aborted: 0" $(@:%.ok=%)/report/text/junit.txt echo $@ passed at `date` > $@ TESTS.jtreg += $(BUILDTESTDIR)/JUnitQueryTest.nested.class.ok #---------------------------------------------------------------------- # # Top-level class that looks like a group name. Testing whether we detect this correctly as a query string $(BUILDTESTDIR)/JUnitQueryTest.toplevel.class.ok: $(JTREG_IMAGEDIR)/lib/javatest.jar \ $(JTREG_IMAGEDIR)/lib/jtreg.jar \ $(JTREG_IMAGEDIR)/bin/jtreg $(RM) $(@:%.ok=%) $(MKDIR) $(@:%.ok=%) JT_JAVA=$(JDKHOME) JTHOME=$(JTREG_IMAGEDIR) \ $(JTREG_IMAGEDIR)/bin/jtreg $(JTREG_OPTS) \ -w:$(@:%.ok=%)/work -r:$(@:%.ok=%)/report \ -jdk:$(JDKHOME) \ -va \ "$(TESTDIR)/junitQueryTest/a/b/c/Test1.java?junit-select:class:Test1" \ > $(@:%.ok=%)/jt.log 2>&1 OUT=$$( $(ECHO) $$( $(AWK) '/STDOUT:/,/STDERR:/{ print $0; } { }' $(@:%.ok=%)/jt.log | $(GREP) -v STD ) ) ; \ if [ "$$OUT" != "Test1.parameterized Test1.m11 Test1.m12 Test1.m13 Test1.nested" ]; then \ echo "unexpected set of tests run: $$OUT"; exit 1 ; \ fi $(GREP) "a/b/c/ .* tests: 5, skipped: 0, started: 5, succeeded: 5, failed: 0, aborted: 0" $(@:%.ok=%)/report/text/junit.txt echo $@ passed at `date` > $@ TESTS.jtreg += $(BUILDTESTDIR)/JUnitQueryTest.toplevel.class.ok #---------------------------------------------------------------------- # # Invalid use of query $(BUILDTESTDIR)/JUnitQueryTest.invalidQuery.ok: $(JTREG_IMAGEDIR)/lib/javatest.jar \ $(JTREG_IMAGEDIR)/lib/jtreg.jar \ $(JTREG_IMAGEDIR)/bin/jtreg $(RM) $(@:%.ok=%) $(MKDIR) $(@:%.ok=%) JT_JAVA=$(JDKHOME) JTHOME=$(JTREG_IMAGEDIR) \ $(JTREG_IMAGEDIR)/bin/jtreg $(JTREG_OPTS) \ -w:$(@:%.ok=%)/work -r:$(@:%.ok=%)/report \ -jdk:$(JDKHOME) \ -va \ $(TESTDIR)/junitQueryTest/a/b/c?m13 \ > $(@:%.ok=%)/jt.log 2>&1 || \ true "non-zero exit code from jtreg intentionally ignored" $(GREP) -s "Error: Invalid use of query component: a/b/c?m13" $(@:%.ok=%)/jt.log echo $@ passed at `date` > $@ TESTS.jtreg += $(BUILDTESTDIR)/JUnitQueryTest.invalidQuery.ok #---------------------------------------------------------------------- # # Invalid method name $(BUILDTESTDIR)/JUnitQueryTest.invalidMethod.ok: $(JTREG_IMAGEDIR)/lib/javatest.jar \ $(JTREG_IMAGEDIR)/lib/jtreg.jar \ $(JTREG_IMAGEDIR)/bin/jtreg $(RM) $(@:%.ok=%) $(MKDIR) $(@:%.ok=%) JT_JAVA=$(JDKHOME) JTHOME=$(JTREG_IMAGEDIR) \ $(JTREG_IMAGEDIR)/bin/jtreg $(JTREG_OPTS) \ -w:$(@:%.ok=%)/work -r:$(@:%.ok=%)/report \ -jdk:$(JDKHOME) \ -va \ $(TESTDIR)/junitQueryTest/a/b/c/Test1.java?m14 \ > $(@:%.ok=%)/jt.log 2>&1 || \ true "non-zero exit code from jtreg intentionally ignored" $(GREP) -s 'Could not find method with name \[m14] in class \[Test1]' $(@:%.ok=%)/jt.log $(GREP) -s "TEST RESULT: Failed. Execution failed: .* JUnit test failure" $(@:%.ok=%)/jt.log echo $@ passed at `date` > $@ TESTS.jtreg += $(BUILDTESTDIR)/JUnitQueryTest.invalidMethod.ok #---------------------------------------------------------------------- # # Convenience target junit-query-tests: \ $(BUILDTESTDIR)/JUnitQueryTest.all.ok \ $(BUILDTESTDIR)/JUnitQueryTest.m12.ok \ $(BUILDTESTDIR)/JUnitQueryTest.m12.Test2.ok \ $(BUILDTESTDIR)/JUnitQueryTest.m13.m12.ok \ $(BUILDTESTDIR)/JUnitQueryTest.m12.m13.ok \ $(BUILDTESTDIR)/JUnitQueryTest.m13.all.ok \ $(BUILDTESTDIR)/JUnitQueryTest.all.m13.ok \ $(BUILDTESTDIR)/JUnitQueryTest.parameterized.ok \ $(BUILDTESTDIR)/JUnitQueryTest.nested.class.ok \ $(BUILDTESTDIR)/JUnitQueryTest.toplevel.class.ok \ $(BUILDTESTDIR)/JUnitQueryTest.invalidQuery.ok \ $(BUILDTESTDIR)/JUnitQueryTest.invalidMethod.ok