"testing"
"time"
+ "git.arvados.org/arvados.git/lib/controller/dblock"
"git.arvados.org/arvados.git/lib/controller/rpc"
"git.arvados.org/arvados.git/sdk/go/arvados"
"git.arvados.org/arvados.git/sdk/go/arvadostest"
func (s *HandlerSuite) TearDownTest(c *check.C) {
s.cancel()
+
+ // Wait for dblocks to be released. Otherwise, a subsequent
+ // test might time out waiting to acquire them.
+ timeout := time.After(10 * time.Second)
+ for _, locker := range []*dblock.DBLocker{dblock.TrashSweep, dblock.ContainerLogSweep} {
+ ok := make(chan struct{})
+ go func() {
+ if locker.Lock(context.Background(), s.handler.dbConnector.GetDB) {
+ locker.Unlock()
+ }
+ close(ok)
+ }()
+ select {
+ case <-timeout:
+ c.Log("timed out waiting for dblocks")
+ c.Fail()
+ case <-ok:
+ }
+ }
}
func (s *HandlerSuite) TestConfigExport(c *check.C) {