From 17d71c49ceea95e2b8eb5958c4624079eb4b186a Mon Sep 17 00:00:00 2001
From: rht <rudyht@gmail.com>
Date: Tue, 26 May 2015 16:23:21 +0700
Subject: [PATCH] Add test for no repo error message

---
 repo/fsrepo/fsrepo.go       |  2 +-
 test/sharness/t0020-init.sh | 15 ++++++++++++++-
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/repo/fsrepo/fsrepo.go b/repo/fsrepo/fsrepo.go
index 446458a37..9c47b1660 100644
--- a/repo/fsrepo/fsrepo.go
+++ b/repo/fsrepo/fsrepo.go
@@ -52,7 +52,7 @@ type NoRepoError struct {
 var _ error = NoRepoError{}
 
 func (err NoRepoError) Error() string {
-	return fmt.Sprintf("no ipfs repo found in '%s'. please run: ipfs init ", err.Path)
+	return fmt.Sprintf("no ipfs repo found in %s. please run: ipfs init", err.Path)
 }
 
 const (
diff --git a/test/sharness/t0020-init.sh b/test/sharness/t0020-init.sh
index 6ca20af0a..331fb7812 100755
--- a/test/sharness/t0020-init.sh
+++ b/test/sharness/t0020-init.sh
@@ -21,9 +21,22 @@ test_expect_success "ipfs init fails" '
 
 test_expect_success "ipfs init output looks good" '
 	echo "Error: failed to take lock at $IPFS_PATH: permission denied" > init_fail_exp &&
-	test_cmp init_fail_out init_fail_exp
+	test_cmp init_fail_exp init_fail_out
 '
 
+# test no repo error message
+# this applies to `ipfs add sth`, `ipfs refs <hash>`
+test_expect_success "ipfs cat fails" '
+    export IPFS_PATH="$(pwd)/.ipfs" &&
+    test_must_fail ipfs cat Qmaa4Rw81a3a1VEx4LxB7HADUAXvZFhCoRdBzsMZyZmqHD 2> cat_fail_out
+'
+
+test_expect_success "ipfs cat no repo message looks good" '
+    echo "Error: no ipfs repo found in $IPFS_PATH. please run: ipfs init" > cat_fail_exp &&
+    test_cmp cat_fail_exp cat_fail_out
+'
+
+# test that init succeeds
 test_expect_success "ipfs init succeeds" '
 	export IPFS_PATH="$(pwd)/.ipfs" &&
 	BITS="2048" &&
-- 
GitLab