MCPcopy Create free account
hub / github.com/cel-expr/cel-cpp / TEST

Function TEST

testing/testrunner/coverage_index_test.cc:59–94  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

57}
58
59TEST(CoverageIndexTest, RecordCoverageWithErrorDoesNotCrash) {
60 ASSERT_OK_AND_ASSIGN(
61 std::unique_ptr<cel::CompilerBuilder> compiler_builder,
62 cel::NewCompilerBuilder(cel::internal::GetTestingDescriptorPool()));
63 ASSERT_THAT(compiler_builder->AddLibrary(cel::StandardCompilerLibrary()),
64 IsOk());
65 ASSERT_THAT(compiler_builder->GetCheckerBuilder().AddVariable(
66 cel::MakeVariableDecl("x", cel::IntType())),
67 IsOk());
68 ASSERT_OK_AND_ASSIGN(std::unique_ptr<cel::Compiler> compiler,
69 std::move(compiler_builder)->Build());
70 ASSERT_OK_AND_ASSIGN(cel::ValidationResult validation_result,
71 compiler->Compile("1/x > 1"));
72 CheckedExpr checked_expr;
73 ASSERT_THAT(cel::AstToCheckedExpr(*validation_result.GetAst(), &checked_expr),
74 IsOk());
75
76 CoverageIndex coverage_index;
77 coverage_index.Init(checked_expr);
78
79 ASSERT_OK_AND_ASSIGN(std::unique_ptr<const cel::Runtime> runtime,
80 CreateTestRuntime());
81 ASSERT_THAT(EnableCoverageInRuntime(*const_cast<cel::Runtime*>(runtime.get()),
82 coverage_index),
83 IsOk());
84 ASSERT_OK_AND_ASSIGN(std::unique_ptr<cel::Ast> ast,
85 cel::CreateAstFromCheckedExpr(checked_expr));
86 ASSERT_OK_AND_ASSIGN(auto program, runtime->CreateProgram(std::move(ast)));
87
88 cel::Activation activation;
89 activation.InsertOrAssignValue("x", cel::IntValue(0));
90 google::protobuf::Arena arena;
91 ASSERT_OK_AND_ASSIGN(cel::Value result,
92 program->Evaluate(&arena, activation));
93 EXPECT_TRUE(result.IsError());
94}
95
96TEST(CoverageIndexTest, WriteLCOV) {
97 ASSERT_OK_AND_ASSIGN(

Callers

nothing calls this directly

Calls 15

StandardCompilerLibraryFunction · 0.85
MakeVariableDeclFunction · 0.85
AstToCheckedExprFunction · 0.85
EnableCoverageInRuntimeFunction · 0.85
AddVariableMethod · 0.80
GetAstMethod · 0.80
InitMethod · 0.80
InsertOrAssignValueMethod · 0.80
set_locationMethod · 0.80
WriteLCOVMethod · 0.80
ASSERT_OK_AND_ASSIGNFunction · 0.50
NewCompilerBuilderFunction · 0.50

Tested by

no test coverage detected