mirror of
https://github.com/moby/moby.git
synced 2026-01-11 18:51:37 +00:00
Merge pull request #46157 from vvoland/pkg-plugins-racy
This commit is contained in:
@@ -29,7 +29,9 @@ func TestPluginAddHandler(t *testing.T) {
|
||||
// make a plugin which is pre-activated
|
||||
p := &Plugin{activateWait: sync.NewCond(&sync.Mutex{})}
|
||||
p.Manifest = &Manifest{Implements: []string{"bananas"}}
|
||||
storage.Lock()
|
||||
storage.plugins["qwerty"] = p
|
||||
storage.Unlock()
|
||||
|
||||
testActive(t, p)
|
||||
Handle("bananas", func(_ string, _ *Client) {})
|
||||
@@ -37,7 +39,6 @@ func TestPluginAddHandler(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestPluginWaitBadPlugin(t *testing.T) {
|
||||
t.Parallel()
|
||||
p := &Plugin{activateWait: sync.NewCond(&sync.Mutex{})}
|
||||
p.activateErr = errors.New("some junk happened")
|
||||
testActive(t, p)
|
||||
@@ -59,10 +60,14 @@ func testActive(t *testing.T, p *Plugin) {
|
||||
}
|
||||
|
||||
func TestGet(t *testing.T) {
|
||||
t.Parallel()
|
||||
// TODO: t.Parallel()
|
||||
// TestPluginWithNoManifest also registers fruitPlugin
|
||||
|
||||
p := &Plugin{name: fruitPlugin, activateWait: sync.NewCond(&sync.Mutex{})}
|
||||
p.Manifest = &Manifest{Implements: []string{fruitImplements}}
|
||||
storage.Lock()
|
||||
storage.plugins[fruitPlugin] = p
|
||||
storage.Unlock()
|
||||
|
||||
t.Run("success", func(t *testing.T) {
|
||||
plugin, err := Get(fruitPlugin, fruitImplements)
|
||||
@@ -94,7 +99,8 @@ func TestGet(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestPluginWithNoManifest(t *testing.T) {
|
||||
t.Parallel()
|
||||
// TODO: t.Parallel()
|
||||
// TestGet also registers fruitPlugin
|
||||
mux, addr := setupRemotePluginServer(t)
|
||||
|
||||
m := Manifest{[]string{fruitImplements}}
|
||||
@@ -120,7 +126,9 @@ func TestPluginWithNoManifest(t *testing.T) {
|
||||
Addr: addr,
|
||||
TLSConfig: &tlsconfig.Options{InsecureSkipVerify: true},
|
||||
}
|
||||
storage.Lock()
|
||||
storage.plugins[fruitPlugin] = p
|
||||
storage.Unlock()
|
||||
|
||||
plugin, err := Get(fruitPlugin, fruitImplements)
|
||||
if err != nil {
|
||||
@@ -133,6 +141,7 @@ func TestPluginWithNoManifest(t *testing.T) {
|
||||
|
||||
func TestGetAll(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
tmpdir := t.TempDir()
|
||||
r := LocalRegistry{
|
||||
socketsPath: tmpdir,
|
||||
@@ -154,7 +163,9 @@ func TestGetAll(t *testing.T) {
|
||||
t.Fatal(err)
|
||||
}
|
||||
plugin.Manifest = &Manifest{Implements: []string{"apple"}}
|
||||
storage.Lock()
|
||||
storage.plugins["example"] = plugin
|
||||
storage.Unlock()
|
||||
|
||||
fetchedPlugins, err := r.GetAll("apple")
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user