eb366ae039
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> |
||
---|---|---|
.github | ||
cli | ||
cmd/docker | ||
dockerfiles | ||
opts | ||
script/validate | ||
scripts/build | ||
vendor | ||
.dockerignore | ||
.gitignore | ||
LICENSE | ||
MAINTAINERS | ||
Makefile | ||
NOTICE | ||
README.md | ||
circle.yml | ||
docker.Makefile | ||
gometalinter.json | ||
poule.yml | ||
vendor.conf |
README.md
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.