From a04f00234ebc10eafd3a5d86e88c7d212ce9aa98 Mon Sep 17 00:00:00 2001 From: Gareth Smith Date: Fri, 24 Nov 2017 12:15:39 +0000 Subject: [PATCH] Rework fakes to allow additional arguments --- .../test/assets/fakeapiserver/apiserver.go | 14 +++++++++++--- pkg/framework/test/assets/fakeetcd/etcd.go | 19 +++++++++++++------ 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/pkg/framework/test/assets/fakeapiserver/apiserver.go b/pkg/framework/test/assets/fakeapiserver/apiserver.go index a2dd6585b..aee09e345 100644 --- a/pkg/framework/test/assets/fakeapiserver/apiserver.go +++ b/pkg/framework/test/assets/fakeapiserver/apiserver.go @@ -19,10 +19,18 @@ func main() { "--storage-backend=etcd3", "--etcd-servers=the etcd url", } + numExpectedArgs := len(expectedArgs) + numGivenArgs := len(os.Args) - 1 - for i, arg := range os.Args[1:] { - if arg != expectedArgs[i] { - fmt.Printf("Expected arg %s, got arg %s", expectedArgs[i], arg) + if numGivenArgs < numExpectedArgs { + fmt.Printf("Expected at least %d args, only got %d\n", numExpectedArgs, numGivenArgs) + os.Exit(2) + } + + for i, arg := range expectedArgs { + givenArg := os.Args[i+1] + if arg != givenArg { + fmt.Printf("Expected arg %s, got arg %s\n", arg, givenArg) os.Exit(1) } } diff --git a/pkg/framework/test/assets/fakeetcd/etcd.go b/pkg/framework/test/assets/fakeetcd/etcd.go index d1d2b99b8..3895d1f29 100644 --- a/pkg/framework/test/assets/fakeetcd/etcd.go +++ b/pkg/framework/test/assets/fakeetcd/etcd.go @@ -8,18 +8,25 @@ import ( func main() { expectedArgs := []string{ + "--debug", "--advertise-client-urls", "our etcd url", - "--data-dir", - "our data directory", "--listen-client-urls", "our etcd url", - "--debug", + "--data-dir", + } + numExpectedArgs := len(expectedArgs) + numGivenArgs := len(os.Args) - 1 + + if numGivenArgs < numExpectedArgs { + fmt.Printf("Expected at least %d args, only got %d\n", numExpectedArgs, numGivenArgs) + os.Exit(2) } - for i, arg := range os.Args[1:] { - if arg != expectedArgs[i] { - fmt.Printf("Expected arg %s, got arg %s", expectedArgs[i], arg) + for i, arg := range expectedArgs { + givenArg := os.Args[i+1] + if arg != givenArg { + fmt.Printf("Expected arg %s, got arg %s\n", arg, givenArg) os.Exit(1) } }