diff options
author | Felix Lange <fjl@twurst.com> | 2015-03-06 17:39:31 +0800 |
---|---|---|
committer | Felix Lange <fjl@twurst.com> | 2015-03-06 17:39:31 +0800 |
commit | 2393de5d6b535a850e8b5d510aa2ae4f940f3d23 (patch) | |
tree | 020fdbfeb9046f101b7e2ccab31bfc3c02caf1aa /Godeps/_workspace/src/github.com/peterh/liner/race_test.go | |
parent | 38f6d60e6e699db24b7a850b5999823b9e36d5bb (diff) | |
download | go-tangerine-2393de5d6b535a850e8b5d510aa2ae4f940f3d23.tar.gz go-tangerine-2393de5d6b535a850e8b5d510aa2ae4f940f3d23.tar.zst go-tangerine-2393de5d6b535a850e8b5d510aa2ae4f940f3d23.zip |
Godeps: add github.com/peterh/liner
Diffstat (limited to 'Godeps/_workspace/src/github.com/peterh/liner/race_test.go')
-rw-r--r-- | Godeps/_workspace/src/github.com/peterh/liner/race_test.go | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/Godeps/_workspace/src/github.com/peterh/liner/race_test.go b/Godeps/_workspace/src/github.com/peterh/liner/race_test.go new file mode 100644 index 000000000..e320849c7 --- /dev/null +++ b/Godeps/_workspace/src/github.com/peterh/liner/race_test.go @@ -0,0 +1,44 @@ +// +build race + +package liner + +import ( + "io/ioutil" + "os" + "sync" + "testing" +) + +func TestWriteHistory(t *testing.T) { + oldout := os.Stdout + defer func() { os.Stdout = oldout }() + oldin := os.Stdout + defer func() { os.Stdin = oldin }() + + newinr, newinw, err := os.Pipe() + if err != nil { + t.Fatal(err) + } + os.Stdin = newinr + newoutr, newoutw, err := os.Pipe() + if err != nil { + t.Fatal(err) + } + defer newoutr.Close() + os.Stdout = newoutw + + var wait sync.WaitGroup + wait.Add(1) + s := NewLiner() + go func() { + s.AppendHistory("foo") + s.AppendHistory("bar") + s.Prompt("") + wait.Done() + }() + + s.WriteHistory(ioutil.Discard) + + newinw.Close() + wait.Wait() +} |