From b6f14ae676b92ba5e27943c5a873c476d3e9a0f8 Mon Sep 17 00:00:00 2001 From: JeromeJu <46675578+JeromeJu@users.noreply.github.com> Date: Tue, 10 Oct 2023 11:07:18 -0400 Subject: [PATCH] Add test cases and docString for regex in COPY command (#2773) --- pkg/commands/copy.go | 1 + pkg/commands/copy_test.go | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/pkg/commands/copy.go b/pkg/commands/copy.go index f5736bcab6..2c3e3d4661 100644 --- a/pkg/commands/copy.go +++ b/pkg/commands/copy.go @@ -58,6 +58,7 @@ func (c *CopyCommand) ExecuteCommand(config *v1.Config, buildArgs *dockerfile.Bu return errors.Wrap(err, "getting user group from chown") } + // sources from the Copy command are resolved with wildcards {*?[} srcs, dest, err := util.ResolveEnvAndWildcards(c.cmd.SourcesAndDest, c.fileContext, replacementEnvs) if err != nil { return errors.Wrap(err, "resolving src") diff --git a/pkg/commands/copy_test.go b/pkg/commands/copy_test.go index 7851ffa27c..0504df423b 100755 --- a/pkg/commands/copy_test.go +++ b/pkg/commands/copy_test.go @@ -51,6 +51,21 @@ var copyTests = []struct { sourcesAndDest: []string{"foo", "tempCopyExecuteTest"}, expectedDest: []string{"tempCopyExecuteTest"}, }, + { + name: "copy f* into tempCopyExecuteTest", + sourcesAndDest: []string{"foo*", "tempCopyExecuteTest"}, + expectedDest: []string{"tempCopyExecuteTest"}, + }, + { + name: "copy fo? into tempCopyExecuteTest", + sourcesAndDest: []string{"fo?", "tempCopyExecuteTest"}, + expectedDest: []string{"tempCopyExecuteTest"}, + }, + { + name: "copy f[o][osp] into tempCopyExecuteTest", + sourcesAndDest: []string{"f[o][osp]", "tempCopyExecuteTest"}, + expectedDest: []string{"tempCopyExecuteTest"}, + }, } func setupTestTemp(t *testing.T) string {