Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 2631968

Browse files
authored
Merge pull request moby#31531 from dnephin/cleanup-image-tests
Use `assert` in `image` package unit tests
2 parents 87c5f67 + 7abeb08 commit 2631968

File tree

5 files changed

+214
-464
lines changed

5 files changed

+214
-464
lines changed

builder/dockerfile/builder.go

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -287,18 +287,7 @@ func (b *Builder) build(stdout io.Writer, stderr io.Writer, out io.Writer) (stri
287287
}
288288
}
289289

290-
// check if there are any leftover build-args that were passed but not
291-
// consumed during build. Return a warning, if there are any.
292-
leftoverArgs := []string{}
293-
for arg := range b.options.BuildArgs {
294-
if !b.isBuildArgAllowed(arg) {
295-
leftoverArgs = append(leftoverArgs, arg)
296-
}
297-
}
298-
299-
if len(leftoverArgs) > 0 {
300-
fmt.Fprintf(b.Stderr, "[Warning] One or more build-args %v were not consumed\n", leftoverArgs)
301-
}
290+
b.warnOnUnusedBuildArgs()
302291

303292
if b.image == "" {
304293
return "", errors.New("No image was generated. Is your Dockerfile empty?")
@@ -326,6 +315,21 @@ func (b *Builder) build(stdout io.Writer, stderr io.Writer, out io.Writer) (stri
326315
return b.image, nil
327316
}
328317

318+
// check if there are any leftover build-args that were passed but not
319+
// consumed during build. Print a warning, if there are any.
320+
func (b *Builder) warnOnUnusedBuildArgs() {
321+
leftoverArgs := []string{}
322+
for arg := range b.options.BuildArgs {
323+
if !b.isBuildArgAllowed(arg) {
324+
leftoverArgs = append(leftoverArgs, arg)
325+
}
326+
}
327+
328+
if len(leftoverArgs) > 0 {
329+
fmt.Fprintf(b.Stderr, "[Warning] One or more build-args %v were not consumed\n", leftoverArgs)
330+
}
331+
}
332+
329333
// Cancel cancels an ongoing Dockerfile build.
330334
func (b *Builder) Cancel() {
331335
b.cancel()

image/fs.go

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
"github.com/Sirupsen/logrus"
1111
"github.com/docker/docker/pkg/ioutils"
1212
"github.com/opencontainers/go-digest"
13+
"github.com/pkg/errors"
1314
)
1415

1516
// DigestWalkFunc is function called by StoreBackend.Walk
@@ -47,10 +48,10 @@ func newFSStore(root string) (*fs, error) {
4748
root: root,
4849
}
4950
if err := os.MkdirAll(filepath.Join(root, contentDirName, string(digest.Canonical)), 0700); err != nil {
50-
return nil, err
51+
return nil, errors.Wrap(err, "failed to create storage backend")
5152
}
5253
if err := os.MkdirAll(filepath.Join(root, metadataDirName, string(digest.Canonical)), 0700); err != nil {
53-
return nil, err
54+
return nil, errors.Wrap(err, "failed to create storage backend")
5455
}
5556
return s, nil
5657
}
@@ -96,7 +97,7 @@ func (s *fs) Get(dgst digest.Digest) ([]byte, error) {
9697
func (s *fs) get(dgst digest.Digest) ([]byte, error) {
9798
content, err := ioutil.ReadFile(s.contentFile(dgst))
9899
if err != nil {
99-
return nil, err
100+
return nil, errors.Wrapf(err, "failed to get digest %s", dgst)
100101
}
101102

102103
// todo: maybe optional
@@ -118,7 +119,7 @@ func (s *fs) Set(data []byte) (digest.Digest, error) {
118119

119120
dgst := digest.FromBytes(data)
120121
if err := ioutils.AtomicWriteFile(s.contentFile(dgst), data, 0600); err != nil {
121-
return "", err
122+
return "", errors.Wrap(err, "failed to write digest data")
122123
}
123124

124125
return dgst, nil
@@ -161,7 +162,11 @@ func (s *fs) GetMetadata(dgst digest.Digest, key string) ([]byte, error) {
161162
if _, err := s.get(dgst); err != nil {
162163
return nil, err
163164
}
164-
return ioutil.ReadFile(filepath.Join(s.metadataDir(dgst), key))
165+
bytes, err := ioutil.ReadFile(filepath.Join(s.metadataDir(dgst), key))
166+
if err != nil {
167+
return nil, errors.Wrap(err, "failed to read metadata")
168+
}
169+
return bytes, nil
165170
}
166171

167172
// DeleteMetadata removes the metadata associated with a digest.

0 commit comments

Comments
 (0)