diff options
| author | Dave Henderson <dhenderson@gmail.com> | 2021-02-28 20:36:22 -0500 |
|---|---|---|
| committer | Dave Henderson <dhenderson@gmail.com> | 2021-02-28 20:48:18 -0500 |
| commit | 6d6dceb55dc497895ef0957cd925f4b342e7ae56 (patch) | |
| tree | d27833ec3ee2c78e29f3de7a6abecac75d4b3245 /internal | |
| parent | 672aa486e9c5b6af7b65becad8507e5ac577794d (diff) | |
Fix --input-dir=. bug
Signed-off-by: Dave Henderson <dhenderson@gmail.com>
Diffstat (limited to 'internal')
| -rw-r--r-- | internal/tests/inprocess-integration/inputdir_test.go | 29 | ||||
| -rw-r--r-- | internal/tests/integration/inputdir_test.go | 24 |
2 files changed, 53 insertions, 0 deletions
diff --git a/internal/tests/inprocess-integration/inputdir_test.go b/internal/tests/inprocess-integration/inputdir_test.go index ed43ce7b..176bd6a5 100644 --- a/internal/tests/inprocess-integration/inputdir_test.go +++ b/internal/tests/inprocess-integration/inputdir_test.go @@ -233,3 +233,32 @@ func (s *InputDirSuite) TestReportsFilenameWithBadInputFile(c *C) { assert.ErrorContains(c, err, "bad.tmpl:1: unexpected {{end}}") assert.Equal(c, "", o) } + +func (s *InputDirSuite) TestInputDirCwd(c *C) { + o, e, err := cmdWithDir(c, s.tmpDir.Path(), + "--input-dir", ".", + "--include", "*.txt", + "--output-map", `{{ .in | strings.ReplaceAll ".txt" ".out" }}`, + "-d", "config="+s.tmpDir.Join("config.yml"), + ) + assertSuccess(c, o, e, err, "") + + testdata := []struct { + path string + mode os.FileMode + content string + }{ + {s.tmpDir.Join("in", "eins.out"), 0644, "eins"}, + {s.tmpDir.Join("in", "inner", "deux.out"), 0444, "deux"}, + {s.tmpDir.Join("in", "vier.out"), 0544, "deux * deux"}, + } + for _, v := range testdata { + info, err := os.Stat(v.path) + assert.NilError(c, err) + m := config.NormalizeFileMode(v.mode) + assert.Equal(c, m, info.Mode(), v.path) + content, err := ioutil.ReadFile(v.path) + assert.NilError(c, err) + assert.Equal(c, v.content, string(content)) + } +} diff --git a/internal/tests/integration/inputdir_test.go b/internal/tests/integration/inputdir_test.go index d332564b..4e01cf12 100644 --- a/internal/tests/integration/inputdir_test.go +++ b/internal/tests/integration/inputdir_test.go @@ -246,3 +246,27 @@ func (s *InputDirSuite) TestReportsFilenameWithBadInputFile(c *C) { Err: "bad.tmpl:1: unexpected {{end}}", }) } + +func (s *InputDirSuite) TestInputDirCwd(c *C) { + result := icmd.RunCmd(icmd.Command(GomplateBin, + "--input-dir", ".", + "--include", "*.txt", + "--output-map", `{{ .in | strings.ReplaceAll ".txt" ".out" }}`, + "-d", "config="+s.tmpDir.Join("config.yml"), + ), func(c *icmd.Cmd) { + c.Dir = s.tmpDir.Path() + }) + result.Assert(c, icmd.Success) + + content, err := ioutil.ReadFile(s.tmpDir.Join("in", "eins.out")) + assert.NilError(c, err) + assert.Equal(c, "eins", string(content)) + + content, err = ioutil.ReadFile(s.tmpDir.Join("in", "inner", "deux.out")) + assert.NilError(c, err) + assert.Equal(c, "deux", string(content)) + + content, err = ioutil.ReadFile(s.tmpDir.Join("in", "vier.out")) + assert.NilError(c, err) + assert.Equal(c, `deux * deux`, string(content)) +} |
