aboutsummaryrefslogtreecommitdiffstats
path: root/Godeps/_workspace/src/github.com/peterh/liner/race_test.go
diff options
context:
space:
mode:
authorFelix Lange <fjl@twurst.com>2015-03-06 17:39:31 +0800
committerFelix Lange <fjl@twurst.com>2015-03-06 17:39:31 +0800
commit2393de5d6b535a850e8b5d510aa2ae4f940f3d23 (patch)
tree020fdbfeb9046f101b7e2ccab31bfc3c02caf1aa /Godeps/_workspace/src/github.com/peterh/liner/race_test.go
parent38f6d60e6e699db24b7a850b5999823b9e36d5bb (diff)
downloadgo-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.go44
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()
+}