X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/179d0ce2912bde1f88e22087386842adcfe361ac..090e546b14e13798d15ac61728da05a0d9fb1317:/services/crunch-dispatch-local/crunch-dispatch-local_test.go diff --git a/services/crunch-dispatch-local/crunch-dispatch-local_test.go b/services/crunch-dispatch-local/crunch-dispatch-local_test.go index 997c63a003..3ec1e2ec6b 100644 --- a/services/crunch-dispatch-local/crunch-dispatch-local_test.go +++ b/services/crunch-dispatch-local/crunch-dispatch-local_test.go @@ -10,6 +10,7 @@ import ( "net/http/httptest" "os" "strings" + "syscall" "testing" "time" @@ -63,16 +64,13 @@ func (s *TestSuite) Test_doMain(c *C) { os.Args = append(os.Args, args...) go func() { - time.Sleep(2 * time.Second) - doneProcessing <- true + time.Sleep(5 * time.Second) + sigChan <- syscall.SIGINT }() err := doMain() c.Check(err, IsNil) - // Give some time for run goroutine to complete - time.Sleep(1 * time.Second) - // There should be no queued containers now params := arvadosclient.Dict{ "filters": [][]string{[]string{"state", "=", "Queued"}}, @@ -147,14 +145,14 @@ func testWithServerStub(c *C, apiStubResponses map[string]arvadostest.StubRespon log.SetOutput(tempfile) go func() { - time.Sleep(1 * time.Second) - doneProcessing <- true + time.Sleep(2 * time.Second) + sigChan <- syscall.SIGTERM }() runQueuedContainers(1, 1, crunchCmd) - // Give some time for run goroutine to complete - time.Sleep(5 * time.Second) + // Wait for all running crunch jobs to complete / terminate + waitGroup.Wait() buf, _ := ioutil.ReadFile(tempfile.Name()) c.Check(strings.Contains(string(buf), expected), Equals, true)