add a test for repo verify, and make it return non-zero code on failure

License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
This commit is contained in:
Jeromy 2016-07-05 14:58:14 -07:00
parent c53154cd2b
commit d13befe9ef
2 changed files with 11 additions and 0 deletions

View File

@ -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 += " "
}

View File

@ -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