8#include <gtest/gtest.h>
30 static std::vector<std::string>
get_labels() {
return {
"None",
"Input",
"Output" }; }
38 switch (invalid_witness_target) {
41 if constexpr (IsInputConstant) {
42 constraint.
inputs[0].blackbox_input =
45 witness_values[constraint.
inputs[0].blackbox_input.index] +=
bb::fr(1);
58 return { constraint, witness_values };
67 auto construct_state = [&](
const std::vector<uint8_t>& state,
71 for (
const auto&
byte : state) {
77 for (
const auto& idx : indices) {
84 std::vector<uint8_t> input_state(64);
90 blake3_constraint.
inputs.reserve(input_state.size());
91 for (
const auto& state : construct_state(input_state, IsInputConstant)) {
93 blake3_constraint.
inputs.push_back(input);
99 for (
auto [blake_result, output_idx] :
zip_view(blake3_constraint.
result, output_indices)) {
100 blake_result = output_idx;
105template <
class Builder>
107 public TestClass<Blake3TestingFunctions<Builder, true>> {
112using BuilderTypes = testing::Types<UltraCircuitBuilder, MegaCircuitBuilder>;
118 TestFixture::template test_vk_independence<Flavor>();
123 [[maybe_unused]] std::vector<std::string> _ = TestFixture::test_tampering();
126template <
class Builder>
128 public TestClass<Blake3TestingFunctions<Builder, false>> {
133using BuilderTypes = testing::Types<UltraCircuitBuilder, MegaCircuitBuilder>;
139 TestFixture::template test_vk_independence<Flavor>();
144 [[maybe_unused]] std::vector<std::string> _ = TestFixture::test_tampering();
static ProgramMetadata generate_metadata()
static std::pair< AcirConstraint, WitnessVector > invalidate_witness(AcirConstraint constraint, WitnessVector &witness_values, const InvalidWitness::Target &invalid_witness_target)
static void generate_constraints(Blake3Constraint &blake3_constraint, WitnessVector &witness_values)
Generate a valid Blake3Constraint with correct witness values.
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(ShpleminiTest, CorrectnessOfMultivariateClaimBatching)
std::vector< uint8_t > blake3s(std::vector< uint8_t > const &input)
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
::testing::Types< UltraCircuitBuilder, MegaCircuitBuilder > BuilderTypes
static std::vector< Target > get_all()
static std::vector< std::string > get_labels()