-func (s *TestSuite) Test_doMain(c *C) {
- args := []string{"-poll-interval", "2", "-container-priority-poll-interval", "1", "-crunch-run-command", "echo"}
- os.Args = append(os.Args, args...)
+func (s *TestSuite) TestIntegration(c *C) {
+ arv, err := arvadosclient.MakeArvadosClient()
+ c.Assert(err, IsNil)
+
+ echo := "echo"
+ crunchRunCommand = &echo
+
+ doneProcessing := make(chan struct{})
+ dispatcher := dispatch.Dispatcher{
+ Arv: arv,
+ PollInterval: time.Second,
+ RunContainer: func(dispatcher *dispatch.Dispatcher,
+ container arvados.Container,
+ status chan arvados.Container) {
+ run(dispatcher, container, status)
+ doneProcessing <- struct{}{}
+ },
+ DoneProcessing: doneProcessing}
+
+ startCmd = func(container arvados.Container, cmd *exec.Cmd) error {
+ dispatcher.UpdateState(container.UUID, "Running")
+ dispatcher.UpdateState(container.UUID, "Complete")
+ return cmd.Start()
+ }