main: make sure all testing output goes to the same place
Этот коммит содержится в:
		
							родитель
							
								
									84a3273131
								
							
						
					
					
						коммит
						4a81cac53b
					
				
					 1 изменённых файлов: 12 добавлений и 5 удалений
				
			
		
							
								
								
									
										17
									
								
								main.go
									
										
									
									
									
								
							
							
						
						
									
										17
									
								
								main.go
									
										
									
									
									
								
							| 
						 | 
					@ -249,10 +249,12 @@ func Test(pkgName string, stdout, stderr io.Writer, options *compileopts.Options
 | 
				
			||||||
		flags = append(flags, "-test.count="+strconv.Itoa(*testConfig.Count))
 | 
							flags = append(flags, "-test.count="+strconv.Itoa(*testConfig.Count))
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						logToStdout := testConfig.Verbose || testConfig.BenchRegexp != ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	var buf bytes.Buffer
 | 
						var buf bytes.Buffer
 | 
				
			||||||
	var output io.Writer = &buf
 | 
						var output io.Writer = &buf
 | 
				
			||||||
	// Send the test output to stdout if -v or -bench
 | 
						// Send the test output to stdout if -v or -bench
 | 
				
			||||||
	if testConfig.Verbose || testConfig.BenchRegexp != "" {
 | 
						if logToStdout {
 | 
				
			||||||
		output = os.Stdout
 | 
							output = os.Stdout
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -318,7 +320,7 @@ func Test(pkgName string, stdout, stderr io.Writer, options *compileopts.Options
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		// if verbose or benchmarks, then output is already going to stdout
 | 
							// if verbose or benchmarks, then output is already going to stdout
 | 
				
			||||||
		// However, if we failed and weren't printing to stdout, print the output we accumulated.
 | 
							// However, if we failed and weren't printing to stdout, print the output we accumulated.
 | 
				
			||||||
		if !passed && output != os.Stdout {
 | 
							if !passed && !logToStdout {
 | 
				
			||||||
			buf.WriteTo(stdout)
 | 
								buf.WriteTo(stdout)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -331,14 +333,19 @@ func Test(pkgName string, stdout, stderr io.Writer, options *compileopts.Options
 | 
				
			||||||
		return err
 | 
							return err
 | 
				
			||||||
	})
 | 
						})
 | 
				
			||||||
	importPath := strings.TrimSuffix(result.ImportPath, ".test")
 | 
						importPath := strings.TrimSuffix(result.ImportPath, ".test")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						var w io.Writer = stdout
 | 
				
			||||||
 | 
						if logToStdout {
 | 
				
			||||||
 | 
							w = os.Stdout
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
	if err, ok := err.(loader.NoTestFilesError); ok {
 | 
						if err, ok := err.(loader.NoTestFilesError); ok {
 | 
				
			||||||
		fmt.Fprintf(stdout, "?   \t%s\t[no test files]\n", err.ImportPath)
 | 
							fmt.Fprintf(w, "?   \t%s\t[no test files]\n", err.ImportPath)
 | 
				
			||||||
		// Pretend the test passed - it at least didn't fail.
 | 
							// Pretend the test passed - it at least didn't fail.
 | 
				
			||||||
		return true, nil
 | 
							return true, nil
 | 
				
			||||||
	} else if passed {
 | 
						} else if passed {
 | 
				
			||||||
		fmt.Fprintf(stdout, "ok  \t%s\t%.3fs\n", importPath, duration.Seconds())
 | 
							fmt.Fprintf(w, "ok  \t%s\t%.3fs\n", importPath, duration.Seconds())
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		fmt.Fprintf(stdout, "FAIL\t%s\t%.3fs\n", importPath, duration.Seconds())
 | 
							fmt.Fprintf(w, "FAIL\t%s\t%.3fs\n", importPath, duration.Seconds())
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	return passed, err
 | 
						return passed, err
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Загрузка…
	
	Создание таблицы
		
		Сослаться в новой задаче