From 4b8ccd2e425bd08923c8b41a626cfbe45d405009 Mon Sep 17 00:00:00 2001 From: Hashaam Zafar Date: Thu, 15 Oct 2026 14:04:10 -0700 Subject: [PATCH] test(agc): write more pixels than a pipe holds in the closed-pipe case PixelFailure wrote a 128x128 payload, exactly the 64 KiB a default Linux pipe holds. Once the consumer read the 54-byte header, the whole payload fit in the pipe, so the write could finish before the reader closed and the expected EPIPE never came. agc_frame_dump_io failed in 147 of 300 runs on Linux. A 512x512 payload exceeds the default pipe capacity on Linux and macOS, so the write always reaches the closed reader. Co-Authored-By: Claude Opus 5.5 --- core/libs/prx/libSceAgcDriver/tests/FrameDumpIo.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/libs/prx/libSceAgcDriver/tests/FrameDumpIo.cpp b/core/libs/prx/libSceAgcDriver/tests/FrameDumpIo.cpp index a23ee5531f..ec52e5f1d9 100644 --- a/core/libs/prx/libSceAgcDriver/tests/FrameDumpIo.cpp +++ b/core/libs/prx/libSceAgcDriver/tests/FrameDumpIo.cpp @@ -96,8 +96,8 @@ void PixelFailure() { } Close(reader); }); - const std::vector pixels(128 * 128 * 4); - const auto failure = AgcDriver::WriteBmpAndClose_nid_no_patch(file, 128, 128, pixels); + const std::vector pixels(512 * 512 * 4); + const auto failure = AgcDriver::WriteBmpAndClose_nid_no_patch(file, 512, 512, pixels); consumer.join(); Check(received == 54, "pixel failure did not follow a complete BMP header"); Check(failure && std::strcmp(failure.operation, "pixels") == 0, "closed pipe pixel write was accepted");