diff --git a/staging/src/k8s.io/cli-runtime/pkg/genericclioptions/io_options.go b/staging/src/k8s.io/cli-runtime/pkg/genericclioptions/io_options.go index 4fc3a77b0cd..4f79621b11f 100644 --- a/staging/src/k8s.io/cli-runtime/pkg/genericclioptions/io_options.go +++ b/staging/src/k8s.io/cli-runtime/pkg/genericclioptions/io_options.go @@ -24,6 +24,7 @@ import ( // IOStreams provides the standard names for iostreams. This is useful for embedding and for unit testing. // Inconsistent and different names make it hard to read and review code +// DEPRECATED: use genericiooptions.IOSTREAMS type IOStreams struct { // In think, os.Stdin In io.Reader @@ -34,6 +35,7 @@ type IOStreams struct { } // NewTestIOStreams returns a valid IOStreams and in, out, errout buffers for unit tests +// DEPRECATED: use genericiooptions.NewTestIOStreams func NewTestIOStreams() (IOStreams, *bytes.Buffer, *bytes.Buffer, *bytes.Buffer) { in := &bytes.Buffer{} out := &bytes.Buffer{} @@ -47,6 +49,7 @@ func NewTestIOStreams() (IOStreams, *bytes.Buffer, *bytes.Buffer, *bytes.Buffer) } // NewTestIOStreamsDiscard returns a valid IOStreams that just discards +// DEPRECATED: use genericiooptions.NewTestIOStreamsDiscard func NewTestIOStreamsDiscard() IOStreams { in := &bytes.Buffer{} return IOStreams{ diff --git a/staging/src/k8s.io/cli-runtime/pkg/genericiooptions/io_options.go b/staging/src/k8s.io/cli-runtime/pkg/genericiooptions/io_options.go new file mode 100644 index 00000000000..738e7078e15 --- /dev/null +++ b/staging/src/k8s.io/cli-runtime/pkg/genericiooptions/io_options.go @@ -0,0 +1,56 @@ +/* +Copyright 2018 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package genericiooptions + +import ( + "bytes" + "io" +) + +// IOStreams provides the standard names for iostreams. This is useful for embedding and for unit testing. +// Inconsistent and different names make it hard to read and review code +type IOStreams struct { + // In think, os.Stdin + In io.Reader + // Out think, os.Stdout + Out io.Writer + // ErrOut think, os.Stderr + ErrOut io.Writer +} + +// NewTestIOStreams returns a valid IOStreams and in, out, errout buffers for unit tests +func NewTestIOStreams() (IOStreams, *bytes.Buffer, *bytes.Buffer, *bytes.Buffer) { + in := &bytes.Buffer{} + out := &bytes.Buffer{} + errOut := &bytes.Buffer{} + + return IOStreams{ + In: in, + Out: out, + ErrOut: errOut, + }, in, out, errOut +} + +// NewTestIOStreamsDiscard returns a valid IOStreams that just discards +func NewTestIOStreamsDiscard() IOStreams { + in := &bytes.Buffer{} + return IOStreams{ + In: in, + Out: io.Discard, + ErrOut: io.Discard, + } +}