summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--file/file.go2
-rw-r--r--file/file_test.go7
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)