Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(19)

Side by Side Diff: fiddle/go/builder/builder_test.go

Issue 1933943002: fiddle: fix build (Closed) Base URL: https://skia.googlesource.com/buildbot@master
Patch Set: remove all the reversing Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « fiddle/go/builder/builder.go ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 package builder 1 package builder
2 2
3 import ( 3 import (
4 "fmt" 4 "fmt"
5 "io/ioutil" 5 "io/ioutil"
6 "os" 6 "os"
7 "path/filepath" 7 "path/filepath"
8 "strings" 8 "strings"
9 "testing" 9 "testing"
10 "time" 10 "time"
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 } else { 80 } else {
81 return nil, fmt.Errorf("Not found") 81 return nil, fmt.Errorf("Not found")
82 } 82 }
83 } 83 }
84 84
85 func TestDecimate(t *testing.T) { 85 func TestDecimate(t *testing.T) {
86 now := time.Now() 86 now := time.Now()
87 mock := &mockVcs{ 87 mock := &mockVcs{
88 commits: map[string]*vcsinfo.LongCommit{ 88 commits: map[string]*vcsinfo.LongCommit{
89 "aaa": &vcsinfo.LongCommit{ 89 "aaa": &vcsinfo.LongCommit{
90 » » » » Timestamp: now.Add(time.Second), 90 » » » » Timestamp: now.Add(-62 * 24 * time.Hour),
91 }, 91 },
92 "bbb": &vcsinfo.LongCommit{ 92 "bbb": &vcsinfo.LongCommit{
93 » » » » Timestamp: now.Add(-2 * time.Second), 93 » » » » Timestamp: now.Add(-31 * 24 * time.Hour),
94 }, 94 },
95 "ccc": &vcsinfo.LongCommit{ 95 "ccc": &vcsinfo.LongCommit{
96 » » » » Timestamp: now.Add(-3 * time.Second), 96 » » » » Timestamp: now.Add(-5 * time.Second),
97 }, 97 },
98 "ddd": &vcsinfo.LongCommit{ 98 "ddd": &vcsinfo.LongCommit{
99 Timestamp: now.Add(-4 * time.Second), 99 Timestamp: now.Add(-4 * time.Second),
100 }, 100 },
101 "eee": &vcsinfo.LongCommit{ 101 "eee": &vcsinfo.LongCommit{
102 » » » » Timestamp: now.Add(-5 * time.Second), 102 » » » » Timestamp: now.Add(-3 * time.Second),
103 }, 103 },
104 "fff": &vcsinfo.LongCommit{ 104 "fff": &vcsinfo.LongCommit{
105 » » » » Timestamp: now.Add(-31 * 24 * time.Hour), 105 » » » » Timestamp: now.Add(-2 * time.Second),
106 }, 106 },
107 "ggg": &vcsinfo.LongCommit{ 107 "ggg": &vcsinfo.LongCommit{
108 » » » » Timestamp: now.Add(-62 * 24 * time.Hour), 108 » » » » Timestamp: now.Add(time.Second),
109 }, 109 },
110 }, 110 },
111 } 111 }
112 112
113 // No change if number if items < limit. 113 // No change if number if items < limit.
114 » keep, remove, err := decimate([]string{"aaa", "bbb", "ccc"}, mock, 4) 114 » keep, remove, err := decimate([]string{"eee", "fff", "ggg"}, mock, 4)
115 assert.NoError(t, err) 115 assert.NoError(t, err)
116 » assert.Equal(t, keep, []string{"aaa", "bbb", "ccc"}, "") 116 » assert.Equal(t, keep, []string{"eee", "fff", "ggg"}, "")
117 assert.Equal(t, remove, []string{}) 117 assert.Equal(t, remove, []string{})
118 118
119 // Proper decimation if items == limit. 119 // Proper decimation if items == limit.
120 » keep, remove, err = decimate([]string{"aaa", "bbb", "ccc", "ddd"}, mock, 4) 120 » keep, remove, err = decimate([]string{"ddd", "eee", "fff", "ggg"}, mock, 4)
121 assert.NoError(t, err) 121 assert.NoError(t, err)
122 » assert.Equal(t, keep, []string{"aaa", "ccc"}) 122 » assert.Equal(t, keep, []string{"ddd", "fff", "ggg"})
123 » assert.Equal(t, remove, []string{"bbb", "ddd"}) 123 » assert.Equal(t, remove, []string{"eee"})
124 124
125 // Proper decimation if items > limit. 125 // Proper decimation if items > limit.
126 » keep, remove, err = decimate([]string{"aaa", "bbb", "ccc", "ddd", "eee"} , mock, 4) 126 » keep, remove, err = decimate([]string{"ccc", "ddd", "eee", "fff", "ggg"} , mock, 4)
127 assert.NoError(t, err) 127 assert.NoError(t, err)
128 » assert.Equal(t, keep, []string{"aaa", "ccc", "eee"}) 128 » assert.Equal(t, keep, []string{"ccc", "eee", "ggg"})
129 » assert.Equal(t, remove, []string{"bbb", "ddd"}) 129 » assert.Equal(t, remove, []string{"ddd", "fff"})
130 130
131 // Proper decimation (none) if we end up with less than 'limit' items af ter removing keepers. 131 // Proper decimation (none) if we end up with less than 'limit' items af ter removing keepers.
132 » keep, remove, err = decimate([]string{"aaa", "bbb", "ccc", "fff"}, mock, 4) 132 » keep, remove, err = decimate([]string{"bbb", "ddd", "eee"}, mock, 4)
133 assert.NoError(t, err) 133 assert.NoError(t, err)
134 » assert.Equal(t, []string{"aaa", "bbb", "ccc", "fff"}, keep) 134 » assert.Equal(t, []string{"bbb", "ddd", "eee"}, keep)
135 assert.Equal(t, []string{}, remove) 135 assert.Equal(t, []string{}, remove)
136 136
137 // Proper decimation (none) if we end up with less than 'limit' items af ter removing keepers. 137 // Proper decimation (none) if we end up with less than 'limit' items af ter removing keepers.
138 // "ccc", "fff", and "ggg" are keepers, leaving just 3 to decimate. 138 // "ccc", "fff", and "ggg" are keepers, leaving just 3 to decimate.
139 keep, remove, err = decimate([]string{"aaa", "bbb", "ccc", "fff", "ggg"} , mock, 4) 139 keep, remove, err = decimate([]string{"aaa", "bbb", "ccc", "fff", "ggg"} , mock, 4)
140 assert.NoError(t, err) 140 assert.NoError(t, err)
141 assert.Equal(t, []string{"aaa", "bbb", "ccc", "fff", "ggg"}, keep) 141 assert.Equal(t, []string{"aaa", "bbb", "ccc", "fff", "ggg"}, keep)
142 assert.Equal(t, []string{}, remove) 142 assert.Equal(t, []string{}, remove)
143 143
144 // Proper decimation if we end up with enough 'limit' items after removi ng keepers. 144 // Proper decimation if we end up with enough 'limit' items after removi ng keepers.
145 keep, remove, err = decimate([]string{"aaa", "bbb", "ccc", "ddd", "eee", "fff", "ggg"}, mock, 4) 145 keep, remove, err = decimate([]string{"aaa", "bbb", "ccc", "ddd", "eee", "fff", "ggg"}, mock, 4)
146 assert.NoError(t, err) 146 assert.NoError(t, err)
147 » assert.Equal(t, []string{"aaa", "ccc", "eee", "fff", "ggg"}, keep) 147 » assert.Equal(t, []string{"aaa", "bbb", "ccc", "eee", "ggg"}, keep)
148 » assert.Equal(t, []string{"bbb", "ddd"}, remove) 148 » assert.Equal(t, []string{"ddd", "fff"}, remove)
149 } 149 }
150 150
151 func TestCurrent(t *testing.T) { 151 func TestCurrent(t *testing.T) {
152 now := time.Now() 152 now := time.Now()
153 mockRepo := &mockVcs{ 153 mockRepo := &mockVcs{
154 commits: map[string]*vcsinfo.LongCommit{ 154 commits: map[string]*vcsinfo.LongCommit{
155 "aaa": &vcsinfo.LongCommit{ 155 "aaa": &vcsinfo.LongCommit{
156 ShortCommit: &vcsinfo.ShortCommit{ 156 ShortCommit: &vcsinfo.ShortCommit{
157 Hash: "aaa", 157 Hash: "aaa",
158 }, 158 },
159 Timestamp: now.Add(time.Second), 159 Timestamp: now.Add(time.Second),
160 }, 160 },
161 }, 161 },
162 } 162 }
163 testData := []string{ 163 testData := []string{
164 "aaa", 164 "aaa",
165 } 165 }
166 b, cleanup := setupTemp(t, testData, mockRepo) 166 b, cleanup := setupTemp(t, testData, mockRepo)
167 defer cleanup() 167 defer cleanup()
168 assert.Equal(t, "aaa", b.Current().Hash) 168 assert.Equal(t, "aaa", b.Current().Hash)
169 } 169 }
170 170
171 func TestCurrentNoBuilds(t *testing.T) { 171 func TestCurrentNoBuilds(t *testing.T) {
172 mockRepo := &mockVcs{} 172 mockRepo := &mockVcs{}
173 testData := []string{} 173 testData := []string{}
174 b, cleanup := setupTemp(t, testData, mockRepo) 174 b, cleanup := setupTemp(t, testData, mockRepo)
175 defer cleanup() 175 defer cleanup()
176 assert.Equal(t, "unknown", b.Current().Hash) 176 assert.Equal(t, "unknown", b.Current().Hash)
177 } 177 }
OLDNEW
« no previous file with comments | « fiddle/go/builder/builder.go ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698