42 lines
825 B
Go
42 lines
825 B
Go
package pid
|
|
|
|
import (
|
|
"io/ioutil"
|
|
"os"
|
|
"path/filepath"
|
|
"testing"
|
|
)
|
|
|
|
func TestNewAndRemove(t *testing.T) {
|
|
dir, err := ioutil.TempDir(os.TempDir(), "test-pidfile")
|
|
if err != nil {
|
|
t.Fatal("Could not create test directory")
|
|
}
|
|
|
|
path := filepath.Join(dir, "testfile")
|
|
file, err := New(path)
|
|
if err != nil {
|
|
t.Fatal("Could not create test file", err)
|
|
}
|
|
|
|
_, err = New(path)
|
|
if err == nil {
|
|
t.Fatal("Test file creation not blocked")
|
|
}
|
|
|
|
if err := file.Remove(); err != nil {
|
|
t.Fatal("Could not delete created test file")
|
|
}
|
|
|
|
if err := os.Remove(dir); err != nil {
|
|
t.Fatal("Could not delete test dir")
|
|
}
|
|
}
|
|
|
|
func TestRemoveInvalidPath(t *testing.T) {
|
|
file := File{path: filepath.Join("foo", "bar")}
|
|
|
|
if err := file.Remove(); err == nil {
|
|
t.Fatal("Non-existing file doesn't give an error on delete")
|
|
}
|
|
}
|