Skip to content

Commit 16fdb28

Browse files
CEL Dev Teamcopybara-github
authored andcommitted
Push Testrunner to OSS
PiperOrigin-RevId: 751467412
1 parent edc6e94 commit 16fdb28

31 files changed

+4054
-7
lines changed

WORKSPACE

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,13 @@ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive", "http_jar")
2121
# Load license rules.
2222
# Must be loaded first due to https://github.com/bazel-contrib/rules_jvm_external/issues/1244
2323

24-
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
2524
http_archive(
2625
name = "rules_license",
26+
sha256 = "26d4021f6898e23b82ef953078389dd49ac2b5618ac564ade4ef87cced147b38",
2727
urls = [
2828
"https://mirror.bazel.build/github.com/bazelbuild/rules_license/releases/download/1.0.0/rules_license-1.0.0.tar.gz",
2929
"https://github.com/bazelbuild/rules_license/releases/download/1.0.0/rules_license-1.0.0.tar.gz",
3030
],
31-
sha256 = "26d4021f6898e23b82ef953078389dd49ac2b5618ac564ade4ef87cced147b38",
3231
)
3332

3433
http_archive(
@@ -48,10 +47,10 @@ bazel_skylib_workspace()
4847

4948
http_archive(
5049
name = "rules_java",
50+
sha256 = "8daa0e4f800979c74387e4cd93f97e576ec6d52beab8ac94710d2931c57f8d8b",
5151
urls = [
5252
"https://github.com/bazelbuild/rules_java/releases/download/8.9.0/rules_java-8.9.0.tar.gz",
5353
],
54-
sha256 = "8daa0e4f800979c74387e4cd93f97e576ec6d52beab8ac94710d2931c57f8d8b",
5554
)
5655

5756
http_archive(
@@ -76,27 +75,31 @@ http_archive(
7675
)
7776

7877
load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps")
78+
7979
protobuf_deps()
8080

8181
load("@rules_java//java:rules_java_deps.bzl", "rules_java_dependencies")
82+
8283
rules_java_dependencies()
8384

8485
load("@rules_java//java:repositories.bzl", "rules_java_toolchains")
86+
8587
rules_java_toolchains()
8688

8789
load("@rules_python//python:repositories.bzl", "py_repositories")
90+
8891
py_repositories()
8992

9093
load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies")
94+
9195
rules_proto_dependencies()
9296

9397
load("@rules_proto//proto:toolchains.bzl", "rules_proto_toolchains")
94-
rules_proto_toolchains()
9598

99+
rules_proto_toolchains()
96100

97101
### End of Protobuf Setup
98102

99-
100103
### rules_jvm_external setup
101104

102105
RULES_JVM_EXTERNAL_TAG = "6.6"
@@ -124,6 +127,7 @@ load("//:maven_utils.bzl", "maven_artifact_compile_only", "maven_artifact_test_o
124127
### end of rules_jvm_external setup
125128

126129
ANTLR4_VERSION = "4.13.2"
130+
127131
maven_install(
128132
name = "maven",
129133
# keep sorted
@@ -137,9 +141,11 @@ maven_install(
137141
"com.google.re2j:re2j:1.8",
138142
"info.picocli:picocli:4.7.6",
139143
"org.antlr:antlr4-runtime:" + ANTLR4_VERSION,
144+
"com.google.api.grpc:proto-google-common-protos:2.54.1",
140145
"info.picocli:picocli:4.7.6",
141146
"org.freemarker:freemarker:2.3.33",
142147
"org.jspecify:jspecify:1.0.0",
148+
"org.mockito:mockito-core:4.11.0",
143149
"org.threeten:threeten-extra:1.8.0",
144150
"org.yaml:snakeyaml:2.3",
145151
maven_artifact_test_only("com.google.testparameterinjector", "test-parameter-injector", "1.18"),
@@ -178,14 +184,17 @@ http_archive(
178184
)
179185

180186
load("@rules_android//:prereqs.bzl", "rules_android_prereqs")
187+
181188
rules_android_prereqs()
182189

183190
load("@rules_android//:defs.bzl", "rules_android_workspace")
191+
184192
rules_android_workspace()
185193

186194
load("@rules_android//rules:rules.bzl", "android_sdk_repository")
195+
187196
android_sdk_repository(
188-
name = "androidsdk"
197+
name = "androidsdk",
189198
)
190199

191200
register_toolchains(
@@ -270,4 +279,3 @@ http_jar(
270279
sha256 = "eae2dfa119a64327444672aff63e9ec35a20180dc5b8090b7a6ab85125df4d76",
271280
urls = ["https://www.antlr.org/download/antlr-" + ANTLR4_VERSION + "-complete.jar"],
272281
)
273-
Lines changed: 207 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,207 @@
1+
load("@rules_java//java:java_library.bzl", "java_library")
2+
3+
package(
4+
default_applicable_licenses = ["//:license"],
5+
default_testonly = True,
6+
default_visibility = [
7+
"//testing/testrunner:__pkg__",
8+
],
9+
)
10+
11+
java_library(
12+
name = "test_executor",
13+
srcs = ["TestExecutor.java"],
14+
tags = [
15+
],
16+
deps = [
17+
":cel_test_suite",
18+
":cel_test_suite_exception",
19+
":cel_test_suite_text_proto_parser",
20+
":cel_test_suite_yaml_parser",
21+
":junit_xml_reporter",
22+
"@maven//:com_google_guava_guava",
23+
"@maven//:junit_junit",
24+
],
25+
)
26+
27+
java_library(
28+
name = "junit_xml_reporter",
29+
srcs = ["JUnitXmlReporter.java"],
30+
tags = [
31+
],
32+
deps = ["@maven//:com_google_guava_guava"],
33+
)
34+
35+
java_library(
36+
name = "cel_user_test_template",
37+
srcs = ["CelUserTestTemplate.java"],
38+
tags = [
39+
],
40+
deps = [
41+
":cel_test_context",
42+
":cel_test_suite",
43+
":test_runner_library",
44+
"@maven//:junit_junit",
45+
],
46+
)
47+
48+
java_library(
49+
name = "test_runner_library",
50+
srcs = ["TestRunnerLibrary.java"],
51+
tags = [
52+
],
53+
deps = [
54+
":cel_test_context",
55+
":cel_test_suite",
56+
":registry_utils",
57+
":result_matcher",
58+
"//:auto_value",
59+
"//bundle:cel",
60+
"//bundle:environment",
61+
"//bundle:environment_exception",
62+
"//bundle:environment_yaml_parser",
63+
"//common:cel_ast",
64+
"//common:cel_descriptors",
65+
"//common:compiler_common",
66+
"//common:options",
67+
"//common:proto_ast",
68+
"//policy",
69+
"//policy:compiler_factory",
70+
"//policy:parser",
71+
"//policy:parser_factory",
72+
"//policy:validation_exception",
73+
"//runtime",
74+
"//testing:expr_value_utils",
75+
"@cel_spec//proto/cel/expr:expr_java_proto",
76+
"@maven//:com_google_guava_guava",
77+
"@maven//:com_google_protobuf_protobuf_java",
78+
"@maven_android//:com_google_protobuf_protobuf_javalite",
79+
],
80+
)
81+
82+
java_library(
83+
name = "cel_test_suite",
84+
srcs = ["CelTestSuite.java"],
85+
tags = [
86+
],
87+
deps = [
88+
"//:auto_value",
89+
"//common:source",
90+
"@maven//:com_google_errorprone_error_prone_annotations",
91+
"@maven//:com_google_guava_guava",
92+
"@maven//:com_google_protobuf_protobuf_java",
93+
],
94+
)
95+
96+
java_library(
97+
name = "cel_test_suite_yaml_parser",
98+
srcs = ["CelTestSuiteYamlParser.java"],
99+
tags = [
100+
],
101+
deps = [
102+
":cel_test_suite",
103+
":cel_test_suite_exception",
104+
"//common:compiler_common",
105+
"//common/formats:file_source",
106+
"//common/formats:parser_context",
107+
"//common/formats:yaml_helper",
108+
"//common/formats:yaml_parser_context_impl",
109+
"//common/internal",
110+
"@maven//:com_google_guava_guava",
111+
"@maven//:org_yaml_snakeyaml",
112+
],
113+
)
114+
115+
java_library(
116+
name = "cel_test_suite_exception",
117+
srcs = ["CelTestSuiteException.java"],
118+
tags = [
119+
],
120+
deps = ["//common:cel_exception"],
121+
)
122+
123+
java_library(
124+
name = "cel_test_context",
125+
srcs = ["CelTestContext.java"],
126+
tags = [
127+
],
128+
deps = [
129+
":default_result_matcher",
130+
":result_matcher",
131+
"//:auto_value",
132+
"//bundle:cel",
133+
"//common:options",
134+
"//policy:parser",
135+
"//runtime",
136+
"@maven//:com_google_guava_guava",
137+
],
138+
)
139+
140+
java_library(
141+
name = "registry_utils",
142+
srcs = ["RegistryUtils.java"],
143+
deps = [
144+
"//common:cel_descriptors",
145+
"//common/internal:cel_descriptor_pools",
146+
"//common/internal:default_message_factory",
147+
"@maven//:com_google_guava_guava",
148+
"@maven//:com_google_protobuf_protobuf_java",
149+
],
150+
)
151+
152+
java_library(
153+
name = "result_matcher",
154+
srcs = ["ResultMatcher.java"],
155+
deps = [
156+
":cel_test_suite",
157+
"//:auto_value",
158+
"//bundle:cel",
159+
"//common/types:type_providers",
160+
"//runtime",
161+
"@cel_spec//proto/cel/expr:expr_java_proto",
162+
],
163+
)
164+
165+
java_library(
166+
name = "default_result_matcher",
167+
srcs = ["DefaultResultMatcher.java"],
168+
deps = [
169+
":cel_test_suite",
170+
":registry_utils",
171+
":result_matcher",
172+
"//:java_truth",
173+
"//bundle:cel",
174+
"//common:cel_ast",
175+
"//common:cel_descriptors",
176+
"//runtime",
177+
"//testing:expr_value_utils",
178+
"@cel_spec//proto/cel/expr:expr_java_proto",
179+
"@maven//:com_google_guava_guava",
180+
"@maven//:com_google_protobuf_protobuf_java",
181+
"@maven//:com_google_truth_extensions_truth_proto_extension",
182+
],
183+
)
184+
185+
java_library(
186+
name = "cel_test_suite_text_proto_parser",
187+
srcs = ["CelTestSuiteTextProtoParser.java"],
188+
tags = [
189+
],
190+
deps = [
191+
":cel_test_suite",
192+
":cel_test_suite_exception",
193+
":registry_utils",
194+
"//common:cel_descriptors",
195+
"@cel_spec//proto/cel/expr/conformance/test:suite_java_proto",
196+
"@maven//:com_google_api_grpc_proto_google_common_protos",
197+
"@maven//:com_google_guava_guava",
198+
"@maven//:com_google_protobuf_protobuf_java",
199+
],
200+
)
201+
202+
filegroup(
203+
name = "test_runner_binary",
204+
srcs = [
205+
"TestRunnerBinary.java",
206+
],
207+
)

0 commit comments

Comments
 (0)