-
Notifications
You must be signed in to change notification settings - Fork 2
/
gslbutil_test.go
132 lines (106 loc) · 2.82 KB
/
gslbutil_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
// Our example hello world
package main
import (
"fmt"
"strings"
"testing"
)
var tableTestQuotedStringToWords = []struct {
in string
out string
}{
{"a b \"c d\"", `[]string{"a", "b", "\"c d\""}`},
{"a b 'c d'", `[]string{"a", "b", "'c d'"}`},
}
func TestQuotedStringToWords(t *testing.T) {
initGlobal("t/etc")
// Make sure that the interface to QuotedStringToWords has not broken.
// One obnoxious behavior it has, is that quoted words and strings.. remain quoted
// Since other parts of our app are now expecting it, we need to keep an eye on it.
for _, tt := range tableTestQuotedStringToWords {
// tt.in tt.out
res := QuotedStringToWords(tt.in)
found := fmt.Sprintf("%#v", res)
if found == tt.out {
t.Logf("QuotedStringToWords(%v) good", tt.in)
} else {
t.Errorf("QuotedStringToWords(%v) should return %s, found %s", tt.in, tt.out, found)
}
}
}
func BenchmarkQuotedStringToWords(b *testing.B) {
initGlobal("t/etc")
// Expensive stuff first
b.ReportAllocs()
b.ResetTimer()
// Now loop the important part of the benchmark
for n := 0; n < b.N; n++ {
_ = QuotedStringToWords(tableTestQuotedStringToWords[0].in)
}
}
func BenchmarkOurToUpper20(b *testing.B) {
initGlobal("t/etc")
s := "Hello, World.Hello,"
// Expensive stuff first
b.ReportAllocs()
b.ResetTimer()
// Now loop the important part of the benchmark
for n := 0; n < b.N; n++ {
_ = toUpper(s)
}
}
func BenchmarkOurToUpper40(b *testing.B) {
initGlobal("t/etc")
s := "Hello, World.Hello, World.Hello, World.H"
// Expensive stuff first
b.ReportAllocs()
b.ResetTimer()
// Now loop the important part of the benchmark
for n := 0; n < b.N; n++ {
_ = toUpper(s)
}
}
func BenchmarkOurToUpper80(b *testing.B) {
initGlobal("t/etc")
s := "Hello, World.Hello, World.Hello, World.Hello, World.Hello, World.Hello, World.He"
// Expensive stuff first
b.ReportAllocs()
b.ResetTimer()
// Now loop the important part of the benchmark
for n := 0; n < b.N; n++ {
_ = toUpper(s)
}
}
func BenchmarkStringToUpper20(b *testing.B) {
initGlobal("t/etc")
s := "Hello, World.Hello,"
// Expensive stuff first
b.ReportAllocs()
b.ResetTimer()
// Now loop the important part of the benchmark
for n := 0; n < b.N; n++ {
_ = strings.ToUpper(s)
}
}
func BenchmarkStringToUpper40(b *testing.B) {
initGlobal("t/etc")
s := "Hello, World.Hello, World.Hello, World.H"
// Expensive stuff first
b.ReportAllocs()
b.ResetTimer()
// Now loop the important part of the benchmark
for n := 0; n < b.N; n++ {
_ = strings.ToUpper(s)
}
}
func BenchmarkStringToUpper80(b *testing.B) {
initGlobal("t/etc")
s := "Hello, World.Hello, World.Hello, World.Hello, World.Hello, World.Hello, World.He"
// Expensive stuff first
b.ReportAllocs()
b.ResetTimer()
// Now loop the important part of the benchmark
for n := 0; n < b.N; n++ {
_ = strings.ToUpper(s)
}
}