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

Side by Side Diff: go/swarming/swarming_test.go

Issue 1989863002: Make hard and IO timeouts configurable in swarming.go (Closed) Base URL: https://skia.googlesource.com/buildbot@ct-2-gs
Patch Set: Cleanup 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
« go/swarming/swarming.go ('K') | « go/swarming/swarming.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 swarming 1 package swarming
2 2
3 import ( 3 import (
4 "encoding/json" 4 "encoding/json"
5 "fmt" 5 "fmt"
6 "io/ioutil" 6 "io/ioutil"
7 "path" 7 "path"
8 "path/filepath" 8 "path/filepath"
9 "strings" 9 "strings"
10 "testing" 10 "testing"
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 assert.Nil(t, err) 99 assert.Nil(t, err)
100 assert.Equal(t, 2, len(tasksToHashes)) 100 assert.Equal(t, 2, len(tasksToHashes))
101 for _, taskName := range taskNames { 101 for _, taskName := range taskNames {
102 hash, exists := tasksToHashes[taskName] 102 hash, exists := tasksToHashes[taskName]
103 assert.True(t, exists) 103 assert.True(t, exists)
104 assert.NotNil(t, hash) 104 assert.NotNil(t, hash)
105 } 105 }
106 106
107 // Trigger swarming using the isolate hashes. 107 // Trigger swarming using the isolate hashes.
108 dimensions := map[string]string{"pool": "Chrome"} 108 dimensions := map[string]string{"pool": "Chrome"}
109 » tasks, err := s.TriggerSwarmingTasks(tasksToHashes, dimensions, RECOMMEN DED_PRIORITY, RECOMMENDED_EXPIRATION, false) 109 » tasks, err := s.TriggerSwarmingTasks(tasksToHashes, dimensions, RECOMMEN DED_PRIORITY, RECOMMENDED_EXPIRATION, RECOMMENDED_HARD_TIMEOUT, RECOMMENDED_IO_T IMEOUT, false)
110 assert.Nil(t, err) 110 assert.Nil(t, err)
111 111
112 // Collect both output and file output of all tasks. 112 // Collect both output and file output of all tasks.
113 for _, task := range tasks { 113 for _, task := range tasks {
114 output, outputDir, err := task.Collect(s) 114 output, outputDir, err := task.Collect(s)
115 assert.Nil(t, err) 115 assert.Nil(t, err)
116 output = sanitizeOutput(output) 116 output = sanitizeOutput(output)
117 assert.Equal(t, fmt.Sprintf("arg_1_%s\narg_2_%s\n", task.Title, task.Title), output) 117 assert.Equal(t, fmt.Sprintf("arg_1_%s\narg_2_%s\n", task.Title, task.Title), output)
118 // Verify contents of the outputDir. 118 // Verify contents of the outputDir.
119 rawFileOutput, err := ioutil.ReadFile(path.Join(outputDir, "outp ut.txt")) 119 rawFileOutput, err := ioutil.ReadFile(path.Join(outputDir, "outp ut.txt"))
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 assert.Nil(t, err) 161 assert.Nil(t, err)
162 assert.Equal(t, 2, len(tasksToHashes)) 162 assert.Equal(t, 2, len(tasksToHashes))
163 for _, taskName := range taskNames { 163 for _, taskName := range taskNames {
164 hash, exists := tasksToHashes[taskName] 164 hash, exists := tasksToHashes[taskName]
165 assert.True(t, exists) 165 assert.True(t, exists)
166 assert.NotNil(t, hash) 166 assert.NotNil(t, hash)
167 } 167 }
168 168
169 // Trigger swarming using the isolate hashes. 169 // Trigger swarming using the isolate hashes.
170 dimensions := map[string]string{"pool": "Chrome"} 170 dimensions := map[string]string{"pool": "Chrome"}
171 » tasks, err := s.TriggerSwarmingTasks(tasksToHashes, dimensions, RECOMMEN DED_PRIORITY, RECOMMENDED_EXPIRATION, false) 171 » tasks, err := s.TriggerSwarmingTasks(tasksToHashes, dimensions, RECOMMEN DED_PRIORITY, RECOMMENDED_EXPIRATION, RECOMMENDED_HARD_TIMEOUT, RECOMMENDED_IO_T IMEOUT, false)
172 assert.Nil(t, err) 172 assert.Nil(t, err)
173 173
174 // Collect testTask1. It should have failed. 174 // Collect testTask1. It should have failed.
175 output1, outputDir1, err1 := tasks[0].Collect(s) 175 output1, outputDir1, err1 := tasks[0].Collect(s)
176 output1 = sanitizeOutput(output1) 176 output1 = sanitizeOutput(output1)
177 assert.Equal(t, "", output1) 177 assert.Equal(t, "", output1)
178 assert.Equal(t, "", outputDir1) 178 assert.Equal(t, "", outputDir1)
179 assert.NotNil(t, err1) 179 assert.NotNil(t, err1)
180 assert.True(t, strings.HasPrefix(err1.Error(), "Swarming trigger for tes tTask1 failed with: Command exited with exit status 1: ")) 180 assert.True(t, strings.HasPrefix(err1.Error(), "Swarming trigger for tes tTask1 failed with: Command exited with exit status 1: "))
181 181
182 // Collect testTask2. It should have succeeded. 182 // Collect testTask2. It should have succeeded.
183 output2, outputDir2, err2 := tasks[1].Collect(s) 183 output2, outputDir2, err2 := tasks[1].Collect(s)
184 assert.Nil(t, err2) 184 assert.Nil(t, err2)
185 output2 = sanitizeOutput(output2) 185 output2 = sanitizeOutput(output2)
186 assert.Equal(t, fmt.Sprintf("arg_1_%s\narg_2_%s\n", tasks[1].Title, task s[1].Title), output2) 186 assert.Equal(t, fmt.Sprintf("arg_1_%s\narg_2_%s\n", tasks[1].Title, task s[1].Title), output2)
187 // Verify contents of the outputDir. 187 // Verify contents of the outputDir.
188 rawFileOutput, err := ioutil.ReadFile(path.Join(outputDir2, "output.txt" )) 188 rawFileOutput, err := ioutil.ReadFile(path.Join(outputDir2, "output.txt" ))
189 assert.Nil(t, err) 189 assert.Nil(t, err)
190 fileOutput := strings.Replace(string(rawFileOutput), "\r\n", "\n", -1) 190 fileOutput := strings.Replace(string(rawFileOutput), "\r\n", "\n", -1)
191 assert.Equal(t, "testing\ntesting", fileOutput) 191 assert.Equal(t, "testing\ntesting", fileOutput)
192 } 192 }
193 193
194 // sanitizeOutput makes the task output consistent. Sometimes the outputs comes 194 // sanitizeOutput makes the task output consistent. Sometimes the outputs comes
195 // back with "\r\n" and sometimes with "\n". This function makes it always be "\ n". 195 // back with "\r\n" and sometimes with "\n". This function makes it always be "\ n".
196 func sanitizeOutput(output string) string { 196 func sanitizeOutput(output string) string {
197 return strings.Replace(output, "\r\n", "\n", -1) 197 return strings.Replace(output, "\r\n", "\n", -1)
198 } 198 }
OLDNEW
« go/swarming/swarming.go ('K') | « go/swarming/swarming.go ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698