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
|
"""Utilities for Java brotli tests."""
_TEST_JVM_FLAGS = [
"-DBROTLI_ENABLE_ASSERTS=true",
]
_KOTLIN_DECODER_DEPS = [
"//org/brotli/dec/kt:dec",
]
def brotli_java_test(name, main_class = None, jvm_flags = None, test_kotlin = False, runtime_deps = [], **kwargs):
"""test duplication rule that creates 32/64-bit test pair.
Args:
name: target name prefix
main_class: override for test_class
jvm_flags: base Java VM options
test_kotlin: add target for Kotlin BrotliInputStream
runtime_deps: runtime target dependencies
**kwargs: pass-through
"""
if jvm_flags == None:
jvm_flags = []
jvm_flags = jvm_flags + _TEST_JVM_FLAGS
test_package = native.package_name().replace("/", ".").replace("third_party.brotli.java.", "")
if main_class == None:
test_class = test_package + "." + name
else:
test_class = None
native.java_test(
name = name + "_32",
main_class = main_class,
test_class = test_class,
jvm_flags = jvm_flags + ["-DBROTLI_32_BIT_CPU=true"],
visibility = ["//visibility:private"],
runtime_deps = runtime_deps,
**kwargs
)
native.java_test(
name = name + "_64",
main_class = main_class,
test_class = test_class,
jvm_flags = jvm_flags + ["-DBROTLI_32_BIT_CPU=false"],
visibility = ["//visibility:private"],
runtime_deps = runtime_deps,
**kwargs
)
if test_kotlin:
native.java_test(
name = name + "_kt",
main_class = main_class,
test_class = test_class,
jvm_flags = jvm_flags + ["-DBROTLI_INPUT_STREAM=org.brotli.dec.kt.BrotliInputStream"],
visibility = ["//visibility:private"],
runtime_deps = runtime_deps + _KOTLIN_DECODER_DEPS,
**kwargs
)
|