Disable unit tests with KI when Tint Inspector is being used

dawn_unittests --enable-toggles=use_tint_inspector now passes.

Bug: tint:578
Change-Id: I1e764fd99a145542fe6b7c6e651b0dec1fb4785f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/34722
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
diff --git a/src/tests/unittests/validation/RenderPipelineValidationTests.cpp b/src/tests/unittests/validation/RenderPipelineValidationTests.cpp
index 7aee3c3..24c3f30 100644
--- a/src/tests/unittests/validation/RenderPipelineValidationTests.cpp
+++ b/src/tests/unittests/validation/RenderPipelineValidationTests.cpp
@@ -480,6 +480,9 @@
 // Test that declaring a storage buffer in the vertex shader without setting pipeline layout won't
 // cause crash.
 TEST_F(RenderPipelineValidationTest, StorageBufferInVertexShaderNoLayout) {
+    // TODO(rharrison): Re-enable once tint:383 is resolved.
+    DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_inspector"));
+
     wgpu::ShaderModule vsModuleWithStorageBuffer = utils::CreateShaderModuleFromWGSL(device, R"(
         [[block]] struct Dst {
             [[offset(0)]] data : [[stride(4)]] array<u32, 100>;
diff --git a/src/tests/unittests/validation/StorageTextureValidationTests.cpp b/src/tests/unittests/validation/StorageTextureValidationTests.cpp
index af7b8ad..4b0289d 100644
--- a/src/tests/unittests/validation/StorageTextureValidationTests.cpp
+++ b/src/tests/unittests/validation/StorageTextureValidationTests.cpp
@@ -122,6 +122,9 @@
 // Validate read-only storage textures can be declared in vertex and fragment shaders, while
 // writeonly storage textures cannot be used in vertex shaders.
 TEST_F(StorageTextureValidationTests, RenderPipeline) {
+    // TODO(rharrison): Re-enable once https://dawn-review.googlesource.com/c/tint/+/34424 lands
+    DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_inspector"));
+
     // Readonly storage texture can be declared in a vertex shader.
     {
         wgpu::ShaderModule vsModule = utils::CreateShaderModuleFromWGSL(device, R"(
@@ -194,6 +197,9 @@
 // Validate both read-only and write-only storage textures can be declared in
 // compute shaders.
 TEST_F(StorageTextureValidationTests, ComputePipeline) {
+    // TODO(rharrison): Re-enable once https://dawn-review.googlesource.com/c/tint/+/34424 lands
+    DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_inspector"));
+
     // Read-only storage textures can be declared in a compute shader.
     {
         wgpu::ShaderModule csModule = utils::CreateShaderModuleFromWGSL(device, R"(
diff --git a/src/tests/unittests/validation/ValidationTest.cpp b/src/tests/unittests/validation/ValidationTest.cpp
index b42d093..a4695c6 100644
--- a/src/tests/unittests/validation/ValidationTest.cpp
+++ b/src/tests/unittests/validation/ValidationTest.cpp
@@ -19,6 +19,8 @@
 #include "dawn/webgpu.h"
 #include "dawn_native/NullBackend.h"
 
+#include <algorithm>
+
 void ValidationTest::SetUp() {
     instance = std::make_unique<dawn_native::Instance>();
     instance->DiscoverDefaultAdapters();
@@ -97,6 +99,13 @@
 #endif
 }
 
+bool ValidationTest::HasToggleEnabled(const char* toggle) const {
+    auto toggles = dawn_native::GetTogglesUsed(device.Get());
+    return std::find_if(toggles.begin(), toggles.end(), [toggle](const char* name) {
+               return strcmp(toggle, name) == 0;
+           }) != toggles.end();
+}
+
 wgpu::Device ValidationTest::CreateTestDevice() {
     return wgpu::Device::Acquire(adapter.CreateDevice());
 }
diff --git a/src/tests/unittests/validation/ValidationTest.h b/src/tests/unittests/validation/ValidationTest.h
index cb1da5b..79f9cce 100644
--- a/src/tests/unittests/validation/ValidationTest.h
+++ b/src/tests/unittests/validation/ValidationTest.h
@@ -76,6 +76,7 @@
     };
 
     bool HasWGSL() const;
+    bool HasToggleEnabled(const char* toggle) const;
 
   protected:
     virtual wgpu::Device CreateTestDevice();