From 0ff0c0fc7aae2d2fed041c5f41622bdff3acd835 Mon Sep 17 00:00:00 2001 From: Martin Milata Date: Mon, 12 Dec 2016 14:41:36 +0100 Subject: [PATCH] Propagate errors encountered when reading file --- godotenv.go | 4 ++++ godotenv_test.go | 9 +++++++++ 2 files changed, 13 insertions(+) diff --git a/godotenv.go b/godotenv.go index 94b2676..d1b54bd 100644 --- a/godotenv.go +++ b/godotenv.go @@ -143,6 +143,10 @@ func readFile(filename string) (envMap map[string]string, err error) { lines = append(lines, scanner.Text()) } + if err = scanner.Err(); err != nil { + return + } + for _, fullLine := range lines { if !isIgnoredLine(fullLine) { key, value, err := parseLine(fullLine) diff --git a/godotenv_test.go b/godotenv_test.go index e93539e..84f8d4b 100644 --- a/godotenv_test.go +++ b/godotenv_test.go @@ -269,3 +269,12 @@ func TestLinesToIgnore(t *testing.T) { t.Error("ignoring a perfectly valid line to parse") } } + +func TestErrorReadDirectory(t *testing.T) { + envFileName := "fixtures/" + envMap, err := Read(envFileName) + + if err == nil { + t.Errorf("Expected error, got %v", envMap) + } +}