diff --git a/pkg/partition_info/partition_info.go b/pkg/partition_info/partition_info.go index 694c0a2..321f1e6 100644 --- a/pkg/partition_info/partition_info.go +++ b/pkg/partition_info/partition_info.go @@ -127,6 +127,8 @@ func createInfoFileIfNotExists(fileName string) (bool, error) { return false, err } return false, nil + } else if err != nil { + return false, err } return true, nil } diff --git a/pkg/partition_info/partition_info_test.go b/pkg/partition_info/partition_info_test.go index aeed00a..d5e9167 100644 --- a/pkg/partition_info/partition_info_test.go +++ b/pkg/partition_info/partition_info_test.go @@ -38,6 +38,17 @@ var _ = Describe("Partition Info file parsing", func() { fmt.Sprintf("partition-info-%d.yaml", time.Now().UnixNano())) }) + When("there is some error other than the file doesn't exist", func() { + It("returns 'false' and the error", func() { + // We are trying to write to a path that doesn't exist (not the file, the path). + // https://stackoverflow.com/a/66808328 + fileName = "\000x" + _, _, err := pi.NewPartitionInfoFromFile(fileName) + Expect(err).To(HaveOccurred()) + Expect(err.Error()).To(ContainSubstring("stat \000x: invalid argument")) + }) + }) + It("creates the file and returns 'false' and a non nil mapping", func() { result, existed, err := pi.NewPartitionInfoFromFile(fileName) Expect(err).ToNot(HaveOccurred())