diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2021-05-06 07:48:03 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-06 07:48:03 -0400 |
commit | b6405c1ae6fb1ac6b08493fa8e2f77a0fe9ff39e (patch) | |
tree | 1aecc801327eb595805c27607e5e3bb28a19da90 | |
parent | 0b05ba808d5e2fc75ce10b23405bd5c05da2c331 (diff) | |
parent | 68accbf8e30db59d93ec894836aa0b0f78fc1ef4 (diff) | |
download | podman-b6405c1ae6fb1ac6b08493fa8e2f77a0fe9ff39e.tar.gz podman-b6405c1ae6fb1ac6b08493fa8e2f77a0fe9ff39e.tar.bz2 podman-b6405c1ae6fb1ac6b08493fa8e2f77a0fe9ff39e.zip |
Merge pull request #10242 from giuseppe/fix-iidfile-remote-build
build: improve regex for iidfile
-rw-r--r-- | pkg/bindings/images/build.go | 7 | ||||
-rw-r--r-- | pkg/bindings/images/build_test.go | 17 |
2 files changed, 22 insertions, 2 deletions
diff --git a/pkg/bindings/images/build.go b/pkg/bindings/images/build.go index c0e5706a5..6acfcc1c8 100644 --- a/pkg/bindings/images/build.go +++ b/pkg/bindings/images/build.go @@ -28,6 +28,10 @@ import ( "github.com/sirupsen/logrus" ) +var ( + iidRegex = regexp.MustCompile(`^[0-9a-f]{12}`) +) + // Build creates an image using a containerfile reference func Build(ctx context.Context, containerFiles []string, options entities.BuildOptions) (*entities.BuildReport, error) { params := url.Values{} @@ -337,7 +341,6 @@ func Build(ctx context.Context, containerFiles []string, options entities.BuildO } dec := json.NewDecoder(body) - re := regexp.MustCompile(`[0-9a-f]{12}`) var id string var mErr error @@ -366,7 +369,7 @@ func Build(ctx context.Context, containerFiles []string, options entities.BuildO switch { case s.Stream != "": stdout.Write([]byte(s.Stream)) - if re.Match([]byte(s.Stream)) { + if iidRegex.Match([]byte(s.Stream)) { id = strings.TrimSuffix(s.Stream, "\n") } case s.Error != "": diff --git a/pkg/bindings/images/build_test.go b/pkg/bindings/images/build_test.go new file mode 100644 index 000000000..e4035d5f8 --- /dev/null +++ b/pkg/bindings/images/build_test.go @@ -0,0 +1,17 @@ +package images + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestBuildMatchIID(t *testing.T) { + assert.True(t, iidRegex.MatchString("a883dafc480d466ee04e0d6da986bd78eb1fdd2178d04693723da3a8f95d42f4")) + assert.True(t, iidRegex.MatchString("3da3a8f95d42")) + assert.False(t, iidRegex.MatchString("3da3")) +} + +func TestBuildNotMatchStatusMessage(t *testing.T) { + assert.False(t, iidRegex.MatchString("Copying config a883dafc480d466ee04e0d6da986bd78eb1fdd2178d04693723da3a8f95d42f4")) +} |