From c34aa7253862242fede25eb6c88c676911449e72 Mon Sep 17 00:00:00 2001 From: Alexander Neumann Date: Tue, 26 Jan 2016 21:52:02 +0100 Subject: [PATCH] Remove duplicate function str2id --- backend/generic_test.go | 25 ++++++++----------------- backend/id.go | 2 ++ backend/ids_test.go | 35 ++++++++++++++++++----------------- backend/idset_test.go | 21 +++++++++++---------- 4 files changed, 39 insertions(+), 44 deletions(-) diff --git a/backend/generic_test.go b/backend/generic_test.go index cd401516c..ca5b78982 100644 --- a/backend/generic_test.go +++ b/backend/generic_test.go @@ -7,15 +7,6 @@ import ( . "github.com/restic/restic/test" ) -func str2id(s string) backend.ID { - id, err := backend.ParseID(s) - if err != nil { - panic(err) - } - - return id -} - type mockBackend struct { list func(backend.Type, <-chan struct{}) <-chan string } @@ -25,14 +16,14 @@ func (m mockBackend) List(t backend.Type, done <-chan struct{}) <-chan string { } var samples = backend.IDs{ - str2id("20bdc1402a6fc9b633aaffffffffffffffffffffffffffffffffffffffffffff"), - str2id("20bdc1402a6fc9b633ccd578c4a92d0f4ef1a457fa2e16c596bc73fb409d6cc0"), - str2id("20bdc1402a6fc9b633ffffffffffffffffffffffffffffffffffffffffffffff"), - str2id("20ff988befa5fc40350f00d531a767606efefe242c837aaccb80673f286be53d"), - str2id("326cb59dfe802304f96ee9b5b9af93bdee73a30f53981e5ec579aedb6f1d0f07"), - str2id("86b60b9594d1d429c4aa98fa9562082cabf53b98c7dc083abe5dae31074dd15a"), - str2id("96c8dbe225079e624b5ce509f5bd817d1453cd0a85d30d536d01b64a8669aeae"), - str2id("fa31d65b87affcd167b119e9d3d2a27b8236ca4836cb077ed3e96fcbe209b792"), + ParseID("20bdc1402a6fc9b633aaffffffffffffffffffffffffffffffffffffffffffff"), + ParseID("20bdc1402a6fc9b633ccd578c4a92d0f4ef1a457fa2e16c596bc73fb409d6cc0"), + ParseID("20bdc1402a6fc9b633ffffffffffffffffffffffffffffffffffffffffffffff"), + ParseID("20ff988befa5fc40350f00d531a767606efefe242c837aaccb80673f286be53d"), + ParseID("326cb59dfe802304f96ee9b5b9af93bdee73a30f53981e5ec579aedb6f1d0f07"), + ParseID("86b60b9594d1d429c4aa98fa9562082cabf53b98c7dc083abe5dae31074dd15a"), + ParseID("96c8dbe225079e624b5ce509f5bd817d1453cd0a85d30d536d01b64a8669aeae"), + ParseID("fa31d65b87affcd167b119e9d3d2a27b8236ca4836cb077ed3e96fcbe209b792"), } func TestPrefixLength(t *testing.T) { diff --git a/backend/id.go b/backend/id.go index e76d264f5..115792707 100644 --- a/backend/id.go +++ b/backend/id.go @@ -86,10 +86,12 @@ func (id ID) Compare(other ID) int { return bytes.Compare(other[:], id[:]) } +// MarshalJSON returns the JSON encoding of id. func (id ID) MarshalJSON() ([]byte, error) { return json.Marshal(id.String()) } +// UnmarshalJSON parses the JSON-encoded data and stores the result in id. func (id *ID) UnmarshalJSON(b []byte) error { var s string err := json.Unmarshal(b, &s) diff --git a/backend/ids_test.go b/backend/ids_test.go index 02647eba1..eac56d30c 100644 --- a/backend/ids_test.go +++ b/backend/ids_test.go @@ -5,6 +5,7 @@ import ( "testing" "github.com/restic/restic/backend" + . "github.com/restic/restic/test" ) var uniqTests = []struct { @@ -12,37 +13,37 @@ var uniqTests = []struct { }{ { backend.IDs{ - str2id("7bb086db0d06285d831485da8031281e28336a56baa313539eaea1c73a2a1a40"), - str2id("1285b30394f3b74693cc29a758d9624996ae643157776fce8154aabd2f01515f"), - str2id("7bb086db0d06285d831485da8031281e28336a56baa313539eaea1c73a2a1a40"), + ParseID("7bb086db0d06285d831485da8031281e28336a56baa313539eaea1c73a2a1a40"), + ParseID("1285b30394f3b74693cc29a758d9624996ae643157776fce8154aabd2f01515f"), + ParseID("7bb086db0d06285d831485da8031281e28336a56baa313539eaea1c73a2a1a40"), }, backend.IDs{ - str2id("7bb086db0d06285d831485da8031281e28336a56baa313539eaea1c73a2a1a40"), - str2id("1285b30394f3b74693cc29a758d9624996ae643157776fce8154aabd2f01515f"), + ParseID("7bb086db0d06285d831485da8031281e28336a56baa313539eaea1c73a2a1a40"), + ParseID("1285b30394f3b74693cc29a758d9624996ae643157776fce8154aabd2f01515f"), }, }, { backend.IDs{ - str2id("1285b30394f3b74693cc29a758d9624996ae643157776fce8154aabd2f01515f"), - str2id("7bb086db0d06285d831485da8031281e28336a56baa313539eaea1c73a2a1a40"), - str2id("7bb086db0d06285d831485da8031281e28336a56baa313539eaea1c73a2a1a40"), + ParseID("1285b30394f3b74693cc29a758d9624996ae643157776fce8154aabd2f01515f"), + ParseID("7bb086db0d06285d831485da8031281e28336a56baa313539eaea1c73a2a1a40"), + ParseID("7bb086db0d06285d831485da8031281e28336a56baa313539eaea1c73a2a1a40"), }, backend.IDs{ - str2id("1285b30394f3b74693cc29a758d9624996ae643157776fce8154aabd2f01515f"), - str2id("7bb086db0d06285d831485da8031281e28336a56baa313539eaea1c73a2a1a40"), + ParseID("1285b30394f3b74693cc29a758d9624996ae643157776fce8154aabd2f01515f"), + ParseID("7bb086db0d06285d831485da8031281e28336a56baa313539eaea1c73a2a1a40"), }, }, { backend.IDs{ - str2id("1285b30394f3b74693cc29a758d9624996ae643157776fce8154aabd2f01515f"), - str2id("f658198b405d7e80db5ace1980d125c8da62f636b586c46bf81dfb856a49d0c8"), - str2id("7bb086db0d06285d831485da8031281e28336a56baa313539eaea1c73a2a1a40"), - str2id("7bb086db0d06285d831485da8031281e28336a56baa313539eaea1c73a2a1a40"), + ParseID("1285b30394f3b74693cc29a758d9624996ae643157776fce8154aabd2f01515f"), + ParseID("f658198b405d7e80db5ace1980d125c8da62f636b586c46bf81dfb856a49d0c8"), + ParseID("7bb086db0d06285d831485da8031281e28336a56baa313539eaea1c73a2a1a40"), + ParseID("7bb086db0d06285d831485da8031281e28336a56baa313539eaea1c73a2a1a40"), }, backend.IDs{ - str2id("1285b30394f3b74693cc29a758d9624996ae643157776fce8154aabd2f01515f"), - str2id("f658198b405d7e80db5ace1980d125c8da62f636b586c46bf81dfb856a49d0c8"), - str2id("7bb086db0d06285d831485da8031281e28336a56baa313539eaea1c73a2a1a40"), + ParseID("1285b30394f3b74693cc29a758d9624996ae643157776fce8154aabd2f01515f"), + ParseID("f658198b405d7e80db5ace1980d125c8da62f636b586c46bf81dfb856a49d0c8"), + ParseID("7bb086db0d06285d831485da8031281e28336a56baa313539eaea1c73a2a1a40"), }, }, } diff --git a/backend/idset_test.go b/backend/idset_test.go index 7084c8abf..6659c2229 100644 --- a/backend/idset_test.go +++ b/backend/idset_test.go @@ -4,22 +4,23 @@ import ( "testing" "github.com/restic/restic/backend" + . "github.com/restic/restic/test" ) var idsetTests = []struct { id backend.ID seen bool }{ - {str2id("7bb086db0d06285d831485da8031281e28336a56baa313539eaea1c73a2a1a40"), false}, - {str2id("1285b30394f3b74693cc29a758d9624996ae643157776fce8154aabd2f01515f"), false}, - {str2id("7bb086db0d06285d831485da8031281e28336a56baa313539eaea1c73a2a1a40"), true}, - {str2id("7bb086db0d06285d831485da8031281e28336a56baa313539eaea1c73a2a1a40"), true}, - {str2id("1285b30394f3b74693cc29a758d9624996ae643157776fce8154aabd2f01515f"), true}, - {str2id("f658198b405d7e80db5ace1980d125c8da62f636b586c46bf81dfb856a49d0c8"), false}, - {str2id("7bb086db0d06285d831485da8031281e28336a56baa313539eaea1c73a2a1a40"), true}, - {str2id("1285b30394f3b74693cc29a758d9624996ae643157776fce8154aabd2f01515f"), true}, - {str2id("f658198b405d7e80db5ace1980d125c8da62f636b586c46bf81dfb856a49d0c8"), true}, - {str2id("7bb086db0d06285d831485da8031281e28336a56baa313539eaea1c73a2a1a40"), true}, + {ParseID("7bb086db0d06285d831485da8031281e28336a56baa313539eaea1c73a2a1a40"), false}, + {ParseID("1285b30394f3b74693cc29a758d9624996ae643157776fce8154aabd2f01515f"), false}, + {ParseID("7bb086db0d06285d831485da8031281e28336a56baa313539eaea1c73a2a1a40"), true}, + {ParseID("7bb086db0d06285d831485da8031281e28336a56baa313539eaea1c73a2a1a40"), true}, + {ParseID("1285b30394f3b74693cc29a758d9624996ae643157776fce8154aabd2f01515f"), true}, + {ParseID("f658198b405d7e80db5ace1980d125c8da62f636b586c46bf81dfb856a49d0c8"), false}, + {ParseID("7bb086db0d06285d831485da8031281e28336a56baa313539eaea1c73a2a1a40"), true}, + {ParseID("1285b30394f3b74693cc29a758d9624996ae643157776fce8154aabd2f01515f"), true}, + {ParseID("f658198b405d7e80db5ace1980d125c8da62f636b586c46bf81dfb856a49d0c8"), true}, + {ParseID("7bb086db0d06285d831485da8031281e28336a56baa313539eaea1c73a2a1a40"), true}, } func TestIDSet(t *testing.T) {