aboutsummaryrefslogtreecommitdiffstats
path: root/whisper/whisperv5/filter_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'whisper/whisperv5/filter_test.go')
-rw-r--r--whisper/whisperv5/filter_test.go300
1 files changed, 126 insertions, 174 deletions
diff --git a/whisper/whisperv5/filter_test.go b/whisper/whisperv5/filter_test.go
index 8c25b0519..561bb8f7d 100644
--- a/whisper/whisperv5/filter_test.go
+++ b/whisper/whisperv5/filter_test.go
@@ -43,12 +43,12 @@ func InitDebugTest(i int64) {
type FilterTestCase struct {
f *Filter
- id int
+ id uint32
alive bool
msgCnt int
}
-func generateFilter(x *testing.T, symmetric bool) (*Filter, error) {
+func generateFilter(t *testing.T, symmetric bool) (*Filter, error) {
var f Filter
f.Messages = make(map[common.Hash]*ReceivedMessage)
@@ -61,7 +61,7 @@ func generateFilter(x *testing.T, symmetric bool) (*Filter, error) {
key, err := crypto.GenerateKey()
if err != nil {
- x.Errorf("generateFilter failed 1 with seed %d.", seed)
+ t.Fatalf("generateFilter 1 failed with seed %d.", seed)
return nil, err
}
f.Src = &key.PublicKey
@@ -73,7 +73,7 @@ func generateFilter(x *testing.T, symmetric bool) (*Filter, error) {
} else {
f.KeyAsym, err = crypto.GenerateKey()
if err != nil {
- x.Errorf("generateFilter failed 2 with seed %d.", seed)
+ t.Fatalf("generateFilter 2 failed with seed %d.", seed)
return nil, err
}
}
@@ -82,105 +82,94 @@ func generateFilter(x *testing.T, symmetric bool) (*Filter, error) {
return &f, nil
}
-func generateTestCases(x *testing.T, SizeTestFilters int) []FilterTestCase {
+func generateTestCases(t *testing.T, SizeTestFilters int) []FilterTestCase {
cases := make([]FilterTestCase, SizeTestFilters)
for i := 0; i < SizeTestFilters; i++ {
- f, _ := generateFilter(x, true)
+ f, _ := generateFilter(t, true)
cases[i].f = f
cases[i].alive = (rand.Int()&int(1) == 0)
}
return cases
}
-func TestInstallFilters(x *testing.T) {
+func TestInstallFilters(t *testing.T) {
InitSingleTest()
const SizeTestFilters = 256
w := NewWhisper(nil)
filters := NewFilters(w)
- tst := generateTestCases(x, SizeTestFilters)
+ tst := generateTestCases(t, SizeTestFilters)
- var j int
+ var j uint32
for i := 0; i < SizeTestFilters; i++ {
j = filters.Install(tst[i].f)
tst[i].id = j
}
if j < SizeTestFilters-1 {
- x.Errorf("seed %d: wrong index %d", seed, j)
- return
+ t.Fatalf("seed %d: wrong index %d", seed, j)
}
- for _, t := range tst {
- if !t.alive {
- filters.Uninstall(t.id)
+ for _, testCase := range tst {
+ if !testCase.alive {
+ filters.Uninstall(testCase.id)
}
}
- for i, t := range tst {
- fil := filters.Get(t.id)
+ for i, testCase := range tst {
+ fil := filters.Get(testCase.id)
exist := (fil != nil)
- if exist != t.alive {
- x.Errorf("seed %d: failed alive: %d, %v, %v", seed, i, exist, t.alive)
- return
+ if exist != testCase.alive {
+ t.Fatalf("seed %d: failed alive: %d, %v, %v", seed, i, exist, testCase.alive)
}
- if exist && fil.PoW != t.f.PoW {
- x.Errorf("seed %d: failed Get: %d, %v, %v", seed, i, exist, t.alive)
- return
+ if exist && fil.PoW != testCase.f.PoW {
+ t.Fatalf("seed %d: failed Get: %d, %v, %v", seed, i, exist, testCase.alive)
}
}
}
-func TestComparePubKey(x *testing.T) {
+func TestComparePubKey(t *testing.T) {
InitSingleTest()
key1, err := crypto.GenerateKey()
if err != nil {
- x.Errorf("failed GenerateKey 1 with seed %d: %s.", seed, err)
- return
+ t.Fatalf("failed to generate first key with seed %d: %s.", seed, err)
}
key2, err := crypto.GenerateKey()
if err != nil {
- x.Errorf("failed GenerateKey 2 with seed %d: %s.", seed, err)
- return
+ t.Fatalf("failed to generate second key with seed %d: %s.", seed, err)
}
if isPubKeyEqual(&key1.PublicKey, &key2.PublicKey) {
- x.Errorf("failed !equal with seed %d.", seed)
- return
+ t.Fatalf("public keys are equal, seed %d.", seed)
}
// generate key3 == key1
rand.Seed(seed)
key3, err := crypto.GenerateKey()
if err != nil {
- x.Errorf("failed GenerateKey 3 with seed %d: %s.", seed, err)
- return
+ t.Fatalf("failed to generate third key with seed %d: %s.", seed, err)
}
if isPubKeyEqual(&key1.PublicKey, &key3.PublicKey) {
- x.Errorf("failed equal with seed %d.", seed)
- return
+ t.Fatalf("key1 == key3, seed %d.", seed)
}
}
-func TestMatchEnvelope(x *testing.T) {
+func TestMatchEnvelope(t *testing.T) {
InitSingleTest()
- fsym, err := generateFilter(x, true)
+ fsym, err := generateFilter(t, true)
if err != nil {
- x.Errorf("failed generateFilter 1 with seed %d: %s.", seed, err)
- return
+ t.Fatalf("failed generateFilter with seed %d: %s.", seed, err)
}
- fasym, err := generateFilter(x, false)
+ fasym, err := generateFilter(t, false)
if err != nil {
- x.Errorf("failed generateFilter 2 with seed %d: %s.", seed, err)
- return
+ t.Fatalf("failed generateFilter() with seed %d: %s.", seed, err)
}
params, err := generateMessageParams()
if err != nil {
- x.Errorf("failed generateMessageParams 3 with seed %d: %s.", seed, err)
- return
+ t.Fatalf("failed generateMessageParams with seed %d: %s.", seed, err)
}
params.Topic[0] = 0xFF // ensure mismatch
@@ -189,18 +178,15 @@ func TestMatchEnvelope(x *testing.T) {
msg := NewSentMessage(params)
env, err := msg.Wrap(params)
if err != nil {
- x.Errorf("failed Wrap 4 with seed %d: %s.", seed, err)
- return
+ t.Fatalf("failed Wrap with seed %d: %s.", seed, err)
}
match := fsym.MatchEnvelope(env)
if match {
- x.Errorf("failed test case 5 with seed %d.", seed)
- return
+ t.Fatalf("failed MatchEnvelope symmetric with seed %d.", seed)
}
match = fasym.MatchEnvelope(env)
if match {
- x.Errorf("failed test case 6 with seed %d.", seed)
- return
+ t.Fatalf("failed MatchEnvelope asymmetric with seed %d.", seed)
}
// encrypt symmetrically
@@ -210,125 +196,123 @@ func TestMatchEnvelope(x *testing.T) {
msg = NewSentMessage(params)
env, err = msg.Wrap(params)
if err != nil {
- x.Errorf("failed test case 7 with seed %d, test case 3: %s.", seed, err)
- return
+ t.Fatalf("failed Wrap() with seed %d: %s.", seed, err)
}
// symmetric + matching topic: match
match = fsym.MatchEnvelope(env)
if !match {
- x.Errorf("failed test case 8 with seed %d.", seed)
- return
+ t.Fatalf("failed MatchEnvelope() symmetric with seed %d.", seed)
}
// asymmetric + matching topic: mismatch
match = fasym.MatchEnvelope(env)
if match {
- x.Errorf("failed test case 9 with seed %d.", seed)
- return
+ t.Fatalf("failed MatchEnvelope() asymmetric with seed %d.", seed)
}
// symmetric + matching topic + insufficient PoW: mismatch
fsym.PoW = env.PoW() + 1.0
match = fsym.MatchEnvelope(env)
if match {
- x.Errorf("failed test case 10 with seed %d.", seed)
- return
+ t.Fatalf("failed MatchEnvelope(symmetric + matching topic + insufficient PoW) asymmetric with seed %d.", seed)
}
// symmetric + matching topic + sufficient PoW: match
fsym.PoW = env.PoW() / 2
match = fsym.MatchEnvelope(env)
if !match {
- x.Errorf("failed test case 11 with seed %d.", seed)
- return
+ t.Fatalf("failed MatchEnvelope(symmetric + matching topic + sufficient PoW) with seed %d.", seed)
}
- // symmetric + topics are nil: mismatch
+ // symmetric + topics are nil (wildcard): match
prevTopics := fsym.Topics
fsym.Topics = nil
- match = fasym.MatchEnvelope(env)
- if match {
- x.Errorf("failed test case 12 with seed %d.", seed)
- return
+ match = fsym.MatchEnvelope(env)
+ if !match {
+ t.Fatalf("failed MatchEnvelope(symmetric + topics are nil) with seed %d.", seed)
}
fsym.Topics = prevTopics
// encrypt asymmetrically
key, err := crypto.GenerateKey()
if err != nil {
- x.Errorf("failed GenerateKey 13 with seed %d: %s.", seed, err)
- return
+ t.Fatalf("failed GenerateKey with seed %d: %s.", seed, err)
}
params.KeySym = nil
params.Dst = &key.PublicKey
msg = NewSentMessage(params)
env, err = msg.Wrap(params)
if err != nil {
- x.Errorf("failed test case 14 with seed %d, test case 3: %s.", seed, err)
- return
+ t.Fatalf("failed Wrap() with seed %d: %s.", seed, err)
}
// encryption method mismatch
match = fsym.MatchEnvelope(env)
if match {
- x.Errorf("failed test case 15 with seed %d.", seed)
- return
+ t.Fatalf("failed MatchEnvelope(encryption method mismatch) with seed %d.", seed)
}
// asymmetric + mismatching topic: mismatch
match = fasym.MatchEnvelope(env)
if !match {
- x.Errorf("failed test case 16 with seed %d.", seed)
- return
+ t.Fatalf("failed MatchEnvelope(asymmetric + mismatching topic) with seed %d.", seed)
}
// asymmetric + matching topic: match
fasym.Topics[i] = fasym.Topics[i+1]
match = fasym.MatchEnvelope(env)
if match {
- x.Errorf("failed test case 17 with seed %d.", seed)
- return
+ t.Fatalf("failed MatchEnvelope(asymmetric + matching topic) with seed %d.", seed)
}
- // asymmetric + topic is nil (wildcard): match
+ // asymmetric + filter without topic (wildcard): match
fasym.Topics = nil
match = fasym.MatchEnvelope(env)
if !match {
- x.Errorf("failed test case 18 with seed %d.", seed)
- return
+ t.Fatalf("failed MatchEnvelope(asymmetric + filter without topic) with seed %d.", seed)
}
// asymmetric + insufficient PoW: mismatch
fasym.PoW = env.PoW() + 1.0
match = fasym.MatchEnvelope(env)
if match {
- x.Errorf("failed test case 19 with seed %d.", seed)
- return
+ t.Fatalf("failed MatchEnvelope(asymmetric + insufficient PoW) with seed %d.", seed)
}
// asymmetric + sufficient PoW: match
fasym.PoW = env.PoW() / 2
match = fasym.MatchEnvelope(env)
if !match {
- x.Errorf("failed test case 20 with seed %d.", seed)
- return
+ t.Fatalf("failed MatchEnvelope(asymmetric + sufficient PoW) with seed %d.", seed)
+ }
+
+ // filter without topic + envelope without topic: match
+ env.Topic = TopicType{}
+ match = fasym.MatchEnvelope(env)
+ if !match {
+ t.Fatalf("failed MatchEnvelope(filter without topic + envelope without topic) with seed %d.", seed)
+ }
+
+ // filter with topic + envelope without topic: mismatch
+ fasym.Topics = fsym.Topics
+ match = fasym.MatchEnvelope(env)
+ if match {
+ t.Fatalf("failed MatchEnvelope(filter without topic + envelope without topic) with seed %d.", seed)
}
}
-func TestMatchMessageSym(x *testing.T) {
+func TestMatchMessageSym(t *testing.T) {
InitSingleTest()
params, err := generateMessageParams()
if err != nil {
- x.Errorf("failed generateMessageParams with seed %d: %s.", seed, err)
- return
+ t.Fatalf("failed generateMessageParams with seed %d: %s.", seed, err)
}
- f, err := generateFilter(x, true)
+ f, err := generateFilter(t, true)
if err != nil {
- x.Errorf("failed generateFilter 1 with seed %d: %s.", seed, err)
- return
+ t.Fatalf("failed generateFilter with seed %d: %s.", seed, err)
}
const index = 1
@@ -338,106 +322,91 @@ func TestMatchMessageSym(x *testing.T) {
sentMessage := NewSentMessage(params)
env, err := sentMessage.Wrap(params)
if err != nil {
- x.Errorf("failed Wrap 2 with seed %d: %s.", seed, err)
- return
+ t.Fatalf("failed Wrap with seed %d: %s.", seed, err)
}
msg := env.Open(f)
if msg == nil {
- x.Errorf("failed to open 3 with seed %d.", seed)
- return
+ t.Fatalf("failed Open with seed %d.", seed)
}
// Src mismatch
if f.MatchMessage(msg) {
- x.Errorf("failed test case 4 with seed %d.", seed)
- return
+ t.Fatalf("failed MatchMessage(src mismatch) with seed %d.", seed)
}
// Src: match
*f.Src.X = *params.Src.PublicKey.X
*f.Src.Y = *params.Src.PublicKey.Y
if !f.MatchMessage(msg) {
- x.Errorf("failed test case 5 with seed %d.", seed)
- return
+ t.Fatalf("failed MatchEnvelope(src match) with seed %d.", seed)
}
// insufficient PoW: mismatch
f.PoW = msg.PoW + 1.0
if f.MatchMessage(msg) {
- x.Errorf("failed test case 6 with seed %d.", seed)
- return
+ t.Fatalf("failed MatchEnvelope(insufficient PoW) with seed %d.", seed)
}
// sufficient PoW: match
f.PoW = msg.PoW / 2
if !f.MatchMessage(msg) {
- x.Errorf("failed test case 7 with seed %d.", seed)
- return
+ t.Fatalf("failed MatchEnvelope(sufficient PoW) with seed %d.", seed)
}
// topic mismatch
f.Topics[index][0]++
if f.MatchMessage(msg) {
- x.Errorf("failed test case 8 with seed %d.", seed)
- return
+ t.Fatalf("failed MatchEnvelope(topic mismatch) with seed %d.", seed)
}
f.Topics[index][0]--
// key mismatch
f.SymKeyHash[0]++
if f.MatchMessage(msg) {
- x.Errorf("failed test case 9 with seed %d.", seed)
- return
+ t.Fatalf("failed MatchEnvelope(key mismatch) with seed %d.", seed)
}
f.SymKeyHash[0]--
// Src absent: match
f.Src = nil
if !f.MatchMessage(msg) {
- x.Errorf("failed test case 10 with seed %d.", seed)
- return
+ t.Fatalf("failed MatchEnvelope(src absent) with seed %d.", seed)
}
- // key hash mismatch mismatch
+ // key hash mismatch
h := f.SymKeyHash
f.SymKeyHash = common.Hash{}
if f.MatchMessage(msg) {
- x.Errorf("failed test case 11 with seed %d.", seed)
- return
+ t.Fatalf("failed MatchEnvelope(key hash mismatch) with seed %d.", seed)
}
f.SymKeyHash = h
if !f.MatchMessage(msg) {
- x.Errorf("failed test case 12 with seed %d.", seed)
- return
+ t.Fatalf("failed MatchEnvelope(key hash match) with seed %d.", seed)
}
// encryption method mismatch
f.KeySym = nil
f.KeyAsym, err = crypto.GenerateKey()
if err != nil {
- x.Errorf("failed GenerateKey 13 with seed %d: %s.", seed, err)
- return
+ t.Fatalf("failed GenerateKey with seed %d: %s.", seed, err)
}
if f.MatchMessage(msg) {
- x.Errorf("failed test case 14 with seed %d.", seed)
- return
+ t.Fatalf("failed MatchEnvelope(encryption method mismatch) with seed %d.", seed)
}
}
-func TestMatchMessageAsym(x *testing.T) {
+func TestMatchMessageAsym(t *testing.T) {
InitSingleTest()
- f, err := generateFilter(x, false)
+ f, err := generateFilter(t, false)
if err != nil {
- x.Errorf("failed generateFilter with seed %d: %s.", seed, err)
- return
+ t.Fatalf("failed generateFilter with seed %d: %s.", seed, err)
}
params, err := generateMessageParams()
if err != nil {
- x.Errorf("failed generateMessageParams with seed %d: %s.", seed, err)
- return
+ t.Fatalf("failed generateMessageParams with seed %d: %s.", seed, err)
}
const index = 1
@@ -449,50 +418,42 @@ func TestMatchMessageAsym(x *testing.T) {
sentMessage := NewSentMessage(params)
env, err := sentMessage.Wrap(params)
if err != nil {
- x.Errorf("failed Wrap with seed %d: %s.", seed, err)
- return
+ t.Fatalf("failed Wrap with seed %d: %s.", seed, err)
}
msg := env.Open(f)
if msg == nil {
- x.Errorf("failed to open with seed %d.", seed)
- return
+ t.Fatalf("failed to open with seed %d.", seed)
}
// Src mismatch
if f.MatchMessage(msg) {
- x.Errorf("failed test case 4 with seed %d.", seed)
- return
+ t.Fatalf("failed MatchMessage(src mismatch) with seed %d.", seed)
}
// Src: match
*f.Src.X = *params.Src.PublicKey.X
*f.Src.Y = *params.Src.PublicKey.Y
if !f.MatchMessage(msg) {
- x.Errorf("failed test case 5 with seed %d.", seed)
- return
+ t.Fatalf("failed MatchMessage(src match) with seed %d.", seed)
}
// insufficient PoW: mismatch
f.PoW = msg.PoW + 1.0
if f.MatchMessage(msg) {
- x.Errorf("failed test case 6 with seed %d.", seed)
- return
+ t.Fatalf("failed MatchEnvelope(insufficient PoW) with seed %d.", seed)
}
// sufficient PoW: match
f.PoW = msg.PoW / 2
if !f.MatchMessage(msg) {
- x.Errorf("failed test case 7 with seed %d.", seed)
- return
+ t.Fatalf("failed MatchEnvelope(sufficient PoW) with seed %d.", seed)
}
- // topic mismatch, but still match, because for asymmetric encryption
- // only private key matters (in case the message is already decrypted)
+ // topic mismatch
f.Topics[index][0]++
- if !f.MatchMessage(msg) {
- x.Errorf("failed test case 8 with seed %d.", seed)
- return
+ if f.MatchMessage(msg) {
+ t.Fatalf("failed MatchEnvelope(topic mismatch) with seed %d.", seed)
}
f.Topics[index][0]--
@@ -501,24 +462,21 @@ func TestMatchMessageAsym(x *testing.T) {
zero := *big.NewInt(0)
*f.KeyAsym.PublicKey.X = zero
if f.MatchMessage(msg) {
- x.Errorf("failed test case 9 with seed %d.", seed)
- return
+ t.Fatalf("failed MatchEnvelope(key mismatch) with seed %d.", seed)
}
*f.KeyAsym.PublicKey.X = prev
// Src absent: match
f.Src = nil
if !f.MatchMessage(msg) {
- x.Errorf("failed test case 10 with seed %d.", seed)
- return
+ t.Fatalf("failed MatchEnvelope(src absent) with seed %d.", seed)
}
// encryption method mismatch
f.KeySym = keySymOrig
f.KeyAsym = nil
if f.MatchMessage(msg) {
- x.Errorf("failed test case 11 with seed %d.", seed)
- return
+ t.Fatalf("failed MatchEnvelope(encryption method mismatch) with seed %d.", seed)
}
}
@@ -535,10 +493,10 @@ func cloneFilter(orig *Filter) *Filter {
return &clone
}
-func generateCompatibeEnvelope(x *testing.T, f *Filter) *Envelope {
+func generateCompatibeEnvelope(t *testing.T, f *Filter) *Envelope {
params, err := generateMessageParams()
if err != nil {
- x.Errorf("failed generateMessageParams 77 with seed %d: %s.", seed, err)
+ t.Fatalf("failed generateMessageParams with seed %d: %s.", seed, err)
return nil
}
@@ -547,23 +505,24 @@ func generateCompatibeEnvelope(x *testing.T, f *Filter) *Envelope {
sentMessage := NewSentMessage(params)
env, err := sentMessage.Wrap(params)
if err != nil {
- x.Errorf("failed Wrap 78 with seed %d: %s.", seed, err)
+ t.Fatalf("failed Wrap with seed %d: %s.", seed, err)
return nil
}
return env
}
-func TestWatchers(x *testing.T) {
+func TestWatchers(t *testing.T) {
InitSingleTest()
const NumFilters = 16
const NumMessages = 256
- var i, j int
+ var i int
+ var j uint32
var e *Envelope
w := NewWhisper(nil)
filters := NewFilters(w)
- tst := generateTestCases(x, NumFilters)
+ tst := generateTestCases(t, NumFilters)
for i = 0; i < NumFilters; i++ {
tst[i].f.Src = nil
j = filters.Install(tst[i].f)
@@ -574,8 +533,8 @@ func TestWatchers(x *testing.T) {
var envelopes [NumMessages]*Envelope
for i = 0; i < NumMessages; i++ {
- j = rand.Int() % NumFilters
- e = generateCompatibeEnvelope(x, tst[j].f)
+ j = rand.Uint32() % NumFilters
+ e = generateCompatibeEnvelope(t, tst[j].f)
envelopes[i] = e
tst[j].msgCnt++
}
@@ -595,20 +554,17 @@ func TestWatchers(x *testing.T) {
}
if total != NumMessages {
- x.Errorf("failed test case 1 with seed %d: total = %d, want: %d.", seed, total, NumMessages)
- return
+ t.Fatalf("failed with seed %d: total = %d, want: %d.", seed, total, NumMessages)
}
for i = 0; i < NumFilters; i++ {
mail = tst[i].f.Retrieve()
if len(mail) != 0 {
- x.Errorf("failed test case 2 with seed %d: i = %d.", seed, i)
- return
+ t.Fatalf("failed with seed %d: i = %d.", seed, i)
}
if tst[i].msgCnt != count[i] {
- x.Errorf("failed test case 3 with seed %d: i = %d, get %d, want %d.", seed, i, tst[i].msgCnt, count[i])
- return
+ t.Fatalf("failed with seed %d: count[%d]: get %d, want %d.", seed, i, tst[i].msgCnt, count[i])
}
}
@@ -626,12 +582,12 @@ func TestWatchers(x *testing.T) {
}
// make sure that the first watcher receives at least one message
- e = generateCompatibeEnvelope(x, tst[0].f)
+ e = generateCompatibeEnvelope(t, tst[0].f)
envelopes[0] = e
tst[0].msgCnt++
for i = 1; i < NumMessages; i++ {
- j = rand.Int() % NumFilters
- e = generateCompatibeEnvelope(x, tst[j].f)
+ j = rand.Uint32() % NumFilters
+ e = generateCompatibeEnvelope(t, tst[j].f)
envelopes[i] = e
tst[j].msgCnt++
}
@@ -648,30 +604,25 @@ func TestWatchers(x *testing.T) {
combined := tst[0].msgCnt + tst[last].msgCnt
if total != NumMessages+count[0] {
- x.Errorf("failed test case 4 with seed %d: total = %d, count[0] = %d.", seed, total, count[0])
- return
+ t.Fatalf("failed with seed %d: total = %d, count[0] = %d.", seed, total, count[0])
}
if combined != count[0] {
- x.Errorf("failed test case 5 with seed %d: combined = %d, count[0] = %d.", seed, combined, count[0])
- return
+ t.Fatalf("failed with seed %d: combined = %d, count[0] = %d.", seed, combined, count[0])
}
if combined != count[last] {
- x.Errorf("failed test case 6 with seed %d: combined = %d, count[last] = %d.", seed, combined, count[last])
- return
+ t.Fatalf("failed with seed %d: combined = %d, count[last] = %d.", seed, combined, count[last])
}
for i = 1; i < NumFilters-1; i++ {
mail = tst[i].f.Retrieve()
if len(mail) != 0 {
- x.Errorf("failed test case 7 with seed %d: i = %d.", seed, i)
- return
+ t.Fatalf("failed with seed %d: i = %d.", seed, i)
}
if tst[i].msgCnt != count[i] {
- x.Errorf("failed test case 8 with seed %d: i = %d, get %d, want %d.", seed, i, tst[i].msgCnt, count[i])
- return
+ t.Fatalf("failed with seed %d: i = %d, get %d, want %d.", seed, i, tst[i].msgCnt, count[i])
}
}
@@ -686,11 +637,13 @@ func TestWatchers(x *testing.T) {
}
if total != 0 {
- x.Errorf("failed test case 9 with seed %d.", seed)
- return
+ t.Fatalf("failed with seed %d: total: got %d, want 0.", seed, total)
}
- f := filters.Get(0)
+ f := filters.Get(1)
+ if f == nil {
+ t.Fatalf("failed to get the filter with seed %d.", seed)
+ }
f.AcceptP2P = true
total = 0
filters.NotifyWatchers(envelopes[0], p2pCode)
@@ -701,7 +654,6 @@ func TestWatchers(x *testing.T) {
}
if total != 1 {
- x.Errorf("failed test case 10 with seed %d: total = %d.", seed, total)
- return
+ t.Fatalf("failed with seed %d: total: got %d, want 1.", seed, total)
}
}