diff --git a/pgservicefile.go b/pgservicefile.go index a5fae76..797bbab 100644 --- a/pgservicefile.go +++ b/pgservicefile.go @@ -60,7 +60,7 @@ func ParseServicefile(r io.Reader) (*Servicefile, error) { } else { parts := strings.SplitN(line, "=", 2) if len(parts) != 2 { - fmt.Errorf("unable to parse line %d", lineNum) + return nil, fmt.Errorf("unable to parse line %d", lineNum) } key := strings.TrimSpace(parts[0]) diff --git a/pgservicefile_test.go b/pgservicefile_test.go index d071ac3..e5cc3ee 100644 --- a/pgservicefile_test.go +++ b/pgservicefile_test.go @@ -51,3 +51,11 @@ application_name = has space assert.Equal(t, "defuser", def.Settings["user"]) assert.Equal(t, "has space", def.Settings["application_name"]) } + +func TestParseServicefileWithInvalidFile(t *testing.T) { + buf := bytes.NewBufferString("Invalid syntax\n") + + servicefile, err := pgservicefile.ParseServicefile(buf) + assert.Error(t, err) + assert.Nil(t, servicefile) +}