@@ -22,13 +22,15 @@ import (
22
22
"github.com/ava-labs/avalanchego/snow/consensus/snowman"
23
23
"github.com/ava-labs/avalanchego/snow/consensus/snowman/snowmantest"
24
24
"github.com/ava-labs/avalanchego/snow/engine/common"
25
+ "github.com/ava-labs/avalanchego/snow/engine/common/tracker"
25
26
"github.com/ava-labs/avalanchego/snow/engine/enginetest"
26
27
"github.com/ava-labs/avalanchego/snow/engine/snowman/ancestor"
27
28
"github.com/ava-labs/avalanchego/snow/engine/snowman/block/blocktest"
28
29
"github.com/ava-labs/avalanchego/snow/engine/snowman/getter"
29
30
"github.com/ava-labs/avalanchego/snow/snowtest"
30
31
"github.com/ava-labs/avalanchego/snow/validators"
31
32
"github.com/ava-labs/avalanchego/utils"
33
+ "github.com/ava-labs/avalanchego/utils/logging"
32
34
"github.com/ava-labs/avalanchego/utils/set"
33
35
"github.com/ava-labs/avalanchego/version"
34
36
)
@@ -3182,3 +3184,40 @@ func TestShouldIssueBlock(t *testing.T) {
3182
3184
})
3183
3185
}
3184
3186
}
3187
+
3188
+ type mockConnVDR struct {
3189
+ tracker.Peers
3190
+ percent float64
3191
+ }
3192
+
3193
+ func (m * mockConnVDR ) ConnectedPercent () float64 {
3194
+ return m .percent
3195
+ }
3196
+
3197
+ type logBuffer struct {
3198
+ bytes.Buffer
3199
+ }
3200
+
3201
+ func (logBuffer ) Close () error {
3202
+ return nil
3203
+ }
3204
+
3205
+ func TestEngineAbortQueryWhenInPartition (t * testing.T ) {
3206
+ require := require .New (t )
3207
+
3208
+ // Buffer to record the log entries
3209
+ buff := logBuffer {}
3210
+
3211
+ conf := DefaultConfig (t )
3212
+ // Overwrite the log to record what it says
3213
+ conf .Ctx .Log = logging .NewLogger ("" , logging .NewWrappedCore (logging .Verbo , & buff , logging .Plain .ConsoleEncoder ()))
3214
+ conf .Params = snowball .DefaultParameters
3215
+ conf .ConnectedValidators = & mockConnVDR {percent : 0.7 , Peers : conf .ConnectedValidators }
3216
+
3217
+ _ , _ , _ , _ , engine := setup (t , conf )
3218
+
3219
+ // Gossip will cause a pull query if enough stake is connected
3220
+ engine .sendQuery (context .Background (), ids.ID {}, nil , false )
3221
+
3222
+ require .Contains (buff .String (), errInsufficientStake )
3223
+ }
0 commit comments