fixes infinite loop in audit TestVerifierHappyPath (#1617)

This commit is contained in:
Natalie Villasana 2019-04-01 17:27:07 -04:00 committed by GitHub
parent f80750693c
commit 42a141965d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 14 deletions

View File

@ -12,7 +12,6 @@ import (
"time"
"github.com/golang/protobuf/ptypes/timestamp"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"storj.io/storj/internal/testcontext"
@ -43,14 +42,13 @@ func TestAuditSegment(t *testing.T) {
t.Run("NextStripe", func(t *testing.T) {
for _, tt := range tests {
t.Run(tt.bm, func(t *testing.T) {
assert1 := assert.New(t)
stripe, err := cursor.NextStripe(ctx)
if err != nil {
assert1.Error(err)
assert1.Nil(stripe)
require.Error(t, err)
require.Nil(t, stripe)
}
if stripe != nil {
assert1.Nil(err)
require.Nil(t, err)
}
})
}

View File

@ -7,7 +7,6 @@ import (
"math/rand"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"go.uber.org/zap"
@ -23,29 +22,30 @@ func TestVerifierHappyPath(t *testing.T) {
}, func(t *testing.T, ctx *testcontext.Context, planet *testplanet.Planet) {
err := planet.Satellites[0].Audit.Service.Close()
assert.NoError(t, err)
require.NoError(t, err)
uplink := planet.Uplinks[0]
testData := make([]byte, 1*memory.MiB)
_, err = rand.Read(testData)
assert.NoError(t, err)
require.NoError(t, err)
err = uplink.Upload(ctx, planet.Satellites[0], "testbucket", "test/path", testData)
assert.NoError(t, err)
require.NoError(t, err)
pointerdb := planet.Satellites[0].Metainfo.Service
overlay := planet.Satellites[0].Overlay.Service
cursor := audit.NewCursor(pointerdb)
var stripe *audit.Stripe
for {
maxRetries := 3
for i := 0; i < maxRetries; i++ {
stripe, err = cursor.NextStripe(ctx)
if stripe != nil || err != nil {
break
}
}
require.NoError(t, err)
require.NotNil(t, stripe)
require.NotNil(t, stripe, "unable to get stripe; likely no pointers in pointerdb")
transport := planet.Satellites[0].Transport
orders := planet.Satellites[0].Orders.Service
@ -55,9 +55,9 @@ func TestVerifierHappyPath(t *testing.T) {
// stop some storage nodes to ensure audit can deal with it
err = planet.StopPeer(planet.StorageNodes[0])
assert.NoError(t, err)
require.NoError(t, err)
err = planet.StopPeer(planet.StorageNodes[1])
assert.NoError(t, err)
require.NoError(t, err)
// remove stopped nodes from overlay cache
err = planet.Satellites[0].Overlay.Service.Delete(ctx, planet.StorageNodes[0].ID())
@ -66,6 +66,6 @@ func TestVerifierHappyPath(t *testing.T) {
require.NoError(t, err)
_, err = verifier.Verify(ctx, stripe)
assert.NoError(t, err)
require.NoError(t, err)
})
}