60TEST(ShaderArchiveTest, ReturnsErrorOnInvalidVersion) {
61 fb::ShaderArchiveT shader_archive;
62 shader_archive.format_version = -1;
64 auto builder = std::make_shared<flatbuffers::FlatBufferBuilder>();
65 builder->Finish(fb::ShaderArchive::Pack(*builder.get(), &shader_archive),
66 fb::ShaderArchiveIdentifier());
67 auto mapping = std::make_shared<fml::NonOwnedMapping>(
68 builder->GetBufferPointer(), builder->GetSize(),
69 [builder](
auto,
auto) {});
72 ASSERT_FALSE(library.ok());
73 ASSERT_EQ(library.status().code(), absl::StatusCode::kInvalidArgument);
74 std::stringstream stream;
75 stream <<
"Unsupported shader archive format version. Expected: "
76 <<
static_cast<uint32_t
>(fb::ShaderArchiveFormatVersion::kVersion)
77 <<
", Got: 4294967295";
78 ASSERT_EQ(library.status().message(), stream.str());
81TEST(ShaderArchiveTest, RejectsCorruptBufferWithValidIdentifier) {
85 auto data = std::make_shared<std::vector<uint8_t>>(32, 0);
94 auto mapping = std::make_shared<fml::NonOwnedMapping>(
97 ASSERT_FALSE(archive.ok());
98 EXPECT_EQ(archive.status().code(), absl::StatusCode::kInvalidArgument);