Skip the test CreateBufferOOMWithValidationError when no validation
This patch skips the test about creating a buffer with very large
buffer size and wrong buffer usage when dawn_end2end_tests is run
with toggle `skip_validation` as the tests rely on the behavior of
the validations in Dawn.
Bug: 386255678
Test: dawn_end2end_tests
Change-Id: I10121980f990728ba64fc6191d69bf20fabbab49
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/229096
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Loko Kung <lokokung@google.com>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
diff --git a/src/dawn/tests/end2end/BufferTests.cpp b/src/dawn/tests/end2end/BufferTests.cpp
index 70fa5e2..511c0fb 100644
--- a/src/dawn/tests/end2end/BufferTests.cpp
+++ b/src/dawn/tests/end2end/BufferTests.cpp
@@ -1080,9 +1080,20 @@
// UINT64_MAX may be special cased. Test a smaller, but really large buffer also fails
descriptor.size = 1ull << 50;
ASSERT_DEVICE_ERROR(device.CreateBuffer(&descriptor));
+}
- // Validation errors should always be prior to OOM.
+// Test that in the creation of buffers validation errors should always be prior to OOM.
+TEST_P(BufferTests, CreateBufferOOMWithValidationError) {
+ DAWN_TEST_UNSUPPORTED_IF(HasToggleEnabled("skip_validation"));
+
+ wgpu::BufferDescriptor descriptor;
descriptor.usage = wgpu::BufferUsage::MapRead | wgpu::BufferUsage::Uniform;
+
+ descriptor.size = std::numeric_limits<uint64_t>::max();
+ ASSERT_DEVICE_ERROR(device.CreateBuffer(&descriptor));
+
+ // UINT64_MAX may be special cased. Test a smaller, but really large buffer also fails
+ descriptor.size = 1ull << 50;
ASSERT_DEVICE_ERROR(device.CreateBuffer(&descriptor));
}