From d13befe9ef7fcdd62b523e7a677bed258121c474 Mon Sep 17 00:00:00 2001 From: Jeromy Date: Tue, 5 Jul 2016 14:58:14 -0700 Subject: [PATCH] add a test for repo verify, and make it return non-zero code on failure License: MIT Signed-off-by: Jeromy --- core/commands/repo.go | 6 ++++++ test/sharness/t0084-repo-read-rehash.sh | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/core/commands/repo.go b/core/commands/repo.go index 13428c988..6afd533f4 100644 --- a/core/commands/repo.go +++ b/core/commands/repo.go @@ -6,6 +6,7 @@ import ( "io" "os" "path/filepath" + "strings" bstore "github.com/ipfs/go-ipfs/blocks/blockstore" cmds "github.com/ipfs/go-ipfs/commands" @@ -263,6 +264,8 @@ var repoVerifyCmd = &cmds.Command{ } if fails == 0 { out <- &VerifyProgress{Message: "verify complete, all blocks validated."} + } else { + out <- &VerifyProgress{Message: "verify complete, some blocks were corrupt."} } }() @@ -280,6 +283,9 @@ var repoVerifyCmd = &cmds.Command{ buf := new(bytes.Buffer) if obj.Message != "" { + if strings.Contains(obj.Message, "blocks were corrupt") { + return nil, fmt.Errorf(obj.Message) + } if len(obj.Message) < 20 { obj.Message += " " } diff --git a/test/sharness/t0084-repo-read-rehash.sh b/test/sharness/t0084-repo-read-rehash.sh index 9f4e7641f..a4831f0f0 100755 --- a/test/sharness/t0084-repo-read-rehash.sh +++ b/test/sharness/t0084-repo-read-rehash.sh @@ -34,4 +34,9 @@ test_expect_success 'getting modified block fails' ' grep "block in storage has different hash than requested" err_msg ' +test_expect_success "block shows up in repo verify" ' + test_expect_code 1 ipfs repo verify > verify_out && + grep "$H_BLOCK2" verify_out +' + test_done