14#include <gtest/gtest.h>
36 static std::vector<std::string>
get_labels() {
return {
"None",
"Input",
"Output" }; }
44 switch (invalid_witness_target) {
47 if constexpr (IsInputConstant) {
63 return { constraint, witness_values };
72 auto construct_state = [&](
const std::vector<uint8_t>& state,
76 for (
const auto&
byte : state) {
82 for (
const auto& idx : indices) {
89 std::vector<uint8_t> input_state(64);
95 blake2s_constraint.
inputs.reserve(input_state.size());
96 for (
const auto& state : construct_state(input_state, IsInputConstant)) {
97 blake2s_constraint.
inputs.push_back(state);
103 for (
auto [blake_result, output_idx] :
zip_view(blake2s_constraint.
result, output_indices)) {
104 blake_result = output_idx;
109template <
class Builder>
111 public TestClass<Blake2sTestingFunctions<Builder, true>> {
116using BuilderTypes = testing::Types<UltraCircuitBuilder, MegaCircuitBuilder>;
122 TestFixture::template test_vk_independence<Flavor>();
127 [[maybe_unused]] std::vector<std::string> _ = TestFixture::test_tampering();
130template <
class Builder>
132 public TestClass<Blake2sTestingFunctions<Builder, false>> {
137using BuilderTypes = testing::Types<UltraCircuitBuilder, MegaCircuitBuilder>;
143 TestFixture::template test_vk_independence<Flavor>();
148 [[maybe_unused]] std::vector<std::string> _ = TestFixture::test_tampering();
static void generate_constraints(Blake2sConstraint &blake2s_constraint, WitnessVector &witness_values)
Generate a valid Blake2sConstraint with correct witness values.
static std::pair< AcirConstraint, WitnessVector > invalidate_witness(AcirConstraint constraint, WitnessVector witness_values, const InvalidWitness::Target &invalid_witness_target)
static ProgramMetadata generate_metadata()
std::array< uint8_t, BLAKE2S_OUTBYTES > blake2s(std::vector< uint8_t > const &input)
std::filesystem::path bb_crs_path()
void init_file_crs_factory(const std::filesystem::path &path)
TYPED_TEST_SUITE(BoomerangRecursiveVerifierTest, Flavors)
Entry point for Barretenberg command-line interface.
field< Bn254FrParams > fr
TYPED_TEST(CommitmentKeyTest, CommitToZeroPoly)
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
::testing::Types< UltraCircuitBuilder, MegaCircuitBuilder > BuilderTypes
static std::vector< std::string > get_labels()
static std::vector< Target > get_all()