11package ipc
22
33import (
4- "github.com/alebeck/boring/internal/log "
4+ "io "
55 "net"
66 "os"
77 "reflect"
8+ "strings"
89 "testing"
910 "time"
11+
12+ "github.com/alebeck/boring/internal/log"
1013)
1114
1215func TestMain (m * testing.M ) {
@@ -29,36 +32,54 @@ func TestIPC(t *testing.T) {
2932 go func () {
3033 defer close (done )
3134 var r map [string ]string
32- if err := Receive (& r , c2 ); err != nil {
35+ if err := Read (& r , c2 ); err != nil {
3336 t .Errorf ("receive failed: %v" , err )
3437 }
3538 if ! reflect .DeepEqual (obj , r ) {
3639 t .Errorf ("wrong data: %v != %v" , obj , r )
3740 }
3841 }()
3942
40- if err := Send (obj , c1 ); err != nil {
43+ if err := Write (obj , c1 ); err != nil {
4144 t .Fatalf ("send failed: %v" , err )
4245 }
4346 <- done
4447}
4548
46- func TestSendError (t * testing.T ) {
47- obj := map [ string ] string { "foo" : "bar" }
49+ func TestWriteError (t * testing.T ) {
50+ var obj int
4851 c1 , c2 := net .Pipe ()
4952 defer c1 .Close ()
5053 c2 .Close () // peer closed
51- if err := Send (obj , c1 ); err == nil {
54+ if err := Write (obj , c1 ); err == nil ||
55+ ! strings .Contains (err .Error (), "failed to write" ) {
5256 t .Fatalf ("did not get expected error" )
5357 }
5458}
5559
56- func TestReceiveError (t * testing.T ) {
60+ func TestReadError (t * testing.T ) {
5761 var obj map [string ]string
5862 c1 , c2 := net .Pipe ()
5963 defer c1 .Close ()
6064 c2 .Close () // peer closed
61- if err := Receive (& obj , c1 ); err == nil {
65+ if err := Read (& obj , c1 ); err == nil ||
66+ ! strings .Contains (err .Error (), "failed to read" ) {
67+ t .Fatalf ("did not get expected error" )
68+ }
69+ }
70+
71+ func TestSerializeError (t * testing.T ) {
72+ var v = make (chan int ) // not serializable
73+ if err := Write (v , io .Discard ); err == nil ||
74+ ! strings .Contains (err .Error (), "failed to serialize" ) {
75+ t .Fatalf ("did not get expected error" )
76+ }
77+ }
78+
79+ func TestDeserializeError (t * testing.T ) {
80+ var v = make (chan int ) // not serializable
81+ if err := Read (& v , strings .NewReader ("test\n " )); err == nil ||
82+ ! strings .Contains (err .Error (), "failed to deserialize" ) {
6283 t .Fatalf ("did not get expected error" )
6384 }
6485}
0 commit comments