253 typename TestFixture::AcirConstraint constraint;
254 WitnessVector witness_values;
255 TestFixture::Base::generate_constraints(constraint, witness_values);
260 auto [circuit_checker_result, builder_failed, builder_err] =
261 TestFixture::test_constraints(constraint, witness_values, TestFixture::InvalidWitnessTarget::None);
262 EXPECT_TRUE(circuit_checker_result) <<
"Circuit checker failed unexpectedly for invalid witness target None";
263 EXPECT_FALSE(builder_failed) <<
"Builder failed unexpectedly for invalid witness target None";
267 auto [circuit_checker_result, builder_failed, builder_err] =
268 TestFixture::test_constraints(constraint, witness_values, TestFixture::InvalidWitnessTarget::Inputs);
269 bool circuit_check_failed = !circuit_checker_result;
270 bool assert_eq_error_present = (builder_err.find(
"assert_eq") != std::string::npos);
271 EXPECT_TRUE(circuit_check_failed || assert_eq_error_present)
272 <<
"Circuit checker succeeded unexpectedly and no assert_eq failure for invalid witness target Inputs";
273 EXPECT_TRUE(builder_failed) <<
"Builder succeeded for invalid witness target Inputs";
278 TestFixture::test_constraints(constraint, witness_values, TestFixture::InvalidWitnessTarget::Input1BitSize),
279 "field_t: Left operand in logic gate exceeds specified bit length");
284 TestFixture::test_constraints(constraint, witness_values, TestFixture::InvalidWitnessTarget::Input2BitSize),
285 "field_t: Right operand in logic gate exceeds specified bit length");
testing::Types< LogicConstraintTestParams< UltraCircuitBuilder, Constancy, bb::grumpkin::MAX_NO_WRAP_INTEGER_BIT_LENGTH, false >, LogicConstraintTestParams< UltraCircuitBuilder, Constancy, 128, false >, LogicConstraintTestParams< UltraCircuitBuilder, Constancy, 16, false >, LogicConstraintTestParams< UltraCircuitBuilder, Constancy, 1, false >, LogicConstraintTestParams< UltraCircuitBuilder, Constancy, bb::grumpkin::MAX_NO_WRAP_INTEGER_BIT_LENGTH, true >, LogicConstraintTestParams< UltraCircuitBuilder, Constancy, 128, true >, LogicConstraintTestParams< UltraCircuitBuilder, Constancy, 16, true >, LogicConstraintTestParams< UltraCircuitBuilder, Constancy, 1, true >, LogicConstraintTestParams< MegaCircuitBuilder, Constancy, bb::grumpkin::MAX_NO_WRAP_INTEGER_BIT_LENGTH, false >, LogicConstraintTestParams< MegaCircuitBuilder, Constancy, 128, false >, LogicConstraintTestParams< MegaCircuitBuilder, Constancy, 16, false >, LogicConstraintTestParams< MegaCircuitBuilder, Constancy, 1, false >, LogicConstraintTestParams< MegaCircuitBuilder, Constancy, bb::grumpkin::MAX_NO_WRAP_INTEGER_BIT_LENGTH, true >, LogicConstraintTestParams< MegaCircuitBuilder, Constancy, 128, true >, LogicConstraintTestParams< MegaCircuitBuilder, Constancy, 16, true >, LogicConstraintTestParams< MegaCircuitBuilder, Constancy, 1, true > > LogicTestConfigs