icmd: replace all usages of os/exec with golang.org/x/sys/execabs

Following the changes in Go, and golang.org/x/tools themselves, this change
ensures that packages using exec.LookPath or exec.Command to find or run
binaries do not accidentally run programs from the current directory when
they mean to run programs from the system PATH instead.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
5 files changed
tree: ae13da10cac563cf01cffbde33d1d6066e228f17
  1. .circleci/
  2. .codecov.yml
  3. .github/
  4. .gitignore
  5. .golangci.yml
  6. CONTRIBUTING.md
  7. Dockerfile
  8. LICENSE
  9. README.md
  10. assert/
  11. env/
  12. fs/
  13. go.mod
  14. go.sum
  15. golden/
  16. icmd/
  17. internal/
  18. pkg.go
  19. poll/
  20. scripts/
  21. skip/
  22. x/
README.md

gotest.tools

A collection of packages to augment testing and support common patterns.

GoDoc CircleCI Go Reportcard

Usage

With Go modules enabled (go1.11+)

$ go get gotest.tools/v3
import "gotest.tools/v3/assert"

To use gotest.tools with an older version of Go that does not understand Go module paths pin to version v2.3.0.

Packages

  • assert - compare values and fail the test when a comparison fails
  • env - test code which uses environment variables
  • fs - create temporary files and compare a filesystem tree to an expected value
  • golden - compare large multi-line strings against values frozen in golden files
  • icmd - execute binaries and test the output
  • poll - test asynchronous code by polling until a desired state is reached
  • skip - skip a test and print the source code of the condition used to skip the test

Related

Contributing

See CONTRIBUTING.md.