+ var containers arvados.ContainerList
+ err = arv.List("containers", params, &containers)
+ c.Check(err, IsNil)
+ c.Check(len(containers.Items), Equals, 1)
+
+ echo := "echo"
+ crunchRunCommand = &echo
+
+ doneProcessing := make(chan struct{})
+ dispatcher := dispatch.Dispatcher{
+ Arv: arv,
+ PollInterval: time.Duration(1) * time.Second,
+ RunContainer: func(dispatcher *dispatch.Dispatcher,
+ container arvados.Container,
+ status chan arvados.Container) {
+ go runContainer(dispatcher, container)
+ run(dispatcher, container, status)
+ doneProcessing <- struct{}{}
+ },
+ DoneProcessing: doneProcessing}
+
+ squeueUpdater.StartMonitor(time.Duration(500) * time.Millisecond)
+
+ err = dispatcher.RunDispatcher()
+ c.Assert(err, IsNil)
+
+ squeueUpdater.Done()
+
+ c.Check(sbatchCmdLine, DeepEquals, sbatchCmdComps)
+
+ // There should be no queued containers now