diff options
author | Chris <ccbrown112@gmail.com> | 2017-11-15 16:08:02 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-15 16:08:02 -0600 |
commit | 6eb4b4604c79b0052cb7ab8ac97c9b90fa61e918 (patch) | |
tree | f5a1684a174f5946729dc2498d67e4ddaee370c7 /plugin/rpcplugin/supervisor_test.go | |
parent | 96e3686dd51a2c9d2967a8ce4736c83f36a387ff (diff) | |
download | chat-6eb4b4604c79b0052cb7ab8ac97c9b90fa61e918.tar.gz chat-6eb4b4604c79b0052cb7ab8ac97c9b90fa61e918.tar.bz2 chat-6eb4b4604c79b0052cb7ab8ac97c9b90fa61e918.zip |
improve rpcplugin tests (#7837)
Diffstat (limited to 'plugin/rpcplugin/supervisor_test.go')
-rw-r--r-- | plugin/rpcplugin/supervisor_test.go | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/plugin/rpcplugin/supervisor_test.go b/plugin/rpcplugin/supervisor_test.go index bad38b2d7..6a2b5ec5d 100644 --- a/plugin/rpcplugin/supervisor_test.go +++ b/plugin/rpcplugin/supervisor_test.go @@ -56,6 +56,21 @@ func TestSupervisor_InvalidExecutablePath(t *testing.T) { assert.Error(t, err) } +func TestSupervisor_NonExistentExecutablePath(t *testing.T) { + dir, err := ioutil.TempDir("", "") + require.NoError(t, err) + defer os.RemoveAll(dir) + + ioutil.WriteFile(filepath.Join(dir, "plugin.json"), []byte(`{"id": "foo", "backend": {"executable": "thisfileshouldnotexist"}}`), 0600) + + bundle := model.BundleInfoForPath(dir) + supervisor, err := SupervisorProvider(bundle) + require.NotNil(t, supervisor) + require.NoError(t, err) + + require.Error(t, supervisor.Start()) +} + // If plugin development goes really wrong, let's make sure plugin activation won't block forever. func TestSupervisor_StartTimeout(t *testing.T) { dir, err := ioutil.TempDir("", "") @@ -104,6 +119,10 @@ func TestSupervisor_PluginCrash(t *testing.T) { return nil } + func (p *MyPlugin) OnDeactivate() error { + return nil + } + func main() { rpcplugin.Main(&MyPlugin{}) } |