Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit d368b87

Browse files
Log the results when ShellTest.Screenshot fails (#20932)
This test has been flaky on LUCI recently. See flutter/flutter#65026
1 parent 5047e5a commit d368b87

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

shell/common/shell_unittests.cc

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1482,6 +1482,21 @@ TEST_F(ShellTest, IsolateCanAccessPersistentIsolateData) {
14821482
DestroyShell(std::move(shell), std::move(task_runners));
14831483
}
14841484

1485+
static void LogSkData(sk_sp<SkData> data, const char* title) {
1486+
FML_LOG(ERROR) << "---------- " << title;
1487+
std::ostringstream ostr;
1488+
for (size_t i = 0; i < data->size();) {
1489+
ostr << std::hex << std::setfill('0') << std::setw(2)
1490+
<< static_cast<int>(data->bytes()[i]) << " ";
1491+
i++;
1492+
if (i % 16 == 0 || i == data->size()) {
1493+
FML_LOG(ERROR) << ostr.str();
1494+
ostr.str("");
1495+
ostr.clear();
1496+
}
1497+
}
1498+
}
1499+
14851500
TEST_F(ShellTest, Screenshot) {
14861501
auto settings = CreateSettingsForFixture();
14871502
fml::AutoResetWaitableEvent firstFrameLatch;
@@ -1538,7 +1553,12 @@ TEST_F(ShellTest, Screenshot) {
15381553
sk_sp<SkData> reference_data = SkData::MakeWithoutCopy(
15391554
reference_png->GetMapping(), reference_png->GetSize());
15401555

1541-
ASSERT_TRUE(reference_data->equals(screenshot_future.get().data.get()));
1556+
sk_sp<SkData> screenshot_data = screenshot_future.get().data;
1557+
if (!reference_data->equals(screenshot_data.get())) {
1558+
LogSkData(reference_data, "reference");
1559+
LogSkData(screenshot_data, "screenshot");
1560+
ASSERT_TRUE(false);
1561+
}
15421562

15431563
DestroyShell(std::move(shell));
15441564
}

0 commit comments

Comments
 (0)