summaryrefslogtreecommitdiff
path: root/vendor/github.com/AllenDang/w32/fork_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/AllenDang/w32/fork_test.go')
-rw-r--r--vendor/github.com/AllenDang/w32/fork_test.go50
1 files changed, 0 insertions, 50 deletions
diff --git a/vendor/github.com/AllenDang/w32/fork_test.go b/vendor/github.com/AllenDang/w32/fork_test.go
deleted file mode 100644
index 47b52ba..0000000
--- a/vendor/github.com/AllenDang/w32/fork_test.go
+++ /dev/null
@@ -1,50 +0,0 @@
-package w32
-
-import (
- "fmt"
- "io/ioutil"
- "os"
- "path"
- "strconv"
- "testing"
- "time"
-)
-
-var forkFn = path.Join(os.TempDir(), "forktest.pid")
-
-func TestFork(t *testing.T) {
-
- ppid := os.Getpid()
- t.Logf("[OK] I am PID %d", ppid)
- pid, err := Fork()
- if err != nil {
- t.Fatalf("[!!] Failed to fork. PID: %d: %s", pid, err)
- }
-
- if pid == 0 {
- // We can't log anything here because our stdout doesn't point
- // to the same console as our parent.
- //
- // This process won't show up in Task Manager, and os.Getpid() won't
- // work, I guess because we haven't told CSRSS we exist.
- f, _ := os.Create(forkFn)
- f.WriteString(fmt.Sprintf("%d", ppid))
- f.Close()
- } else {
- t.Logf("[OK] Forked child with PID %d", pid)
- t.Logf("[OK] Sleeping, then trying to read checkfile.")
- time.Sleep(2 * time.Second)
- raw, err := ioutil.ReadFile(forkFn)
- if err != nil {
- t.Fatalf("[!!] Failed to read PID checkfile: %s", err)
- }
- if string(raw) == strconv.Itoa(ppid) {
- t.Logf("[OK] Found PID checkfile - PID matches!")
- } else {
- t.Errorf("[!] Child reported PID %q vs %q!", string(raw), strconv.Itoa(ppid))
- }
- os.Remove(forkFn)
-
- }
-
-}