forked from terabyte/jgit
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathtests.bzl
105 lines (97 loc) · 3.53 KB
/
tests.bzl
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
'''
Expose each test as a bazel target
'''
load(
"@com_googlesource_gerrit_bazlets//tools:junit.bzl",
"junit_tests",
)
def tests(tests, srcprefix="tst/", extra_tags=[]):
'''
Create a target each of the tests
Each target is the full push (removing srcprefix) replacing directory
separators with underscores.
e.g. a test under tst/a/b/c/A.test will become the target
//org.eclipse.jgit.tests:a_b_c_A
Args:
tests: a glob of tests files
srcprefix: prefix between org.eclipse.jgit.tests and the package
start
extra_tags: additional tags to add to the generated targets
'''
for src in tests:
name = src[len(srcprefix):len(src) - len(".java")].replace("/", "_")
labels = []
timeout = "moderate"
if name.startswith("org_eclipse_jgit_"):
package = name[len("org.eclipse.jgit_"):]
if package.startswith("internal_storage_"):
package = package[len("internal.storage_"):]
index = package.find("_")
if index > 0:
labels.append(package[:index])
else:
labels.append(index)
if "lib" not in labels:
labels.append("lib")
labels.extend(extra_tags)
# TODO(http://eclip.se/534285): Make this test pass reliably
# and remove the flaky attribute.
flaky = src.endswith("CrissCrossMergeTest.java")
additional_deps = []
if src.endswith("RootLocaleTest.java"):
additional_deps = [
"//org.eclipse.jgit.pgm:pgm",
"//org.eclipse.jgit.ui:ui",
]
if src.endswith("WalkEncryptionTest.java"):
additional_deps = [
"//org.eclipse.jgit:insecure_cipher_factory",
]
if src.endswith("SecurityManagerMissingPermissionsTest.java"):
additional_deps = [
"//lib:slf4j-simple",
]
if src.endswith("JDKHttpConnectionTest.java"):
additional_deps = [
"//lib:mockito",
]
if src.endswith("TransportHttpTest.java"):
additional_deps = [
"//lib:mockito",
]
if src.endswith("ArchiveCommandTest.java"):
additional_deps = [
"//lib:commons-compress",
"//lib:xz",
"//org.eclipse.jgit.archive:jgit-archive",
]
if src.endswith("FileRepositoryBuilderAfterOpenConfigTest.java") or \
src.endswith("RefDirectoryAfterOpenConfigTest.java") or \
src.endswith("SnapshottingRefDirectoryTest.java"):
additional_deps = [
":base",
]
heap_size = "-Xmx256m"
if src.endswith("HugeCommitMessageTest.java"):
heap_size = "-Xmx512m"
if src.endswith("EolRepositoryTest.java") or src.endswith("GcCommitSelectionTest.java"):
timeout = "long"
junit_tests(
name = name,
tags = labels,
srcs = [src],
deps = additional_deps + [
":helpers",
":tst_rsrc",
"//lib:javaewah",
"//lib:junit",
"//lib:slf4j-api",
"//lib:slf4j-simple",
"//org.eclipse.jgit:jgit",
"//org.eclipse.jgit.junit:junit",
"//org.eclipse.jgit.lfs:jgit-lfs",
],
flaky = flaky,
jvm_flags = [heap_size, "-Dfile.encoding=UTF-8"],
timeout = timeout,
)