diff options
author | baude <bbaude@redhat.com> | 2018-01-10 14:46:21 -0600 |
---|---|---|
committer | baude <bbaude@redhat.com> | 2018-01-11 18:42:54 -0600 |
commit | af3df2842c22667edf903eb6b5e2e606538c850e (patch) | |
tree | a3ac2f9c584afab6533484b169c3143d8ccde49d /cmd/podman/create.go | |
parent | 9adcb85929ac9536e967907c6a6057046a98ab16 (diff) | |
download | podman-af3df2842c22667edf903eb6b5e2e606538c850e.tar.gz podman-af3df2842c22667edf903eb6b5e2e606538c850e.tar.bz2 podman-af3df2842c22667edf903eb6b5e2e606538c850e.zip |
Test user input to spec
Create a mocked CLI instance so we can test that user-input
functions to run (create) end up in the spec correctly. It will
also help protect against regression include type changes.
We can decide if we want to test items one at a time or several
at a time.
Signed-off-by: baude <bbaude@redhat.com>
Diffstat (limited to 'cmd/podman/create.go')
-rw-r--r-- | cmd/podman/create.go | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/cmd/podman/create.go b/cmd/podman/create.go index 076e8c56e..ead2f6735 100644 --- a/cmd/podman/create.go +++ b/cmd/podman/create.go @@ -160,13 +160,18 @@ func createCmd(c *cli.Context) error { } } + if len(c.Args()) < 1 { + return errors.Errorf("image name or ID is required") + } + runtime, err := getRuntime(c) if err != nil { return errors.Wrapf(err, "error creating libpod runtime") } defer runtime.Shutdown(false) - createConfig, err := parseCreateOpts(c, runtime) + imageName, _, data, err := imageData(c, runtime, c.Args()[0]) + createConfig, err := parseCreateOpts(c, runtime, imageName, data) if err != nil { return err } @@ -365,15 +370,13 @@ func imageData(c *cli.Context, runtime *libpod.Runtime, image string) (string, s // Parses CLI options related to container creation into a config which can be // parsed into an OCI runtime spec -func parseCreateOpts(c *cli.Context, runtime *libpod.Runtime) (*createConfig, error) { +func parseCreateOpts(c *cli.Context, runtime *libpod.Runtime, imageName string, data *libpod.ImageData) (*createConfig, error) { + //imageName, imageID, data, err := imageData(c, runtime, image) var command []string var memoryLimit, memoryReservation, memorySwap, memoryKernel int64 var blkioWeight uint16 - if len(c.Args()) < 1 { - return nil, errors.Errorf("image name or ID is required") - } - image := c.Args()[0] + imageID := data.ID if len(c.Args()) > 1 { command = c.Args()[1:] @@ -460,10 +463,6 @@ func parseCreateOpts(c *cli.Context, runtime *libpod.Runtime) (*createConfig, er } shmDir = ctr.ShmDir() } - imageName, imageID, data, err := imageData(c, runtime, image) - if err != nil { - return nil, err - } // USER user := c.String("user") |