OSDN Git Service

add package
[bytom/vapor.git] / vendor / github.com / hashicorp / go-plugin / server_test.go
1 package plugin
2
3 import (
4         "io/ioutil"
5         "net"
6         "os"
7         "testing"
8 )
9
10 func TestRmListener_impl(t *testing.T) {
11         var _ net.Listener = new(rmListener)
12 }
13
14 func TestRmListener(t *testing.T) {
15         l, err := net.Listen("tcp", "127.0.0.1:0")
16         if err != nil {
17                 t.Fatalf("err: %s", err)
18         }
19
20         tf, err := ioutil.TempFile("", "plugin")
21         if err != nil {
22                 t.Fatalf("err: %s", err)
23         }
24         path := tf.Name()
25
26         // Close the file
27         if err := tf.Close(); err != nil {
28                 t.Fatalf("err: %s", err)
29         }
30
31         // Create the listener and test close
32         rmL := &rmListener{
33                 Listener: l,
34                 Path:     path,
35         }
36         if err := rmL.Close(); err != nil {
37                 t.Fatalf("err: %s", err)
38         }
39
40         // File should be goe
41         if _, err := os.Stat(path); err == nil || !os.IsNotExist(err) {
42                 t.Fatalf("err: %s", err)
43         }
44 }