The Docker CLI
Go to file
Aaron Lehmann eb366ae039 Remove pkg/testutil/assert in favor of testify
I noticed that we're using a homegrown package for assertions. The
functions are extremely similar to testify, but with enough slight
differences to be confusing (for example, Equal takes its arguments in a
different order). We already vendor testify, and it's used in a few
places by tests.

I also found some problems with pkg/testutil/assert. For example, the
NotNil function seems to be broken. It checks the argument against
"nil", which only works for an interface. If you pass in a nil map or
slice, the equality check will fail.

In the interest of avoiding NIH, I'm proposing replacing
pkg/testutil/assert with testify. The test code looks almost the same,
but we avoid the confusion of having two similar but slightly different
assertion packages, and having to maintain our own package instead of
using a commonly-used one.

In the process, I found a few places where the tests should halt if an
assertion fails, so I've made those cases (that I noticed) use "require"
instead of "assert", and I've vendored the "require" package from
testify alongside the already-present "assert" package.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2017-05-15 11:57:21 +02:00
.github Add github templates and initial poule configuration 2017-05-09 16:57:46 +02:00
cli Merge pull request #44 from cyli/root-ca-info-in-cli 2017-05-12 17:19:23 -07:00
cmd/docker Display proper version information 2017-05-09 14:22:51 -07:00
dockerfiles Add check for compose bindata. 2017-05-09 15:42:22 -04:00
opts Remove pkg/testutil/assert in favor of testify 2017-05-15 11:57:21 +02:00
script/validate Add check for compose bindata. 2017-05-09 15:42:22 -04:00
scripts/build Display proper version information 2017-05-09 14:22:51 -07:00
vendor Vendor docker/docker 2017-05-11 13:42:46 -07:00
.dockerignore make go build and docker build operations faster 2017-04-27 15:06:57 -07:00
.gitignore make go build and docker build operations faster 2017-04-27 15:06:57 -07:00
LICENSE Add project files 2017-04-17 17:49:33 -04:00
MAINTAINERS Add project files 2017-04-17 17:49:33 -04:00
Makefile Merge pull request #56 from dnephin/add-compose-bindata-check 2017-05-10 15:49:06 -04:00
NOTICE Add project files 2017-04-17 17:49:33 -04:00
README.md rm client and vendor it instead 2017-05-08 10:33:56 -07:00
circle.yml Add check for compose bindata. 2017-05-09 15:42:22 -04:00
docker.Makefile Fix typo in docker.Makefile 2017-05-11 02:02:13 -07:00
gometalinter.json Add line length linter 2017-05-08 15:57:56 -04:00
poule.yml Add github templates and initial poule configuration 2017-05-09 16:57:46 +02:00
vendor.conf Vendor docker/docker 2017-05-11 13:42:46 -07:00

README.md

build status

docker/cli

This repository is the home of the cli used in the Docker CE and Docker EE products.

It's composed of 3 main folders

  • /cli - all the commands code.
  • /cmd/docker - the entrypoint of the cli, aka the main.

Development

Build locally

$ make build
$ make clean

You will need gox for this one:

$ make cross

If you don't have gox, you can use the "in-container" version of make cross, listed below.

Build inside container

$ make -f docker.Makefile build
$ make -f docker.Makefile clean
$ make -f docker.Makefile cross

In-container development environment

$ make -f docker.Makefile dev

Then you can use the build locally commands:

$ make build
$ make clean

Legal

Brought to you courtesy of our legal counsel. For more context, please see the NOTICE document in this repo.

Use and transfer of Docker may be subject to certain restrictions by the United States and other governments.

It is your responsibility to ensure that your use and/or transfer does not violate applicable laws.

For more information, please see https://www.bis.doc.gov

Licensing

docker/cli is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.