Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
323 changes: 146 additions & 177 deletions checker/src/test/java/dev/cel/checker/ExprCheckerTest.java

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions checker/src/test/resources/callStyle.baseline
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
Source: size(x) == x.size()
declare size {
function my_size list(A).() -> int
}
declare x {
value list(int)
}
declare size {
function my_size list(A).() -> int
}
=====>
_==_(
size(
x~list(int)^x
)~int^size_list,
x~list(int)^x.size()~int^my_size
)~bool^equals
)~bool^equals
18 changes: 17 additions & 1 deletion checker/src/test/resources/standardEnvDump.baseline
Original file line number Diff line number Diff line change
Expand Up @@ -143,11 +143,15 @@ declare _||_ {
}
declare bool {
value type(bool)
}
declare bool {
function bool_to_bool (bool) -> bool
function string_to_bool (string) -> bool
}
declare bytes {
value type(bytes)
}
declare bytes {
function bytes_to_bytes (bytes) -> bytes
function string_to_bytes (string) -> bytes
}
Expand All @@ -156,6 +160,8 @@ declare contains {
}
declare double {
value type(double)
}
declare double {
function double_to_double (double) -> double
function int64_to_double (int) -> double
function uint64_to_double (uint) -> double
Expand All @@ -167,6 +173,8 @@ declare duration {
}
declare dyn {
value type(dyn)
}
declare dyn {
function to_dyn (A) -> dyn
}
declare endsWith {
Expand Down Expand Up @@ -218,6 +226,8 @@ declare getSeconds {
}
declare int {
value type(int)
}
declare int {
function int64_to_int64 (int) -> int
function uint64_to_int64 (uint) -> int
function double_to_int64 (double) -> int
Expand Down Expand Up @@ -252,6 +262,8 @@ declare startsWith {
}
declare string {
value type(string)
}
declare string {
function string_to_string (string) -> string
function int64_to_string (int) -> string
function uint64_to_string (uint) -> string
Expand All @@ -268,12 +280,16 @@ declare timestamp {
}
declare type {
value type(dyn)
}
declare type {
function type (A) -> type(A)
}
declare uint {
value type(uint)
}
declare uint {
function uint64_to_uint64 (uint) -> uint
function int64_to_uint64 (int) -> uint
function double_to_uint64 (double) -> uint
function string_to_uint64 (string) -> uint
}
}
9 changes: 4 additions & 5 deletions checker/src/test/resources/userFunctionOverlaps.baseline
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
Source: size(x) == 1u
declare size {
function my_size (list(TEST)) -> uint
}
declare x {
value list(int)
}
declare size {
function my_size (list(TEST)) -> uint
}
=====>
_==_(
size(
x~list(int)^x
)~uint^my_size,
1u~uint
)~bool^equals

)~bool^equals
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@

package dev.cel.runtime;

import com.google.testing.junit.testparameterinjector.TestParameter;
import com.google.testing.junit.testparameterinjector.TestParameterInjector;
import dev.cel.common.values.ProtoMessageLiteValueProvider;
import dev.cel.expr.conformance.proto3.TestAllTypesCelDescriptor;
Expand All @@ -28,16 +27,14 @@
*/
@RunWith(TestParameterInjector.class)
public class CelLiteInterpreterTest extends BaseInterpreterTest {
public CelLiteInterpreterTest(@TestParameter InterpreterTestOption testOption) {
public CelLiteInterpreterTest() {
super(
testOption.celOptions.toBuilder().enableCelValue(true).build(),
testOption.useNativeCelType,
CelRuntimeFactory.standardCelRuntimeBuilder()
.setValueProvider(
ProtoMessageLiteValueProvider.newInstance(
TestAllTypesCelDescriptor.getDescriptor()))
.addLibraries(CelOptionalLibrary.INSTANCE)
.setOptions(testOption.celOptions.toBuilder().enableCelValue(true).build())
.setOptions(newBaseCelOptions().toBuilder().enableCelValue(true).build())
.build());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@

package dev.cel.runtime;

import com.google.testing.junit.testparameterinjector.TestParameter;
import com.google.testing.junit.testparameterinjector.TestParameterInjector;
// import com.google.testing.testsize.MediumTest;
import dev.cel.testing.BaseInterpreterTest;
Expand All @@ -25,9 +24,7 @@
@RunWith(TestParameterInjector.class)
public class CelValueInterpreterTest extends BaseInterpreterTest {

public CelValueInterpreterTest(@TestParameter InterpreterTestOption testOption) {
super(
testOption.celOptions.toBuilder().enableCelValue(true).build(),
testOption.useNativeCelType);
public CelValueInterpreterTest() {
super(newBaseCelOptions().toBuilder().enableCelValue(true).build());
}
}
8 changes: 1 addition & 7 deletions runtime/src/test/java/dev/cel/runtime/InterpreterTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@

package dev.cel.runtime;

import com.google.testing.junit.testparameterinjector.TestParameter;
import com.google.testing.junit.testparameterinjector.TestParameterInjector;
// import com.google.testing.testsize.MediumTest;
import dev.cel.testing.BaseInterpreterTest;
Expand All @@ -23,9 +22,4 @@
/** Tests for {@link Interpreter} and related functionality. */
// @MediumTest
@RunWith(TestParameterInjector.class)
public class InterpreterTest extends BaseInterpreterTest {

public InterpreterTest(@TestParameter InterpreterTestOption testOption) {
super(testOption.celOptions, testOption.useNativeCelType);
}
}
public class InterpreterTest extends BaseInterpreterTest {}
12 changes: 6 additions & 6 deletions runtime/src/test/resources/delayedEvaluation.baseline
Original file line number Diff line number Diff line change
Expand Up @@ -10,29 +10,29 @@ bindings: {}
result: true

Source: f_force(f_delay(1 + four)) == 5
declare four {
value int
}
declare f_delay {
function f_delay (int) -> dyn
}
declare f_force {
function f_force (dyn) -> int
}
declare four {
value int
}
=====>
bindings: {four=4}
result: true

Source: [1, 2, 3].map(i, f_delay(i + four)).map(d, f_force(d)) == [5, 6, 7]
declare four {
value int
}
declare f_delay {
function f_delay (int) -> dyn
}
declare f_force {
function f_force (dyn) -> int
}
declare four {
value int
}
=====>
bindings: {four=4}
result: true
12 changes: 6 additions & 6 deletions runtime/src/test/resources/longComprehension.baseline
Original file line number Diff line number Diff line change
Expand Up @@ -7,23 +7,23 @@ bindings: {}
result: true

Source: size(longlist.map(x, x+1)) == 1000
declare constantLongList {
function constantLongList () -> list(int)
}
declare longlist {
value list(int)
}
declare constantLongList {
function constantLongList () -> list(int)
}
=====>
bindings: {longlist=[0, 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, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999]}
result: true

Source: f_unleash(longlist.map(x, f_slow_inc(x)))[0] == 1
declare constantLongList {
function constantLongList () -> list(int)
}
declare longlist {
value list(int)
}
declare constantLongList {
function constantLongList () -> list(int)
}
declare f_slow_inc {
function f_slow_inc (int) -> int
}
Expand Down
5 changes: 0 additions & 5 deletions testing/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,6 @@ java_library(
exports = ["//testing/src/main/java/dev/cel/testing:baseline_test_case"],
)

java_library(
name = "test_decls",
exports = ["//testing/src/main/java/dev/cel/testing:test_decls"],
)

java_library(
name = "cel_baseline_test_case",
exports = ["//testing/src/main/java/dev/cel/testing:cel_baseline_test_case"],
Expand Down
26 changes: 1 addition & 25 deletions testing/src/main/java/dev/cel/testing/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,6 @@ package(
default_visibility = ["//testing:__pkg__"],
)

TEST_DECL_SOURCES = [
"TestCelFunctionDeclWrapper.java",
"TestCelVariableDeclWrapper.java",
"TestDecl.java",
"TestProtoFunctionDeclWrapper.java",
"TestProtoVariableDeclWrapper.java",
]

java_library(
name = "baseline_test_case",
srcs = [
Expand Down Expand Up @@ -48,37 +40,21 @@ java_library(
],
)

java_library(
name = "test_decls",
srcs = TEST_DECL_SOURCES,
deps = [
"//common:compiler_common",
"//common/types:cel_proto_types",
"//common/types:type_providers",
"//compiler:compiler_builder",
"@cel_spec//proto/cel/expr:checked_java_proto",
"@maven//:com_google_guava_guava",
],
)

java_library(
name = "cel_baseline_test_case",
srcs = ["CelBaselineTestCase.java"],
deps = [
":baseline_test_case",
":test_decls",
"//:java_truth",
"//common:cel_ast",
"//common:compiler_common",
"//common:options",
"//common/types:cel_proto_types",
"//common/types:cel_types",
"//common/types:message_type_provider",
"//common/types:type_providers",
"//compiler",
"//compiler:compiler_builder",
"//parser:macro",
"@cel_spec//proto/cel/expr:checked_java_proto",
"@maven//:com_google_guava_guava",
"@maven//:com_google_protobuf_protobuf_java",
],
Expand All @@ -104,7 +80,7 @@ java_library(
"//common/internal:file_descriptor_converter",
"//common/internal:proto_time_utils",
"//common/resources/testdata/proto3:standalone_global_enum_java_proto",
"//common/types:cel_proto_types",
"//common/types",
"//common/types:type_providers",
"//extensions:optional_library",
"//runtime",
Expand Down
Loading
Loading