| 854 | testing::Values<bool>(true))); |
| 855 | |
| 856 | void RunBenchmark(absl::string_view expr, benchmark::State& benchmark) { |
| 857 | InterpreterOptions opts; |
| 858 | auto builder = CreateCelExpressionBuilder(opts); |
| 859 | ASSERT_THAT(RegisterEqualityFunctions(builder->GetRegistry(), opts), IsOk()); |
| 860 | ASSERT_OK_AND_ASSIGN(ParsedExpr parsed_expr, parser::Parse(expr)); |
| 861 | google::protobuf::Arena arena; |
| 862 | Activation activation; |
| 863 | |
| 864 | ASSERT_OK_AND_ASSIGN(auto plan, |
| 865 | builder->CreateExpression(&parsed_expr.expr(), |
| 866 | &parsed_expr.source_info())); |
| 867 | |
| 868 | for (auto _ : benchmark) { |
| 869 | ASSERT_OK_AND_ASSIGN(auto result, plan->Evaluate(activation, &arena)); |
| 870 | ASSERT_TRUE(result.IsBool()); |
| 871 | } |
| 872 | } |
| 873 | |
| 874 | void RunIdentBenchmark(const CelValue& lhs, const CelValue& rhs, |
| 875 | benchmark::State& benchmark) { |
no test coverage detected