From 3c3a180417bd0fa5106884e9eb78f28171bd93a1 Mon Sep 17 00:00:00 2001 From: Alexander Neumann Date: Sun, 7 Aug 2016 12:36:24 +0200 Subject: [PATCH] Move RandomID() to backend package --- src/restic/backend/testing.go | 17 +++++++++++++++++ src/restic/repository/index_test.go | 29 +++++++++-------------------- 2 files changed, 26 insertions(+), 20 deletions(-) create mode 100644 src/restic/backend/testing.go diff --git a/src/restic/backend/testing.go b/src/restic/backend/testing.go new file mode 100644 index 000000000..e0c3dd569 --- /dev/null +++ b/src/restic/backend/testing.go @@ -0,0 +1,17 @@ +package backend + +import ( + "crypto/rand" + "io" +) + +// RandomID retuns a randomly generated ID. This is mainly used for testing. +// When reading from rand fails, the function panics. +func RandomID() ID { + id := ID{} + _, err := io.ReadFull(rand.Reader, id[:]) + if err != nil { + panic(err) + } + return id +} diff --git a/src/restic/repository/index_test.go b/src/restic/repository/index_test.go index 5da7791f4..a16c6f2e1 100644 --- a/src/restic/repository/index_test.go +++ b/src/restic/repository/index_test.go @@ -2,8 +2,6 @@ package repository_test import ( "bytes" - "crypto/rand" - "io" "testing" "restic/backend" @@ -12,15 +10,6 @@ import ( . "restic/test" ) -func randomID() backend.ID { - id := backend.ID{} - _, err := io.ReadFull(rand.Reader, id[:]) - if err != nil { - panic(err) - } - return id -} - func TestIndexSerialize(t *testing.T) { type testEntry struct { id backend.ID @@ -34,11 +23,11 @@ func TestIndexSerialize(t *testing.T) { // create 50 packs with 20 blobs each for i := 0; i < 50; i++ { - packID := randomID() + packID := backend.RandomID() pos := uint(0) for j := 0; j < 20; j++ { - id := randomID() + id := backend.RandomID() length := uint(i*100 + j) idx.Store(repository.PackedBlob{ Type: pack.Data, @@ -104,11 +93,11 @@ func TestIndexSerialize(t *testing.T) { // add more blobs to idx newtests := []testEntry{} for i := 0; i < 10; i++ { - packID := randomID() + packID := backend.RandomID() pos := uint(0) for j := 0; j < 10; j++ { - id := randomID() + id := backend.RandomID() length := uint(i*100 + j) idx.Store(repository.PackedBlob{ Type: pack.Data, @@ -138,7 +127,7 @@ func TestIndexSerialize(t *testing.T) { Assert(t, idx.Final(), "index not final after encoding") - id := randomID() + id := backend.RandomID() OK(t, idx.SetID(id)) id2, err := idx.ID() Assert(t, id2.Equal(id), @@ -175,11 +164,11 @@ func TestIndexSize(t *testing.T) { packs := 200 blobs := 100 for i := 0; i < packs; i++ { - packID := randomID() + packID := backend.RandomID() pos := uint(0) for j := 0; j < blobs; j++ { - id := randomID() + id := backend.RandomID() length := uint(i*100 + j) idx.Store(repository.PackedBlob{ Type: pack.Data, @@ -359,10 +348,10 @@ func TestIndexPacks(t *testing.T) { packs := backend.NewIDSet() for i := 0; i < 20; i++ { - packID := randomID() + packID := backend.RandomID() idx.Store(repository.PackedBlob{ Type: pack.Data, - ID: randomID(), + ID: backend.RandomID(), PackID: packID, Offset: 0, Length: 23,