blob: 8f3c985c491861b147161d8fc884b46e9bcd1dbe (
plain)
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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
|
# Copyright 2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
JAVA_PKG_IUSE="doc source test"
JAVA_TESTING_FRAMEWORKS="junit-4"
inherit java-pkg-2 java-pkg-simple
MCV="1.10.19"
DESCRIPTION="Property-based testing, JUnit-style"
HOMEPAGE="https://github.com/pholser/junit-quickcheck"
SRC_URI="https://github.com/pholser/junit-quickcheck/archive/${P}.tar.gz
test? ( https://repo1.maven.org/maven2/org/mockito/mockito-core/${MCV}/mockito-core-${MCV}.jar )"
S="${WORKDIR}/junit-quickcheck-${P}"
LICENSE="MIT"
SLOT="0"
KEYWORDS="amd64 ~arm64 ppc64"
CP_DEPEND="
dev-java/generics-resolver:0
dev-java/javaruntype:0
dev-java/junit:4
dev-java/ognl:0
dev-java/slf4j-api:0
"
DEPEND="
${CP_DEPEND}
>=virtual/jdk-1.8:*
test? (
dev-java/antlr-runtime:3.5
>=dev-java/guava-testlib-33.4.8:0
>=dev-java/hamcrest-3.0:0
>=dev-java/javassist-3.30.2:3
>=dev-java/objenesis-3.4:0
)
"
RDEPEND="
${CP_DEPEND}
>=virtual/jre-1.8:*
"
JAVADOC_SRC_DIRS=( {core,generators}/src/main/java )
src_prepare() {
java-pkg-2_src_prepare
local services="generators/src/main/resources/META-INF/services"
mkdir -p "${services}"
cat > "${services}/com.pholser.junit.quickcheck.generator.Generator" <<-EOF || die "here doc"
com.pholser.junit.quickcheck.generator.java.util.ArrayListGenerator
com.pholser.junit.quickcheck.generator.java.util.HashSetGenerator
com.pholser.junit.quickcheck.generator.java.util.LocaleGenerator
com.pholser.junit.quickcheck.generator.java.util.LinkedListGenerator
com.pholser.junit.quickcheck.generator.java.util.StackGenerator
com.pholser.junit.quickcheck.generator.java.util.OptionalDoubleGenerator
com.pholser.junit.quickcheck.generator.java.util.DateGenerator
com.pholser.junit.quickcheck.generator.java.util.LinkedHashMapGenerator
com.pholser.junit.quickcheck.generator.java.util.OptionalLongGenerator
com.pholser.junit.quickcheck.generator.java.util.TimeZoneGenerator
com.pholser.junit.quickcheck.generator.java.util.function.FunctionGenerator
com.pholser.junit.quickcheck.generator.java.util.function.UnaryOperatorGenerator
com.pholser.junit.quickcheck.generator.java.util.function.ToIntBiFunctionGenerator
com.pholser.junit.quickcheck.generator.java.util.function.PredicateGenerator
com.pholser.junit.quickcheck.generator.java.util.function.BinaryOperatorGenerator
com.pholser.junit.quickcheck.generator.java.util.function.BiPredicateGenerator
com.pholser.junit.quickcheck.generator.java.util.function.ToIntFunctionGenerator
com.pholser.junit.quickcheck.generator.java.util.function.ToDoubleFunctionGenerator
com.pholser.junit.quickcheck.generator.java.util.function.ToLongBiFunctionGenerator
com.pholser.junit.quickcheck.generator.java.util.function.BiFunctionGenerator
com.pholser.junit.quickcheck.generator.java.util.function.IntFunctionGenerator
com.pholser.junit.quickcheck.generator.java.util.function.ToLongFunctionGenerator
com.pholser.junit.quickcheck.generator.java.util.function.DoubleFunctionGenerator
com.pholser.junit.quickcheck.generator.java.util.function.SupplierGenerator
com.pholser.junit.quickcheck.generator.java.util.function.LongFunctionGenerator
com.pholser.junit.quickcheck.generator.java.util.function.ToDoubleBiFunctionGenerator
com.pholser.junit.quickcheck.generator.java.util.BitSetGenerator
com.pholser.junit.quickcheck.generator.java.util.OptionalIntGenerator
com.pholser.junit.quickcheck.generator.java.util.HashMapGenerator
com.pholser.junit.quickcheck.generator.java.util.VectorGenerator
com.pholser.junit.quickcheck.generator.java.util.PropertiesGenerator
com.pholser.junit.quickcheck.generator.java.util.OptionalGenerator
com.pholser.junit.quickcheck.generator.java.util.concurrent.CallableGenerator
com.pholser.junit.quickcheck.generator.java.util.RFC4122\$Version4
com.pholser.junit.quickcheck.generator.java.util.HashtableGenerator
com.pholser.junit.quickcheck.generator.java.util.LinkedHashSetGenerator
com.pholser.junit.quickcheck.generator.java.util.RFC4122\$Version3
com.pholser.junit.quickcheck.generator.java.util.RFC4122\$Version5
com.pholser.junit.quickcheck.generator.java.math.BigDecimalGenerator
com.pholser.junit.quickcheck.generator.java.math.BigIntegerGenerator
com.pholser.junit.quickcheck.generator.java.time.ZonedDateTimeGenerator
com.pholser.junit.quickcheck.generator.java.time.LocalDateGenerator
com.pholser.junit.quickcheck.generator.java.time.OffsetTimeGenerator
com.pholser.junit.quickcheck.generator.java.time.ZoneIdGenerator
com.pholser.junit.quickcheck.generator.java.time.PeriodGenerator
com.pholser.junit.quickcheck.generator.java.time.YearMonthGenerator
com.pholser.junit.quickcheck.generator.java.time.InstantGenerator
com.pholser.junit.quickcheck.generator.java.time.LocalDateTimeGenerator
com.pholser.junit.quickcheck.generator.java.time.OffsetDateTimeGenerator
com.pholser.junit.quickcheck.generator.java.time.DurationGenerator
com.pholser.junit.quickcheck.generator.java.time.YearGenerator
com.pholser.junit.quickcheck.generator.java.time.ClockGenerator
com.pholser.junit.quickcheck.generator.java.time.ZoneOffsetGenerator
com.pholser.junit.quickcheck.generator.java.time.LocalTimeGenerator
com.pholser.junit.quickcheck.generator.java.time.MonthDayGenerator
com.pholser.junit.quickcheck.generator.java.lang.ShortGenerator
com.pholser.junit.quickcheck.generator.java.lang.CharacterGenerator
com.pholser.junit.quickcheck.generator.java.lang.DoubleGenerator
com.pholser.junit.quickcheck.generator.java.lang.IntegerGenerator
com.pholser.junit.quickcheck.generator.java.lang.StringGenerator
com.pholser.junit.quickcheck.generator.java.lang.LongGenerator
com.pholser.junit.quickcheck.generator.java.lang.FloatGenerator
com.pholser.junit.quickcheck.generator.java.lang.ByteGenerator
com.pholser.junit.quickcheck.generator.java.lang.Encoded
com.pholser.junit.quickcheck.generator.java.lang.BooleanGenerator
com.pholser.junit.quickcheck.generator.java.nio.charset.CharsetGenerator
com.pholser.junit.quickcheck.generator.VoidGenerator
EOF
}
src_compile() {
einfo "Compiling core"
JAVA_JAR_FILENAME="core.jar"
JAVA_RESOURCE_DIRS="core/src/main/resources"
JAVA_SRC_DIR="core/src/main/java"
java-pkg-simple_src_compile
JAVA_GENTOO_CLASSPATH_EXTRA=":core.jar"
rm -r target || die "clean core"
einfo "Compiling generators"
JAVA_JAR_FILENAME="generators.jar"
JAVA_RESOURCE_DIRS="generators/src/main/resources"
JAVA_SRC_DIR="generators/src/main/java"
java-pkg-simple_src_compile
JAVA_GENTOO_CLASSPATH_EXTRA+=":generators.jar"
rm -r target || die "clean generators"
JAVADOC_CLASSPATH="${JAVA_GENTOO_CLASSPATH}"
use doc && ejavadoc
}
src_test() {
# mockito-core-1.10.19 is presently not packaged
JAVA_GENTOO_CLASSPATH_EXTRA+=":${DISTDIR}/mockito-core-${MCV}.jar"
local vm_version="$(java-config -g PROVIDES_VERSION)"
if ver_test "${vm_version}" -ge 17; then
JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/java.lang=ALL-UNNAMED )
fi
einfo "Testing core"
JAVA_TEST_EXCLUDES=(
# upstream doesn't run these tests
com.pholser.junit.quickcheck.EqualsHashCodePropertiesTest # 9 of 9 tests fail
com.pholser.junit.quickcheck.internal.generator.CorePropertyParameterTest # 2 of 2 tests fail
com.pholser.junit.quickcheck.test.generator.TestGeneratorSource # Invalid test class, no runnable methods
)
JAVA_TEST_GENTOO_CLASSPATH="antlr-runtime-3.5 guava-testlib hamcrest javassist-3 junit-4 objenesis ognl"
JAVA_TEST_RESOURCE_DIRS="core/src/test/resources"
JAVA_TEST_SRC_DIR="core/src/test/java"
java-pkg-simple_src_test
einfo "Creating core-tests.jar"
jar cvf core-tests.jar -C target/test-classes . || die
JAVA_GENTOO_CLASSPATH_EXTRA+=":core-tests.jar"
JAVA_TEST_RUN_ONLY=()
einfo "Testing generators"
JAVA_TEST_EXCLUDES=(
# 2 of 2 tests fail, upstream doesn't run it
com.pholser.junit.quickcheck.generator.BasicGeneratorPropertyParameterTest
)
JAVA_TEST_RESOURCE_DIRS=()
JAVA_TEST_SRC_DIR="generators/src/test/java"
java-pkg-simple_src_test
}
src_install() {
java-pkg_dojar generators.jar
JAVA_JAR_FILENAME="core.jar"
java-pkg-simple_src_install
}
|