The following pull request was submitted through Github. It can be accessed and reviewed at: https://github.com/lxc/lxd/pull/3346
This e-mail was sent by the LXC bot, direct replies will not reach the author unless they happen to be subscribed to this list. === Description (from pull-request) === Move out the assertions to the test package instead. Signed-off-by: Free Ekanayaka <[email protected]>
From c1c03b34c5b322cb4cb6239262c86b343dba33a6 Mon Sep 17 00:00:00 2001 From: Free Ekanayaka <[email protected]> Date: Wed, 24 May 2017 16:33:03 +0200 Subject: [PATCH] Don't depend on testify in the cmd package Move out the assertions to the test package instead. Signed-off-by: Free Ekanayaka <[email protected]> --- shared/cmd/context_test.go | 32 +++++++++++++++++++++----------- shared/cmd/testing.go | 25 +++++++++++-------------- 2 files changed, 32 insertions(+), 25 deletions(-) diff --git a/shared/cmd/context_test.go b/shared/cmd/context_test.go index 443541e46..1e4b0c6bc 100644 --- a/shared/cmd/context_test.go +++ b/shared/cmd/context_test.go @@ -8,12 +8,22 @@ import ( "github.com/stretchr/testify/assert" ) +// AssertOutEqual checks that the given text matches the the out stream. +func AssertOutEqual(t *testing.T, stream *cmd.MemoryStreams, expected string) { + assert.Equal(t, expected, stream.Out(), "Unexpected output stream") +} + +// AssertErrEqual checks that the given text matches the the err stream. +func AssertErrEqual(t *testing.T, stream *cmd.MemoryStreams, expected string) { + assert.Equal(t, expected, stream.Err(), "Unexpected error stream") +} + // Output prints the given message on standard output func TestOutput(t *testing.T) { streams := cmd.NewMemoryStreams("") context := cmd.NewMemoryContext(streams) context.Output("Hello %s", "world") - streams.AssertOutEqual(t, "Hello world") + AssertOutEqual(t, streams, "Hello world") } // AskBool returns a boolean result depending on the user input. @@ -39,8 +49,8 @@ func TestAskBool(t *testing.T) { result := context.AskBool(c.question, c.defaultAnswer) assert.Equal(t, c.result, result, "Unexpected answer result") - streams.AssertOutEqual(t, c.output) - streams.AssertErrEqual(t, c.error) + AssertOutEqual(t, streams, c.output) + AssertErrEqual(t, streams, c.error) } } @@ -65,8 +75,8 @@ func TestAskChoice(t *testing.T) { result := context.AskChoice(c.question, c.choices, c.defaultAnswer) assert.Equal(t, c.result, result, "Unexpected answer result") - streams.AssertOutEqual(t, c.output) - streams.AssertErrEqual(t, c.error) + AssertOutEqual(t, streams, c.output) + AssertErrEqual(t, streams, c.error) } } @@ -95,8 +105,8 @@ func TestAskInt(t *testing.T) { result := context.AskInt(c.question, c.min, c.max, c.defaultAnswer) assert.Equal(t, c.result, result, "Unexpected answer result") - streams.AssertOutEqual(t, c.output) - streams.AssertErrEqual(t, c.error) + AssertOutEqual(t, streams, c.output) + AssertErrEqual(t, streams, c.error) } } @@ -126,8 +136,8 @@ func TestAskString(t *testing.T) { result := context.AskString(c.question, c.defaultAnswer, c.validate) assert.Equal(t, c.result, result, "Unexpected answer result") - streams.AssertOutEqual(t, c.output) - streams.AssertErrEqual(t, c.error) + AssertOutEqual(t, streams, c.output) + AssertErrEqual(t, streams, c.error) } } @@ -150,8 +160,8 @@ func TestAskPassword(t *testing.T) { result := context.AskPassword(c.question, c.reader) assert.Equal(t, c.result, result, "Unexpected answer result") - streams.AssertOutEqual(t, c.output) - streams.AssertErrEqual(t, c.error) + AssertOutEqual(t, streams, c.output) + AssertErrEqual(t, streams, c.error) } } diff --git a/shared/cmd/testing.go b/shared/cmd/testing.go index a51813e4a..bb5eca24f 100644 --- a/shared/cmd/testing.go +++ b/shared/cmd/testing.go @@ -1,4 +1,4 @@ -// Utilities for testing cmd-related code. +// In-memory streams, useful for testing cmd-related code. package cmd @@ -6,9 +6,6 @@ import ( "bytes" "io/ioutil" "strings" - "testing" - - "github.com/stretchr/testify/assert" ) // MemoryStreams provide an in-memory version of the system @@ -35,6 +32,16 @@ func (s *MemoryStreams) InputRead() string { return string(bytes) } +// Out returns the current content of the out stream. +func (s *MemoryStreams) Out() string { + return s.out.String() +} + +// Err returns the current content of the err stream. +func (s *MemoryStreams) Err() string { + return s.err.String() +} + // InputReset replaces the data in the input stream. func (s *MemoryStreams) InputReset(input string) { // XXX This is what the stdlib strings.Reader.Reset() does, however @@ -63,16 +70,6 @@ func (s *MemoryStreams) InputAppendBoolAnswer(answer bool) { s.InputAppendLine(line) } -// AssertOutEqual checks that the given text matches the the out stream. -func (s *MemoryStreams) AssertOutEqual(t *testing.T, expected string) { - assert.Equal(t, expected, s.out.String(), "Unexpected output stream") -} - -// AssertErrEqual checks that the given text matches the the err stream. -func (s *MemoryStreams) AssertErrEqual(t *testing.T, expected string) { - assert.Equal(t, expected, s.err.String(), "Unexpected error stream") -} - // NewMemoryContext creates a new command Context using the given in-memory // streams. func NewMemoryContext(streams *MemoryStreams) *Context {
_______________________________________________ lxc-devel mailing list [email protected] http://lists.linuxcontainers.org/listinfo/lxc-devel
