Capture: Simplify Buffer checking in tests

Bug: 451338754
Change-Id: I6a6a69649797e550cf7287919f87820ddd3c3fc4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/270274
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Gregg Tavares <gman@chromium.org>
diff --git a/src/dawn/tests/white_box/CaptureAndReplayTests.cpp b/src/dawn/tests/white_box/CaptureAndReplayTests.cpp
index 567d986..5f9d9fb 100644
--- a/src/dawn/tests/white_box/CaptureAndReplayTests.cpp
+++ b/src/dawn/tests/white_box/CaptureAndReplayTests.cpp
@@ -94,6 +94,15 @@
         std::ostringstream mCommandStream;
         std::ostringstream mContentStream;
     };
+
+    template <typename T>
+    void ExpectBufferEQ(replay::Replay* replay, const char* label, const T& expected) {
+        ASSERT_TRUE(sizeof(expected) > 0);
+        wgpu::Buffer buffer = replay->GetObjectByLabel<wgpu::Buffer>(label);
+        ASSERT_NE(buffer, nullptr);
+
+        EXPECT_BUFFER_U8_RANGE_EQ(expected, buffer, 0, sizeof(expected));
+    }
 };
 
 // During capture, makes a buffer, puts data in it.
@@ -117,12 +126,7 @@
     auto capture = recorder.Finish();
     auto replay = capture.Replay(device);
 
-    {
-        wgpu::Buffer buffer = replay->GetObjectByLabel<wgpu::Buffer>(label);
-        ASSERT_NE(buffer, nullptr);
-
-        EXPECT_BUFFER_U8_RANGE_EQ(myData, buffer, 0, sizeof(myData));
-    }
+    ExpectBufferEQ(replay.get(), label, myData);
 }
 
 // During capture, makes a buffer, puts data in it.
@@ -149,12 +153,7 @@
     auto capture = recorder.Finish();
     auto replay = capture.Replay(device);
 
-    {
-        wgpu::Buffer buffer = replay->GetObjectByLabel<wgpu::Buffer>(label);
-        ASSERT_NE(buffer, nullptr);
-
-        EXPECT_BUFFER_U8_RANGE_EQ(myData, buffer, 0, sizeof(myData));
-    }
+    ExpectBufferEQ(replay.get(), label, myData);
 }
 
 // Before capture, creates a buffer and sets half of it with WriteBuffer.
@@ -182,13 +181,8 @@
     auto capture = recorder.Finish();
     auto replay = capture.Replay(device);
 
-    {
-        wgpu::Buffer buffer = replay->GetObjectByLabel<wgpu::Buffer>(label);
-        ASSERT_NE(buffer, nullptr);
-
-        uint8_t expected[] = {0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88};
-        EXPECT_BUFFER_U8_RANGE_EQ(expected, buffer, 0, sizeof(expected));
-    }
+    uint8_t expected[] = {0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88};
+    ExpectBufferEQ(replay.get(), label, expected);
 }
 
 // Before capture, creates a buffer and sets half of it with mappedAtCreation.
@@ -218,13 +212,8 @@
     auto capture = recorder.Finish();
     auto replay = capture.Replay(device);
 
-    {
-        wgpu::Buffer buffer = replay->GetObjectByLabel<wgpu::Buffer>(label);
-        ASSERT_NE(buffer, nullptr);
-
-        uint8_t expected[] = {0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88};
-        EXPECT_BUFFER_U8_RANGE_EQ(expected, buffer, 0, sizeof(expected));
-    }
+    uint8_t expected[] = {0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88};
+    ExpectBufferEQ(replay.get(), label, expected);
 }
 
 // Before capture, creates a buffer and sets half of it with a compute shader.
@@ -280,13 +269,8 @@
     auto capture = recorder.Finish();
     auto replay = capture.Replay(device);
 
-    {
-        wgpu::Buffer buffer = replay->GetObjectByLabel<wgpu::Buffer>(label);
-        ASSERT_NE(buffer, nullptr);
-
-        uint8_t expected[] = {0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88};
-        EXPECT_BUFFER_U8_RANGE_EQ(expected, buffer, 0, sizeof(expected));
-    }
+    uint8_t expected[] = {0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88};
+    ExpectBufferEQ(replay.get(), label, expected);
 }
 
 // Before capture, creates a buffer and sets half of it with copyBufferToBuffer.
@@ -326,13 +310,8 @@
     auto capture = recorder.Finish();
     auto replay = capture.Replay(device);
 
-    {
-        wgpu::Buffer buffer = replay->GetObjectByLabel<wgpu::Buffer>(dstLabel);
-        ASSERT_NE(buffer, nullptr);
-
-        uint8_t expected[] = {0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88};
-        EXPECT_BUFFER_U8_RANGE_EQ(expected, buffer, 0, sizeof(expected));
-    }
+    uint8_t expected[] = {0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88};
+    ExpectBufferEQ(replay.get(), dstLabel, expected);
 }
 
 // During first capture, makes a buffer, puts data in it.
@@ -367,13 +346,8 @@
         auto capture = recorder.Finish();
         auto replay = capture.Replay(device);
 
-        {
-            wgpu::Buffer buffer = replay->GetObjectByLabel<wgpu::Buffer>(label);
-            ASSERT_NE(buffer, nullptr);
-
-            uint8_t expected[] = {0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88};
-            EXPECT_BUFFER_U8_RANGE_EQ(expected, buffer, 0, sizeof(expected));
-        }
+        uint8_t expected[] = {0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88};
+        ExpectBufferEQ(replay.get(), label, expected);
     }
 }
 
@@ -398,12 +372,7 @@
     auto capture = recorder.Finish();
     auto replay = capture.Replay(device);
 
-    {
-        wgpu::Buffer buffer = replay->GetObjectByLabel<wgpu::Buffer>(label);
-        ASSERT_NE(buffer, nullptr);
-
-        EXPECT_BUFFER_U8_RANGE_EQ(myData, buffer, 0, sizeof(myData));
-    }
+    ExpectBufferEQ(replay.get(), label, myData);
 }
 
 // We make 2 buffers before capture. During capture we map one buffer
@@ -445,13 +414,8 @@
     auto capture = recorder.Finish();
     auto replay = capture.Replay(device);
 
-    {
-        wgpu::Buffer buffer = replay->GetObjectByLabel<wgpu::Buffer>(dstLabel);
-        ASSERT_NE(buffer, nullptr);
-
-        uint8_t expected[] = {0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88};
-        EXPECT_BUFFER_U8_RANGE_EQ(expected, buffer, 0, sizeof(expected));
-    }
+    uint8_t expected[] = {0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88};
+    ExpectBufferEQ(replay.get(), dstLabel, expected);
 }
 
 TEST_P(CaptureAndReplayTests, CaptureCopyBufferToBuffer) {
@@ -483,12 +447,7 @@
     auto capture = recorder.Finish();
     auto replay = capture.Replay(device);
 
-    {
-        wgpu::Buffer buffer = replay->GetObjectByLabel<wgpu::Buffer>("dstBuffer");
-        ASSERT_NE(buffer, nullptr);
-
-        EXPECT_BUFFER_U8_RANGE_EQ(myData, buffer, 0, sizeof(myData));
-    }
+    ExpectBufferEQ(replay.get(), "dstBuffer", myData);
 }
 
 TEST_P(CaptureAndReplayTests, WriteTexture) {
@@ -616,12 +575,7 @@
     auto capture = recorder.Finish();
     auto replay = capture.Replay(device);
 
-    {
-        wgpu::Buffer buffer = replay->GetObjectByLabel<wgpu::Buffer>("dstBuffer");
-        ASSERT_NE(buffer, nullptr);
-
-        EXPECT_BUFFER_U8_RANGE_EQ(myData, buffer, 0, sizeof(myData));
-    }
+    ExpectBufferEQ(replay.get(), "dstBuffer", myData);
 }
 
 TEST_P(CaptureAndReplayTests, CaptureCopyTextureToTexture) {
@@ -948,13 +902,8 @@
     auto capture = recorder.Finish();
     auto replay = capture.Replay(device);
 
-    {
-        wgpu::Buffer buffer = replay->GetObjectByLabel<wgpu::Buffer>(label);
-        ASSERT_NE(buffer, nullptr);
-
-        uint8_t expected[] = {0x11, 0x22, 0x33, 0x44};
-        EXPECT_BUFFER_U8_RANGE_EQ(expected, buffer, 0, sizeof(expected));
-    }
+    uint8_t expected[] = {0x11, 0x22, 0x33, 0x44};
+    ExpectBufferEQ(replay.get(), label, expected);
 }
 
 // Capture and replay the simplest compute shader but set the bindGroup
@@ -1007,13 +956,8 @@
     auto capture = recorder.Finish();
     auto replay = capture.Replay(device);
 
-    {
-        wgpu::Buffer buffer = replay->GetObjectByLabel<wgpu::Buffer>(label);
-        ASSERT_NE(buffer, nullptr);
-
-        uint8_t expected[] = {0x11, 0x22, 0x33, 0x44};
-        EXPECT_BUFFER_U8_RANGE_EQ(expected, buffer, 0, sizeof(expected));
-    }
+    uint8_t expected[] = {0x11, 0x22, 0x33, 0x44};
+    ExpectBufferEQ(replay.get(), label, expected);
 }
 
 // Capture and replay 2 auto-layout compute pipelines with the same layout
@@ -1089,21 +1033,11 @@
     auto capture = recorder.Finish();
     auto replay = capture.Replay(device);
 
-    {
-        wgpu::Buffer buffer = replay->GetObjectByLabel<wgpu::Buffer>("buffer1");
-        ASSERT_NE(buffer, nullptr);
+    uint8_t expected1[] = {0x11, 0x22, 0x33, 0x44};
+    ExpectBufferEQ(replay.get(), "buffer1", expected1);
 
-        uint8_t expected[] = {0x11, 0x22, 0x33, 0x44};
-        EXPECT_BUFFER_U8_RANGE_EQ(expected, buffer, 0, sizeof(expected));
-    }
-
-    {
-        wgpu::Buffer buffer = replay->GetObjectByLabel<wgpu::Buffer>("buffer2");
-        ASSERT_NE(buffer, nullptr);
-
-        uint8_t expected[] = {0x55, 0x66, 0x77, 0x88};
-        EXPECT_BUFFER_U8_RANGE_EQ(expected, buffer, 0, sizeof(expected));
-    }
+    uint8_t expected2[] = {0x55, 0x66, 0x77, 0x88};
+    ExpectBufferEQ(replay.get(), "buffer2", expected2);
 }
 
 // Capture and replay 2 bindGroups that use implicit bindGroupLayouts from
@@ -1174,13 +1108,8 @@
     auto capture = recorder.Finish();
     auto replay = capture.Replay(device);
 
-    {
-        wgpu::Buffer buffer = replay->GetObjectByLabel<wgpu::Buffer>("buffer");
-        ASSERT_NE(buffer, nullptr);
-
-        uint8_t expected[] = {0x55, 0x66, 0x77, 0x88};
-        EXPECT_BUFFER_U8_RANGE_EQ(expected, buffer, 0, sizeof(expected));
-    }
+    uint8_t expected[] = {0x55, 0x66, 0x77, 0x88};
+    ExpectBufferEQ(replay.get(), "buffer", expected);
 }
 
 // Capture and replay the simplest render pass.
@@ -1448,13 +1377,8 @@
     auto capture = recorder.Finish();
     auto replay = capture.Replay(device);
 
-    {
-        wgpu::Buffer buffer = replay->GetObjectByLabel<wgpu::Buffer>(label);
-        ASSERT_NE(buffer, nullptr);
-
-        uint8_t expected[] = {0x11, 0x22, 0x33, 0x44};
-        EXPECT_BUFFER_U8_RANGE_EQ(expected, buffer, 0, sizeof(expected));
-    }
+    uint8_t expected[] = {0x11, 0x22, 0x33, 0x44};
+    ExpectBufferEQ(replay.get(), label, expected);
 }
 
 // Capture and replay a pass that uses a storage texture
@@ -1620,13 +1544,8 @@
     auto capture = recorder.Finish();
     auto replay = capture.Replay(device);
 
-    {
-        wgpu::Buffer buffer = replay->GetObjectByLabel<wgpu::Buffer>("myBuffer");
-        ASSERT_NE(buffer, nullptr);
-
-        uint8_t expected[] = {0x11, 0x22, 0x33, 0x44};
-        EXPECT_BUFFER_U8_RANGE_EQ(expected, buffer, 0, sizeof(expected));
-    }
+    uint8_t expected[] = {0x11, 0x22, 0x33, 0x44};
+    ExpectBufferEQ(replay.get(), "myBuffer", expected);
 }
 
 DAWN_INSTANTIATE_TEST(CaptureAndReplayTests, WebGPUBackend());