mirror of https://github.com/databricks/cli.git
70b7bbfd81
## Changes The `Setenv` helper function configures an environment variable and resets it to its original value when exiting the test scope. It is incompatible with running tests in parallel because it modifies process-wide state. The `libs/env` package defines functions to interact with the environment but records `Setenv` calls on a `context.Context`. This enables us to override/specialize the environment scoped to a context. Pre-requisites for removing the `t.Setenv` calls: * Make `cmdio.NewIO` accept a context and use it with `libs/env` * Make all `internal/testcli` functions use a context The rest of this change: * Modifies integration tests to initialize a context to use if there wasn't already one * Updates `t.Setenv` calls to use `env.Set` ## Tests n/a |
||
---|---|---|
.. | ||
README.md | ||
runner.go |
README.md
testcli
This package provides a way to run the CLI from tests as if it were a separate process. By running the CLI inline we can still set breakpoints and step through execution.
It transitively imports pretty much this entire repository, which is why we
intentionally keep this package separate from testutil
.