Fix bug in snapshotting

This commit is contained in:
Priya Wadhwa 2018-06-21 14:07:59 -07:00
parent 4f4dda0563
commit 54282e3e8c
No known key found for this signature in database
GPG Key ID: 0D0DAFD8F7AA73AE
4 changed files with 10 additions and 7 deletions

View File

@ -149,7 +149,7 @@ func TestSnapshotFiles(t *testing.T) {
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
expectedFiles := []string{"/tmp", filepath.Join(testDir, "foo")} expectedFiles := []string{"/", "/tmp", filepath.Join(testDir, "foo")}
// Check contents of the snapshot, make sure contents is equivalent to snapshotFiles // Check contents of the snapshot, make sure contents is equivalent to snapshotFiles
reader := bytes.NewReader(contents) reader := bytes.NewReader(contents)

View File

@ -69,7 +69,7 @@ func ResolveEnvironmentReplacement(value string, envs []string, isFilepath bool)
return "", err return "", err
} }
fp = filepath.Clean(fp) fp = filepath.Clean(fp)
if IsDestDir(value) { if IsDestDir(value) && !IsDestDir(fp) {
fp = fp + "/" fp = fp + "/"
} }
return fp, nil return fp, nil

View File

@ -336,12 +336,12 @@ func Files(root string) ([]string, error) {
} }
// ParentDirectories returns a list of paths to all parent directories // ParentDirectories returns a list of paths to all parent directories
// Ex. /some/temp/dir -> [/some, /some/temp, /some/temp/dir] // Ex. /some/temp/dir -> [/, /some, /some/temp, /some/temp/dir]
func ParentDirectories(path string) []string { func ParentDirectories(path string) []string {
path = filepath.Clean(path) path = filepath.Clean(path)
dirs := strings.Split(path, "/") dirs := strings.Split(path, "/")
dirPath := constants.RootDir dirPath := constants.RootDir
var paths []string paths := []string{constants.RootDir}
for index, dir := range dirs { for index, dir := range dirs {
if dir == "" || index == (len(dirs)-1) { if dir == "" || index == (len(dirs)-1) {
continue continue

View File

@ -142,14 +142,17 @@ func Test_ParentDirectories(t *testing.T) {
name: "regular path", name: "regular path",
path: "/path/to/dir", path: "/path/to/dir",
expected: []string{ expected: []string{
"/",
"/path", "/path",
"/path/to", "/path/to",
}, },
}, },
{ {
name: "current directory", name: "current directory",
path: ".", path: ".",
expected: nil, expected: []string{
"/",
},
}, },
} }