39 flatbuffers::FlatBufferBuilder builder;
40 std::vector<flatbuffers::Offset<impeller::fb::shaderbundle::Shader>> shaders;
41 auto shaders_vec = builder.CreateVector(shaders);
42 impeller::fb::shaderbundle::ShaderBundleBuilder bundle_builder(builder);
43 bundle_builder.add_format_version(
static_cast<uint32_t
>(
44 impeller::fb::shaderbundle::ShaderBundleFormatVersion::kVersion));
45 bundle_builder.add_shaders(shaders_vec);
46 auto bundle = bundle_builder.Finish();
49 builder.Finish(bundle, impeller::fb::shaderbundle::ShaderBundleIdentifier());
50 return std::make_shared<std::vector<uint8_t>>(
51 builder.GetBufferPointer(),
52 builder.GetBufferPointer() + builder.GetSize());
77TEST(FlutterGpuShaderLibraryTest, VerifierAcceptsValidBundleRejectsCorrupt) {
79 EXPECT_TRUE(impeller::fb::shaderbundle::ShaderBundleBufferHasIdentifier(
82 flatbuffers::Verifier verifier(valid->data(), valid->size());
83 EXPECT_TRUE(impeller::fb::shaderbundle::VerifyShaderBundleBuffer(verifier));
87 EXPECT_TRUE(impeller::fb::shaderbundle::ShaderBundleBufferHasIdentifier(
90 flatbuffers::Verifier verifier(corrupt->data(), corrupt->size());
92 impeller::fb::shaderbundle::VerifyShaderBundleBuffer(verifier));