Skip to content

Commit 27bbb0a

Browse files
CEL Dev Teamcopybara-github
CEL Dev Team
authored andcommitted
Fixing ExprValueUtils to return a Message using runtime generated extensionRegistry and typeRegistry.
PiperOrigin-RevId: 753880167
1 parent 9e26ff0 commit 27bbb0a

33 files changed

+4115
-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: 208 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,208 @@
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+
],
79+
)
80+
81+
java_library(
82+
name = "cel_test_suite",
83+
srcs = ["CelTestSuite.java"],
84+
tags = [
85+
],
86+
deps = [
87+
"//:auto_value",
88+
"//common:source",
89+
"@maven//:com_google_errorprone_error_prone_annotations",
90+
"@maven//:com_google_guava_guava",
91+
"@maven//:com_google_protobuf_protobuf_java",
92+
],
93+
)
94+
95+
java_library(
96+
name = "cel_test_suite_yaml_parser",
97+
srcs = ["CelTestSuiteYamlParser.java"],
98+
tags = [
99+
],
100+
deps = [
101+
":cel_test_suite",
102+
":cel_test_suite_exception",
103+
"//common:compiler_common",
104+
"//common/formats:file_source",
105+
"//common/formats:parser_context",
106+
"//common/formats:yaml_helper",
107+
"//common/formats:yaml_parser_context_impl",
108+
"//common/internal",
109+
"@maven//:com_google_guava_guava",
110+
"@maven//:org_yaml_snakeyaml",
111+
],
112+
)
113+
114+
java_library(
115+
name = "cel_test_suite_exception",
116+
srcs = ["CelTestSuiteException.java"],
117+
tags = [
118+
],
119+
deps = ["//common:cel_exception"],
120+
)
121+
122+
java_library(
123+
name = "cel_test_context",
124+
srcs = ["CelTestContext.java"],
125+
tags = [
126+
],
127+
deps = [
128+
":default_result_matcher",
129+
":result_matcher",
130+
"//:auto_value",
131+
"//bundle:cel",
132+
"//common:options",
133+
"//policy:parser",
134+
"//runtime",
135+
"@maven//:com_google_guava_guava",
136+
],
137+
)
138+
139+
java_library(
140+
name = "registry_utils",
141+
srcs = ["RegistryUtils.java"],
142+
tags = [
143+
],
144+
deps = [
145+
"//common:cel_descriptors",
146+
"//common/internal:cel_descriptor_pools",
147+
"//common/internal:default_message_factory",
148+
"@maven//:com_google_guava_guava",
149+
"@maven//:com_google_protobuf_protobuf_java",
150+
],
151+
)
152+
153+
java_library(
154+
name = "result_matcher",
155+
srcs = ["ResultMatcher.java"],
156+
deps = [
157+
":cel_test_suite",
158+
"//:auto_value",
159+
"//bundle:cel",
160+
"//common/types:type_providers",
161+
"//runtime",
162+
"@cel_spec//proto/cel/expr:expr_java_proto",
163+
],
164+
)
165+
166+
java_library(
167+
name = "default_result_matcher",
168+
srcs = ["DefaultResultMatcher.java"],
169+
deps = [
170+
":cel_test_suite",
171+
":registry_utils",
172+
":result_matcher",
173+
"//:java_truth",
174+
"//bundle:cel",
175+
"//common:cel_ast",
176+
"//common:cel_descriptors",
177+
"//runtime",
178+
"//testing:expr_value_utils",
179+
"@cel_spec//proto/cel/expr:expr_java_proto",
180+
"@maven//:com_google_guava_guava",
181+
"@maven//:com_google_protobuf_protobuf_java",
182+
"@maven//:com_google_truth_extensions_truth_proto_extension",
183+
],
184+
)
185+
186+
java_library(
187+
name = "cel_test_suite_text_proto_parser",
188+
srcs = ["CelTestSuiteTextProtoParser.java"],
189+
tags = [
190+
],
191+
deps = [
192+
":cel_test_suite",
193+
":cel_test_suite_exception",
194+
":registry_utils",
195+
"//common:cel_descriptors",
196+
"@cel_spec//proto/cel/expr/conformance/test:suite_java_proto",
197+
"@maven//:com_google_api_grpc_proto_google_common_protos",
198+
"@maven//:com_google_guava_guava",
199+
"@maven//:com_google_protobuf_protobuf_java",
200+
],
201+
)
202+
203+
filegroup(
204+
name = "test_runner_binary",
205+
srcs = [
206+
"TestRunnerBinary.java",
207+
],
208+
)

0 commit comments

Comments
 (0)