diff options
| author | Dave Henderson <dhenderson@gmail.com> | 2019-03-14 17:55:45 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-03-14 17:55:45 -0400 |
| commit | a5706df3ccdb0d3018e7c75bdddff63d1e95e2df (patch) | |
| tree | 013d3737b7d82e038ea96fd2bf643d79a7620d9c | |
| parent | a94e9aaf842532448567c337d512ceec3b692ebb (diff) | |
| parent | 165234cdf37f35506f7d3684b5ccfde4b15e614c (diff) | |
Merge pull request #513 from hairyhenderson/file-write-truncate-on-write-512
file.Write should truncate existing files
| -rw-r--r-- | file/file.go | 2 | ||||
| -rw-r--r-- | file/file_test.go | 7 |
2 files changed, 8 insertions, 1 deletions
diff --git a/file/file.go b/file/file.go index f0043c46..19e5a771 100644 --- a/file/file.go +++ b/file/file.go @@ -65,7 +65,7 @@ func Write(filename string, content []byte) error { if err != nil { return errors.Wrapf(err, "failed to make dirs for %s", filename) } - inFile, err := fs.OpenFile(filename, os.O_RDWR|os.O_CREATE, mode) + inFile, err := fs.OpenFile(filename, os.O_RDWR|os.O_CREATE|os.O_TRUNC, mode) if err != nil { return errors.Wrapf(err, "failed to open %s", filename) } diff --git a/file/file_test.go b/file/file_test.go index 3a6744c7..9ea78a60 100644 --- a/file/file_test.go +++ b/file/file_test.go @@ -79,6 +79,13 @@ func TestWrite(t *testing.T) { assert.NoError(t, err) assert.Equal(t, "Hello world", string(out)) + err = Write(foopath, []byte("truncate")) + assert.NoError(t, err) + + out, err = ioutil.ReadFile(foopath) + assert.NoError(t, err) + assert.Equal(t, "truncate", string(out)) + foopath = filepath.Join(newwd, "nonexistant", "subdir", "foo") err = Write(foopath, []byte("Hello subdirranean world!")) assert.NoError(t, err) |
