testing: replace spaces with underscores in test/benchmark names, as upstream does
Этот коммит содержится в:
		
							родитель
							
								
									f80efa5b8b
								
							
						
					
					
						коммит
						a888d6245d
					
				
					 3 изменённых файлов: 48 добавлений и 2 удалений
				
			
		|  | @ -329,7 +329,7 @@ func (b *B) processBench(ctx *benchContext) { | ||||||
| // least once will not be measured itself and will be called once with N=1. | // least once will not be measured itself and will be called once with N=1. | ||||||
| func (b *B) Run(name string, f func(b *B)) bool { | func (b *B) Run(name string, f func(b *B)) bool { | ||||||
| 	if b.level > 0 { | 	if b.level > 0 { | ||||||
| 		name = b.name + "/" + name | 		name = b.name + "/" + rewrite(name) | ||||||
| 	} | 	} | ||||||
| 	b.hasSub = true | 	b.hasSub = true | ||||||
| 	sub := &B{ | 	sub := &B{ | ||||||
|  |  | ||||||
							
								
								
									
										46
									
								
								src/testing/match.go
									
										
									
									
									
										Обычный файл
									
								
							
							
						
						
									
										46
									
								
								src/testing/match.go
									
										
									
									
									
										Обычный файл
									
								
							|  | @ -0,0 +1,46 @@ | ||||||
|  | // Copyright 2015 The Go Authors. All rights reserved. | ||||||
|  | // Use of this source code is governed by a BSD-style | ||||||
|  | // license that can be found in the LICENSE file. | ||||||
|  | 
 | ||||||
|  | package testing | ||||||
|  | 
 | ||||||
|  | import ( | ||||||
|  | 	"strconv" | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | // rewrite rewrites a subname to having only printable characters and no white | ||||||
|  | // space. | ||||||
|  | func rewrite(s string) string { | ||||||
|  | 	b := []byte{} | ||||||
|  | 	for _, r := range s { | ||||||
|  | 		switch { | ||||||
|  | 		case isSpace(r): | ||||||
|  | 			b = append(b, '_') | ||||||
|  | 		case !strconv.IsPrint(r): | ||||||
|  | 			s := strconv.QuoteRune(r) | ||||||
|  | 			b = append(b, s[1:len(s)-1]...) | ||||||
|  | 		default: | ||||||
|  | 			b = append(b, string(r)...) | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	return string(b) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func isSpace(r rune) bool { | ||||||
|  | 	if r < 0x2000 { | ||||||
|  | 		switch r { | ||||||
|  | 		// Note: not the same as Unicode Z class. | ||||||
|  | 		case '\t', '\n', '\v', '\f', '\r', ' ', 0x85, 0xA0, 0x1680: | ||||||
|  | 			return true | ||||||
|  | 		} | ||||||
|  | 	} else { | ||||||
|  | 		if r <= 0x200a { | ||||||
|  | 			return true | ||||||
|  | 		} | ||||||
|  | 		switch r { | ||||||
|  | 		case 0x2028, 0x2029, 0x202f, 0x205f, 0x3000: | ||||||
|  | 			return true | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	return false | ||||||
|  | } | ||||||
|  | @ -211,7 +211,7 @@ func (t *T) Run(name string, f func(t *T)) bool { | ||||||
| 	// Create a subtest. | 	// Create a subtest. | ||||||
| 	sub := T{ | 	sub := T{ | ||||||
| 		common: common{ | 		common: common{ | ||||||
| 			name:   t.name + "/" + name, | 			name:   t.name + "/" + rewrite(name), | ||||||
| 			indent: t.indent + "    ", | 			indent: t.indent + "    ", | ||||||
| 		}, | 		}, | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
		Загрузка…
	
	Создание таблицы
		
		Сослаться в новой задаче
	
	 Dan Kegel
						Dan Kegel