From 77a0064fcd2a2e21fa3dfa920a105aa9b2e0f914 Mon Sep 17 00:00:00 2001 From: Mahmood Ali Date: Wed, 20 Nov 2019 20:29:27 -0500 Subject: [PATCH] testS: fix TestClient_RestoreError When spinning a second client, ensure that it uses new driver instances, rather than reuse the already shutdown unhealthy drivers from first instance. This speeds up tests significantly, but cutting ~50 seconds or so, the timeout in NewClient until drivers fingerprints. They never do because drivers were shutdown already. --- client/client_test.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/client/client_test.go b/client/client_test.go index 4c029eaf4..8f677f1fe 100644 --- a/client/client_test.go +++ b/client/client_test.go @@ -18,6 +18,7 @@ import ( "github.com/hashicorp/nomad/client/state" "github.com/hashicorp/nomad/command/agent/consul" "github.com/hashicorp/nomad/helper/pluginutils/catalog" + "github.com/hashicorp/nomad/helper/pluginutils/singleton" "github.com/hashicorp/nomad/helper/testlog" "github.com/hashicorp/nomad/helper/uuid" "github.com/hashicorp/nomad/nomad" @@ -602,10 +603,14 @@ func TestClient_SaveRestoreState(t *testing.T) { // Create a new client logger := testlog.HCLogger(t) c1.config.Logger = logger - catalog := consul.NewMockCatalog(logger) + consulCatalog := consul.NewMockCatalog(logger) mockService := consulApi.NewMockConsulServiceClient(t, logger) - c2, err := NewClient(c1.config, catalog, mockService) + // ensure we use non-shutdown driver instances + c1.config.PluginLoader = catalog.TestPluginLoaderWithOptions(t, "", c1.config.Options, nil) + c1.config.PluginSingletonLoader = singleton.NewSingletonLoader(logger, c1.config.PluginLoader) + + c2, err := NewClient(c1.config, consulCatalog, mockService) if err != nil { t.Fatalf("err: %v", err) }