3737#include " runtime/function_registry.h"
3838#include " runtime/internal/runtime_env.h"
3939#include " runtime/internal/runtime_env_testing.h"
40+ #include " runtime/internal/runtime_value_manager.h"
4041#include " runtime/managed_value_factory.h"
4142#include " runtime/runtime_options.h"
4243#include " runtime/standard_functions.h"
@@ -62,9 +63,8 @@ class InstrumentationTest : public ::testing::Test {
6263 : env_(NewTestingRuntimeEnv()),
6364 function_registry_ (env_->function_registry),
6465 type_registry_(env_->type_registry),
65- managed_value_factory_(
66- type_registry_.GetComposedTypeProvider(),
67- cel::extensions::ProtoMemoryManagerRef(&arena_)) {}
66+ value_manager_(&arena_, env_->descriptor_pool.get(),
67+ env_->MutableMessageFactory()) {}
6868 void SetUp () override {
6969 ASSERT_OK (cel::RegisterStandardFunctions (function_registry_, options_));
7070 }
@@ -75,7 +75,7 @@ class InstrumentationTest : public ::testing::Test {
7575 cel::FunctionRegistry& function_registry_;
7676 cel::TypeRegistry& type_registry_;
7777 google::protobuf::Arena arena_;
78- cel::ManagedValueFactory managed_value_factory_ ;
78+ cel::runtime_internal::RuntimeValueManager value_manager_ ;
7979};
8080
8181MATCHER_P (IsIntValue, expected, " " ) {
@@ -106,7 +106,7 @@ TEST_F(InstrumentationTest, Basic) {
106106 builder.CreateExpressionImpl (std::move (ast),
107107 /* issues=*/ nullptr ));
108108
109- auto state = plan.MakeEvaluatorState (managed_value_factory_. get () );
109+ auto state = plan.MakeEvaluatorState (value_manager_ );
110110 cel::Activation activation;
111111
112112 ASSERT_OK_AND_ASSIGN (
@@ -152,7 +152,7 @@ TEST_F(InstrumentationTest, BasicWithConstFolding) {
152152 Pair (2 , IsIntValue (3 )), Pair (5 , IsIntValue (3 ))));
153153 expr_id_to_value.clear ();
154154
155- auto state = plan.MakeEvaluatorState (managed_value_factory_. get () );
155+ auto state = plan.MakeEvaluatorState (value_manager_ );
156156 cel::Activation activation;
157157
158158 ASSERT_OK_AND_ASSIGN (
@@ -190,22 +190,19 @@ TEST_F(InstrumentationTest, AndShortCircuit) {
190190 builder.CreateExpressionImpl (std::move (ast),
191191 /* issues=*/ nullptr ));
192192
193- auto state = plan.MakeEvaluatorState (managed_value_factory_. get () );
193+ auto state = plan.MakeEvaluatorState (value_manager_ );
194194 cel::Activation activation;
195195
196- activation.InsertOrAssignValue (
197- " a" , managed_value_factory_.get ().CreateBoolValue (true ));
198- activation.InsertOrAssignValue (
199- " b" , managed_value_factory_.get ().CreateBoolValue (false ));
196+ activation.InsertOrAssignValue (" a" , value_manager_.CreateBoolValue (true ));
197+ activation.InsertOrAssignValue (" b" , value_manager_.CreateBoolValue (false ));
200198
201199 ASSERT_OK_AND_ASSIGN (
202200 auto value,
203201 plan.EvaluateWithCallback (activation, EvaluationListener (), state));
204202
205203 EXPECT_THAT (expr_ids, ElementsAre (1 , 2 , 3 ));
206204
207- activation.InsertOrAssignValue (
208- " a" , managed_value_factory_.get ().CreateBoolValue (false ));
205+ activation.InsertOrAssignValue (" a" , value_manager_.CreateBoolValue (false ));
209206
210207 ASSERT_OK_AND_ASSIGN (value, plan.EvaluateWithCallback (
211208 activation, EvaluationListener (), state));
@@ -235,22 +232,19 @@ TEST_F(InstrumentationTest, OrShortCircuit) {
235232 builder.CreateExpressionImpl (std::move (ast),
236233 /* issues=*/ nullptr ));
237234
238- auto state = plan.MakeEvaluatorState (managed_value_factory_. get () );
235+ auto state = plan.MakeEvaluatorState (value_manager_ );
239236 cel::Activation activation;
240237
241- activation.InsertOrAssignValue (
242- " a" , managed_value_factory_.get ().CreateBoolValue (false ));
243- activation.InsertOrAssignValue (
244- " b" , managed_value_factory_.get ().CreateBoolValue (true ));
238+ activation.InsertOrAssignValue (" a" , value_manager_.CreateBoolValue (false ));
239+ activation.InsertOrAssignValue (" b" , value_manager_.CreateBoolValue (true ));
245240
246241 ASSERT_OK_AND_ASSIGN (
247242 auto value,
248243 plan.EvaluateWithCallback (activation, EvaluationListener (), state));
249244
250245 EXPECT_THAT (expr_ids, ElementsAre (1 , 2 , 3 ));
251246 expr_ids.clear ();
252- activation.InsertOrAssignValue (
253- " a" , managed_value_factory_.get ().CreateBoolValue (true ));
247+ activation.InsertOrAssignValue (" a" , value_manager_.CreateBoolValue (true ));
254248
255249 ASSERT_OK_AND_ASSIGN (value, plan.EvaluateWithCallback (
256250 activation, EvaluationListener (), state));
@@ -280,15 +274,12 @@ TEST_F(InstrumentationTest, Ternary) {
280274 builder.CreateExpressionImpl (std::move (ast),
281275 /* issues=*/ nullptr ));
282276
283- auto state = plan.MakeEvaluatorState (managed_value_factory_. get () );
277+ auto state = plan.MakeEvaluatorState (value_manager_ );
284278 cel::Activation activation;
285279
286- activation.InsertOrAssignValue (
287- " c" , managed_value_factory_.get ().CreateBoolValue (true ));
288- activation.InsertOrAssignValue (
289- " a" , managed_value_factory_.get ().CreateIntValue (1 ));
290- activation.InsertOrAssignValue (
291- " b" , managed_value_factory_.get ().CreateIntValue (2 ));
280+ activation.InsertOrAssignValue (" c" , value_manager_.CreateBoolValue (true ));
281+ activation.InsertOrAssignValue (" a" , value_manager_.CreateIntValue (1 ));
282+ activation.InsertOrAssignValue (" b" , value_manager_.CreateIntValue (2 ));
292283
293284 ASSERT_OK_AND_ASSIGN (
294285 auto value,
@@ -301,8 +292,7 @@ TEST_F(InstrumentationTest, Ternary) {
301292 EXPECT_THAT (expr_ids, ElementsAre (1 , 3 , 2 ));
302293 expr_ids.clear ();
303294
304- activation.InsertOrAssignValue (
305- " c" , managed_value_factory_.get ().CreateBoolValue (false ));
295+ activation.InsertOrAssignValue (" c" , value_manager_.CreateBoolValue (false ));
306296
307297 ASSERT_OK_AND_ASSIGN (value, plan.EvaluateWithCallback (
308298 activation, EvaluationListener (), state));
@@ -336,7 +326,7 @@ TEST_F(InstrumentationTest, OptimizedStepsNotEvaluated) {
336326 builder.CreateExpressionImpl (std::move (ast),
337327 /* issues=*/ nullptr ));
338328
339- auto state = plan.MakeEvaluatorState (managed_value_factory_. get () );
329+ auto state = plan.MakeEvaluatorState (value_manager_ );
340330 cel::Activation activation;
341331
342332 ASSERT_OK_AND_ASSIGN (
@@ -362,15 +352,12 @@ TEST_F(InstrumentationTest, NoopSkipped) {
362352 builder.CreateExpressionImpl (std::move (ast),
363353 /* issues=*/ nullptr ));
364354
365- auto state = plan.MakeEvaluatorState (managed_value_factory_. get () );
355+ auto state = plan.MakeEvaluatorState (value_manager_ );
366356 cel::Activation activation;
367357
368- activation.InsertOrAssignValue (
369- " c" , managed_value_factory_.get ().CreateBoolValue (true ));
370- activation.InsertOrAssignValue (
371- " a" , managed_value_factory_.get ().CreateIntValue (1 ));
372- activation.InsertOrAssignValue (
373- " b" , managed_value_factory_.get ().CreateIntValue (2 ));
358+ activation.InsertOrAssignValue (" c" , value_manager_.CreateBoolValue (true ));
359+ activation.InsertOrAssignValue (" a" , value_manager_.CreateIntValue (1 ));
360+ activation.InsertOrAssignValue (" b" , value_manager_.CreateIntValue (2 ));
374361
375362 ASSERT_OK_AND_ASSIGN (
376363 auto value,
0 commit comments