defer wg.Done()
err := cq.Unlock(uuid)
c.Check(err, check.NotNil)
+ c.Check(err, check.ErrorMatches, ".*cannot unlock when Queued*.")
+
err = cq.Lock(uuid)
c.Check(err, check.IsNil)
ctr, ok := cq.Get(uuid)
c.Check(ctr.State, check.Equals, arvados.ContainerStateLocked)
err = cq.Lock(uuid)
c.Check(err, check.NotNil)
+
err = cq.Unlock(uuid)
c.Check(err, check.IsNil)
ctr, ok = cq.Get(uuid)
c.Check(ctr.State, check.Equals, arvados.ContainerStateQueued)
err = cq.Unlock(uuid)
c.Check(err, check.NotNil)
+
+ err = cq.Cancel(uuid)
+ c.Check(err, check.IsNil)
+ ctr, ok = cq.Get(uuid)
+ c.Check(ok, check.Equals, true)
+ c.Check(ctr.State, check.Equals, arvados.ContainerStateCancelled)
+ err = cq.Lock(uuid)
+ c.Check(err, check.NotNil)
}()
}
wg.Wait()
-
- err = cq.Cancel(arvadostest.CompletedContainerUUID)
- c.Check(err, check.ErrorMatches, `.*State cannot change from Complete to Cancelled.*`)
}
func (suite *IntegrationSuite) TestCancelIfNoInstanceType(c *check.C) {