[fuzz] Do not try to validate if fuzzing failed

When the fuzzer target fails gracefully we should not validate because
the module may be in a bad state.

Fixed: 522472309
Change-Id: I0386242074118d33221afc5b5de78e522e2ef691
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/316997
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Auto-Submit: James Price <jrprice@google.com>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
diff --git a/src/tint/cmd/fuzz/ir/fuzz.cc b/src/tint/cmd/fuzz/ir/fuzz.cc
index aebcb7b..ae8fc64 100644
--- a/src/tint/cmd/fuzz/ir/fuzz.cc
+++ b/src/tint/cmd/fuzz/ir/fuzz.cc
@@ -126,8 +126,11 @@
             ir_context.options.dump_ir_when_validating = context.options.dump_ir_when_validating;
             ir_context.options.disable_ir_validator = context.options.disable_ir_validator;
             auto result = fn(ir.Get(), ir_context, data);
-            if (result != Success && context.options.verbose) {
-                std::cout << "   " << result.Failure() << "\n";
+            if (result != Success) {
+                if (context.options.verbose) {
+                    std::cout << "   " << result.Failure() << "\n";
+                }
+                return;
             }
 
             if (!context.options.disable_ir_validator) {