Fix missing printed errors from run-parallel These errors were captured, but not printed. Fix the lint error that was not being displayed. Change-Id: I56da5c3a044b8a8e41695883ce780aca6245ad04 Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44780 Reviewed-by: Antonio Maiorano <amaiorano@google.com> Commit-Queue: Ben Clayton <bclayton@google.com>
diff --git a/src/reader/wgsl/parser_impl_function_header_test.cc b/src/reader/wgsl/parser_impl_function_header_test.cc index 7884613..9ab7319 100644 --- a/src/reader/wgsl/parser_impl_function_header_test.cc +++ b/src/reader/wgsl/parser_impl_function_header_test.cc
@@ -43,7 +43,7 @@ EXPECT_EQ(f->name, "main"); EXPECT_EQ(f->params.size(), 0u); EXPECT_TRUE(f->return_type->Is<type::F32>()); - ASSERT_TRUE(f->return_type_decorations.size() == 1u); + ASSERT_EQ(f->return_type_decorations.size(), 1u); auto* loc = f->return_type_decorations[0]->As<ast::LocationDecoration>(); ASSERT_TRUE(loc != nullptr); EXPECT_EQ(loc->value(), 1u);
diff --git a/tools/run-parallel/main.go b/tools/run-parallel/main.go index 4fd3e48..98bc59b 100644 --- a/tools/run-parallel/main.go +++ b/tools/run-parallel/main.go
@@ -74,7 +74,11 @@ } taskIndices := make(chan int, 64) - results := make([]string, len(perInstanceValues)) + type result struct { + msg string + success bool + } + results := make([]result, len(perInstanceValues)) numCPU := runtime.NumCPU() wg := sync.WaitGroup{} @@ -89,7 +93,7 @@ } success, out := invoke(exe, taskArgs) if !success || !*onlyPrintFailures { - results[idx] = out + results[idx] = result{out, success} } } }() @@ -102,12 +106,16 @@ wg.Wait() - for _, output := range results { - if output != "" { - fmt.Println(output) + success := true + for _, result := range results { + if result.msg != "" { + fmt.Println(result.msg) } + success = success && result.success } - + if !success { + os.Exit(1) + } return nil } @@ -116,7 +124,10 @@ out, err := cmd.CombinedOutput() str := string(out) if err != nil { - return false, "\n" + err.Error() + if str != "" { + return false, str + } + return false, err.Error() } return true, str }