Skip to content

Commit 877dedc

Browse files
committed
make cel-rust pass conformance tests
1 parent 68fc353 commit 877dedc

32 files changed

Lines changed: 12810 additions & 345 deletions

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "cel-spec"]
2+
path = cel-spec
3+
url = https://github.com/google/cel-spec.git

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[workspace]
2-
members = ["cel", "example", "fuzz"]
2+
members = ["cel", "example", "fuzz", "conformance"]
33
resolver = "2"
44

55
[profile.bench]

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ for simplicity, speed, safety, and
77
portability. CEL's C-like syntax looks nearly identical to equivalent expressions in C++, Go, Java, and TypeScript. CEL
88
is ideal for lightweight expression evaluation when a fully sandboxed scripting language is too resource intensive.
99

10+
It passes all conformance tests.
11+
1012
```java
1113
// Check whether a resource name starts with a group name.
1214
resource.name.startsWith("/groups/" + auth.claims.group)

cel-spec

Submodule cel-spec added at 121e265

cel/Cargo.toml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,12 @@ antlr4rust = "0.5.2"
1414
lazy_static = "1.5.0"
1515
nom = "7.1.3"
1616
chrono = { version = "0.4", default-features = false, features = ["alloc", "serde"], optional = true }
17+
chrono-tz = { version = "0.8", optional = true }
1718
regex = { version = "1.10.5", optional = true }
1819
serde = "1.0"
1920
serde_json = { version = "1.0", optional = true }
2021
base64 = { version = "0.22.1", optional = true }
22+
prost = { version = "0.12", optional = true }
2123
bytes = { version = "1", optional = true }
2224

2325
thiserror = "1.0"
@@ -37,5 +39,6 @@ default = ["regex", "chrono"]
3739
bytes = ["dep:bytes"]
3840
json = ["dep:serde_json", "dep:base64"]
3941
regex = ["dep:regex"]
40-
chrono = ["dep:chrono"]
42+
chrono = ["dep:chrono", "dep:chrono-tz"]
43+
proto = ["dep:prost"]
4144
dhat-heap = [ ] # if you are doing heap profiling

0 commit comments

Comments
 (0)