Skip to content

Commit f0292cc

Browse files
author
miroslav2
committed
JUNIT6 support for autocheck
commit_hash:426d14d83a0ac051f25653da255346a3e946797a
1 parent ef3d9a0 commit f0292cc

File tree

1 file changed

+62
-2
lines changed

1 file changed

+62
-2
lines changed

build/conf/java.conf

Lines changed: 62 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ multimodule JAVA_CONTRIB_ANNOTATION_PROCESSOR {
141141
### @usage: JUNIT_TESTS_JAR(path/to/some/peer realname.jar)
142142
###
143143
### Specifies jar to search test suites and test cases. By default tests are
144-
### searched in the jar compild by JTEST or JUNIT5 module sources. This macro
144+
### searched in the jar compild by JTEST, JUNIT5 or JUNIT6 module sources. This macro
145145
### allows to specify diferent jar to search tests.
146146
###
147147
### Only one jar file is used to search tests. If this macro invoked multiple
@@ -156,6 +156,66 @@ macro JUNIT_TESTS_JAR(Dir, Jar) {
156156
SET(UNITTEST_MOD $Dir/$Jar)
157157
}
158158

159+
_BUILD_JUNIT6_JAR_SEM=$_BUILD_JAR_SEM && junit6_test && $_TEST_CWD_SEM && $_TEST_ENV_SEM
160+
161+
multimodule JUNIT6 {
162+
# ATTENTION ya ide idea relies on this submodule name to find scope of `ya make` build before project generation
163+
module JAR_TESTABLE: _JAR_TEST {
164+
.ALLOWED=YT_SPEC
165+
# TODO(svidyuk) JAVA_DEPENDENCIES_CONFIGURATION must not be ignored here but there are diagnostics issues in case of ECLUDE in the middle:
166+
# * A -> B -> C -> lib-v1.4
167+
# | |-> DM(lib-v1.1)
168+
# | |-> EXCLUDE(lib-v1.4)
169+
# | |-> FORBID_CONFLICT_DM_RECENT = OK
170+
# |-> DM(lib-v1.1)
171+
# |-> FORBID_CONFLICT_DM_RECENT = FAIL (because downgrade from v1.4 to v1.1 is detected before understanding that v1.4 was excuded on the examined path)
172+
.IGNORED=JAVA_SRCS RUN_JAVA_PROGRAM JAVA_DEPENDENCIES_CONFIGURATION PROVIDES FEATURE_VERSION
173+
.ALIASES=JAVA_TEST_PEERDIR=PEERDIR JAVA_TEST_EXCLUDE=EXCLUDE
174+
.PEERDIRSELF=JUNIT6_JAR_COMPILATION
175+
.SEM=$_SEM_IGNORED
176+
177+
PEERDIR(devtools/jtest-annotations/junit6)
178+
179+
SET(MODULE_TYPE JUNIT6)
180+
SET_APPEND(PEERDIR_TAGS JAR_TESTABLE JAVA_TEST_LIBRARY)
181+
}
182+
module JUNIT6_JAR_COMPILATION: JAR_LIBRARY {
183+
.ALLOWED=YT_SPEC
184+
.ALIASES=JAVA_TEST_PEERDIR=_NOOP_MACRO JAVA_TEST_EXCLUDE=_NOOP_MACRO
185+
.FINAL_TARGET=no
186+
.DEFAULT_NAME_GENERATOR=FullPath
187+
.SEM=$_BUILD_JUNIT6_JAR_SEM
188+
.IGNORED=JUNIT_TESTS_JAR
189+
190+
PEERDIR+=devtools/junit6-runner
191+
PEERDIR+=build/platform/java/jacoco-agent
192+
193+
when ($OPENSOURCE != "yes") {
194+
PEERDIR+=devtools/jtest-annotations/junit6
195+
}
196+
197+
SET(_SEM_JAR_TARGET junit6)
198+
SET(MODULE_TYPE JUNIT6)
199+
SET_APPEND(PEERDIR_TAGS JUNIT6_JAR_COMPILATION JAVA_TEST_LIBRARY)
200+
201+
when ($OPENSOURCE == "yes" && $AUTOCHECK == "yes") {
202+
# FIXME: Replace AUTOCHECK == yes with _not a host platform_ check after YMAKE-218
203+
MODULE_LICENSES_RESTRICTION_TYPES = ALLOW_ONLY
204+
MODULE_LICENSES_RESTRICTIONS = SERVICE REQUIRE_CITATION REQUIRE_MODIFICATIONS_DISCLOSURE
205+
206+
when ($MAKE_UBERJAR_VALUE == "yes") {
207+
# At the time LICENCE_RESTRICTION does not properly distinct static / dynamic linkage in UBERJAR() modules.
208+
# Hence we forbid using UBERJAR() in OPENSOURCE()
209+
#
210+
# Should be fixed in YMAKE-1043
211+
_OK = no
212+
}
213+
}
214+
215+
ASSERT(_OK "UBERJAR() macro can not be used in this condfiguration, see YMAKE-1043")
216+
}
217+
}
218+
159219
_BUILD_JUNIT5_JAR_SEM=$_BUILD_JAR_SEM && junit5_test && $_TEST_CWD_SEM && $_TEST_ENV_SEM
160220

161221
multimodule JUNIT5 {
@@ -585,7 +645,7 @@ module _JAR_BASE: _BARE_UNIT {
585645
SET(MODULE_TAG JAVA)
586646

587647
# TODO: Remove JUNIT5 JTEST JAVA_TEST_LIBRARY
588-
PEERDIR_TAGS=JAVA JAVA_PROTO JAVA_PROTO_FROM_SCHEMA JAVA_FBS JAVA_IDL DLL JAR_COMPILATION __EMPTY__ RESOURCE_LIB JUNIT5_JAR_COMPILATION JTEST_JAR_COMPILATION JTEST_FOR_JAR_COMPILATION JAVA_TEST_LIBRARY
648+
PEERDIR_TAGS=JAVA JAVA_PROTO JAVA_PROTO_FROM_SCHEMA JAVA_FBS JAVA_IDL DLL JAR_COMPILATION __EMPTY__ RESOURCE_LIB JUNIT6_JAR_COMPILATION JUNIT5_JAR_COMPILATION JTEST_JAR_COMPILATION JTEST_FOR_JAR_COMPILATION JAVA_TEST_LIBRARY
589649

590650
HAS_MANAGEABLE_PEERS=yes
591651
DYNAMIC_LINK=yes

0 commit comments

Comments
 (0)