Merge pull request #560 from Masterminds/fix/287

Fixed #287: When file or directory not found provide useful message
diff --git a/.travis.yml b/.travis.yml
index 726c146..0078c9c 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -18,7 +18,7 @@
 # in the vendor directory. We don't need to test all dependent packages.
 # Only testing this project.
 script:
-  - GO15VENDOREXPERIMENT=1 make test
+  - GO15VENDOREXPERIMENT=1 make test integration-test
 
 notifications:
   webhooks:
diff --git a/Makefile b/Makefile
index 7bce28f..499bf4f 100644
--- a/Makefile
+++ b/Makefile
@@ -12,6 +12,11 @@
 test:
 	${GLIDE_GO_EXECUTABLE} test . ./gb ./path ./action ./tree ./util ./godep ./godep/strip ./gpm ./cfg ./dependency ./importer ./msg ./repo ./mirrors
 
+integration-test:
+	${GLIDE_GO_EXECUTABLE} build
+	./glide up
+	./glide install
+
 clean:
 	rm -f ./glide.test
 	rm -f ./glide
@@ -36,4 +41,4 @@
 	cd ..
 
 
-.PHONY: build test install clean bootstrap-dist build-all dist
+.PHONY: build test install clean bootstrap-dist build-all dist integration-test
diff --git a/mirrors/mirrors.go b/mirrors/mirrors.go
index e762a05..ec9bfcd 100644
--- a/mirrors/mirrors.go
+++ b/mirrors/mirrors.go
@@ -45,11 +45,18 @@
 		ov = &Mirrors{
 			Repos: make(MirrorRepos, 0),
 		}
-	} else {
-		ov, err = ReadMirrorsFile(op)
-		if err != nil {
-			return fmt.Errorf("Error reading existing mirrors.yaml file: %s", err)
+		return nil
+	} else if err != nil {
+		ov = &Mirrors{
+			Repos: make(MirrorRepos, 0),
 		}
+		return err
+	}
+
+	var err error
+	ov, err = ReadMirrorsFile(op)
+	if err != nil {
+		return fmt.Errorf("Error reading existing mirrors.yaml file: %s", err)
 	}
 
 	msg.Info("Loading mirrors from mirrors.yaml file")