@@ -14,18 +14,21 @@ import (
14
14
func TestVerify (t * testing.T ) {
15
15
suite := NewTestSuite (t )
16
16
trusted := suite .GenDummyHeaders (1 )[0 ]
17
+ var zero * DummyHeader
17
18
18
19
next := func () * DummyHeader {
19
20
next := * suite .NextHeader ()
20
21
return & next
21
22
}
22
23
23
24
tests := []struct {
25
+ trusted * DummyHeader
24
26
prepare func () * DummyHeader
25
27
err error
26
28
soft bool
27
29
}{
28
30
{
31
+ trusted : trusted ,
29
32
prepare : func () * DummyHeader {
30
33
untrusted := next ()
31
34
untrusted .VerifyFailure = true
@@ -34,6 +37,7 @@ func TestVerify(t *testing.T) {
34
37
err : ErrDummyVerify ,
35
38
},
36
39
{
40
+ trusted : trusted ,
37
41
prepare : func () * DummyHeader {
38
42
untrusted := next ()
39
43
untrusted .VerifyFailure = true
@@ -43,17 +47,20 @@ func TestVerify(t *testing.T) {
43
47
soft : true , // soft because non-adjacent
44
48
},
45
49
{
50
+ trusted : trusted ,
46
51
prepare : func () * DummyHeader {
47
52
return next ()
48
53
},
49
54
},
50
55
{
56
+ trusted : trusted ,
51
57
prepare : func () * DummyHeader {
52
58
return nil
53
59
},
54
60
err : header .ErrZeroHeader ,
55
61
},
56
62
{
63
+ trusted : trusted ,
57
64
prepare : func () * DummyHeader {
58
65
untrusted := next ()
59
66
untrusted .Chainid = "gtmb"
@@ -62,6 +69,7 @@ func TestVerify(t *testing.T) {
62
69
err : header .ErrWrongChainID ,
63
70
},
64
71
{
72
+ trusted : trusted ,
65
73
prepare : func () * DummyHeader {
66
74
untrusted := next ()
67
75
untrusted .Timestamp = untrusted .Timestamp .Truncate (time .Minute * 10 )
@@ -70,6 +78,7 @@ func TestVerify(t *testing.T) {
70
78
err : header .ErrUnorderedTime ,
71
79
},
72
80
{
81
+ trusted : trusted ,
73
82
prepare : func () * DummyHeader {
74
83
untrusted := next ()
75
84
untrusted .Timestamp = untrusted .Timestamp .Add (time .Minute )
@@ -78,6 +87,7 @@ func TestVerify(t *testing.T) {
78
87
err : header .ErrFromFuture ,
79
88
},
80
89
{
90
+ trusted : trusted ,
81
91
prepare : func () * DummyHeader {
82
92
untrusted := next ()
83
93
untrusted .HeightI = trusted .Height ()
@@ -86,18 +96,33 @@ func TestVerify(t *testing.T) {
86
96
err : header .ErrKnownHeader ,
87
97
},
88
98
{
99
+ trusted : trusted ,
89
100
prepare : func () * DummyHeader {
90
101
untrusted := next ()
91
102
untrusted .HeightI += 100000
92
103
return untrusted
93
104
},
94
105
err : header .ErrHeightFromFuture ,
95
106
},
107
+ {
108
+ trusted : trusted ,
109
+ prepare : func () * DummyHeader {
110
+ return zero
111
+ },
112
+ err : header .ErrZeroHeader ,
113
+ },
114
+ {
115
+ trusted : zero ,
116
+ prepare : func () * DummyHeader {
117
+ return next ()
118
+ },
119
+ err : header .ErrZeroHeader ,
120
+ },
96
121
}
97
122
98
123
for i , test := range tests {
99
124
t .Run (strconv .Itoa (i ), func (t * testing.T ) {
100
- err := header .Verify (trusted , test .prepare (), 0 )
125
+ err := header .Verify (test . trusted , test .prepare (), 0 )
101
126
if test .err != nil {
102
127
var verErr * header.VerifyError
103
128
assert .ErrorAs (t , err , & verErr )
0 commit comments