From 24451d9352405547b8131428aa7e9bb2b804f317 Mon Sep 17 00:00:00 2001 From: Przemek Delewski Date: Thu, 29 Dec 2022 14:40:39 +0100 Subject: [PATCH] extract checkargs --- instrgen/driver/driver_test.go | 8 ++++++++ instrgen/driver/main.go | 16 ++++++++++++---- instrgen/driver/testdata/interface/go.mod | 6 ++---- 3 files changed, 22 insertions(+), 8 deletions(-) diff --git a/instrgen/driver/driver_test.go b/instrgen/driver/driver_test.go index 37572cae290..1cb0bb2ecb2 100644 --- a/instrgen/driver/driver_test.go +++ b/instrgen/driver/driver_test.go @@ -96,6 +96,14 @@ func TestCommands(t *testing.T) { require.NoError(t, err) } +func TestArgs(t *testing.T) { + err := checkArgs(nil) + require.Error(t, err) + args := []string{"driver", "--inject", "", "./..."} + err = checkArgs(args) + require.NoError(t, err) +} + func TestUnknown(t *testing.T) { err := executeCommand("unknown", "a", "b") require.Error(t, err) diff --git a/instrgen/driver/main.go b/instrgen/driver/main.go index bbb85b452b0..b9844c8a148 100644 --- a/instrgen/driver/main.go +++ b/instrgen/driver/main.go @@ -129,13 +129,21 @@ func executeCommand(command string, projectPath string, packagePattern string) e return errors.New("unknown command") } +func checkArgs(args []string) error { + if len(args) != 4 { + _ = usage() + return errors.New("wrong arguments") + } + return nil +} + func main() { fmt.Println("autotel compiler") - if len(os.Args) != 4 { - _ = usage() - os.Exit(-1) + err := checkArgs(os.Args) + if err != nil { + return } - err := executeCommand(os.Args[1], os.Args[2], os.Args[3]) + err = executeCommand(os.Args[1], os.Args[2], os.Args[3]) if err != nil { log.Fatal(err) } diff --git a/instrgen/driver/testdata/interface/go.mod b/instrgen/driver/testdata/interface/go.mod index fbe12d31293..2c23d008bef 100644 --- a/instrgen/driver/testdata/interface/go.mod +++ b/instrgen/driver/testdata/interface/go.mod @@ -4,14 +4,12 @@ go 1.18 replace go.opentelemetry.io/contrib/instrgen => ../../.. -require ( - go.opentelemetry.io/contrib/instrgen v0.0.0-20221228173227-92e0588b124b - go.opentelemetry.io/otel v1.11.2 -) +require go.opentelemetry.io/contrib/instrgen v0.0.0-20221228173227-92e0588b124b require ( github.com/go-logr/logr v1.2.3 // indirect github.com/go-logr/stdr v1.2.2 // indirect + go.opentelemetry.io/otel v1.11.2 // indirect go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.11.2 // indirect go.opentelemetry.io/otel/sdk v1.11.2 // indirect go.opentelemetry.io/otel/trace v1.11.2 // indirect