mirror of
https://github.com/opentofu/opentofu.git
synced 2025-02-15 10:03:44 -06:00
* Remove `make updatedeps` from Travis build. We'll follow up with more specific plans around dependency updating in subsequent PRs. * Update all `make` targets to set `GO15VENDOREXPERIMENT=1` and to filter out `/vendor/` from `./...` where appropriate. * Temporarily remove `vet` from the `make test` target until we can figure out how to get it to not vet `vendor/`. (Initial experimentation failed to yield the proper incantation.) Everything is pinned to current master, with the exception of: * Azure/azure-sdk-for-go which is pinned before the breaking change today * aws/aws-sdk-go which is pinned to the most recent tag The documentation still needs to be updated, which we can do in a follow up PR. The goal here is to unblock release.
65 lines
1.1 KiB
Go
65 lines
1.1 KiB
Go
package cli
|
|
|
|
import (
|
|
"bytes"
|
|
"fmt"
|
|
"io"
|
|
"sync"
|
|
)
|
|
|
|
// MockUi is a mock UI that is used for tests and is exported publicly for
|
|
// use in external tests if needed as well.
|
|
type MockUi struct {
|
|
InputReader io.Reader
|
|
ErrorWriter *bytes.Buffer
|
|
OutputWriter *bytes.Buffer
|
|
|
|
once sync.Once
|
|
}
|
|
|
|
func (u *MockUi) Ask(query string) (string, error) {
|
|
u.once.Do(u.init)
|
|
|
|
var result string
|
|
fmt.Fprint(u.OutputWriter, query)
|
|
if _, err := fmt.Fscanln(u.InputReader, &result); err != nil {
|
|
return "", err
|
|
}
|
|
|
|
return result, nil
|
|
}
|
|
|
|
func (u *MockUi) AskSecret(query string) (string, error) {
|
|
return u.Ask(query)
|
|
}
|
|
|
|
func (u *MockUi) Error(message string) {
|
|
u.once.Do(u.init)
|
|
|
|
fmt.Fprint(u.ErrorWriter, message)
|
|
fmt.Fprint(u.ErrorWriter, "\n")
|
|
}
|
|
|
|
func (u *MockUi) Info(message string) {
|
|
u.Output(message)
|
|
}
|
|
|
|
func (u *MockUi) Output(message string) {
|
|
u.once.Do(u.init)
|
|
|
|
fmt.Fprint(u.OutputWriter, message)
|
|
fmt.Fprint(u.OutputWriter, "\n")
|
|
}
|
|
|
|
func (u *MockUi) Warn(message string) {
|
|
u.once.Do(u.init)
|
|
|
|
fmt.Fprint(u.ErrorWriter, message)
|
|
fmt.Fprint(u.ErrorWriter, "\n")
|
|
}
|
|
|
|
func (u *MockUi) init() {
|
|
u.ErrorWriter = new(bytes.Buffer)
|
|
u.OutputWriter = new(bytes.Buffer)
|
|
}
|