From 14b43c1a93694c1d387b09c814ac19c1eb26dad8 Mon Sep 17 00:00:00 2001 From: Guillaume Lours <705411+glours@users.noreply.github.com> Date: Tue, 10 Oct 2023 09:57:25 +0200 Subject: [PATCH] remove cucumber tests as we haven't added new ones for a while Signed-off-by: Guillaume Lours <705411+glours@users.noreply.github.com> --- .github/workflows/ci.yml | 6 - Makefile | 4 - e2e/cucumber-features/build-contexts.feature | 21 -- e2e/cucumber-features/down.feature | 5 - e2e/cucumber-features/port-conflict.feature | 28 --- e2e/cucumber-features/ps.feature | 29 --- e2e/cucumber-features/simple.feature | 15 -- e2e/cucumber-features/start.feature | 21 -- e2e/cucumber-features/stop.feature | 38 ---- e2e/cucumber-features/up.feature | 17 -- e2e/cucumber-features/volume-tmpfs.feature | 23 --- e2e/cucumber_test.go | 191 ------------------- go.mod | 9 - go.sum | 29 --- 14 files changed, 436 deletions(-) delete mode 100644 e2e/cucumber-features/build-contexts.feature delete mode 100644 e2e/cucumber-features/down.feature delete mode 100644 e2e/cucumber-features/port-conflict.feature delete mode 100644 e2e/cucumber-features/ps.feature delete mode 100644 e2e/cucumber-features/simple.feature delete mode 100644 e2e/cucumber-features/start.feature delete mode 100644 e2e/cucumber-features/stop.feature delete mode 100644 e2e/cucumber-features/up.feature delete mode 100644 e2e/cucumber-features/volume-tmpfs.feature delete mode 100644 e2e/cucumber_test.go diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index de36c7da50f..837bd2bab47 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -138,7 +138,6 @@ jobs: mode: - plugin - standalone - - cucumber steps: - name: Checkout @@ -198,11 +197,6 @@ jobs: rm -f /usr/local/bin/docker-compose cp bin/build/docker-compose /usr/local/bin make e2e-compose-standalone - - - name: Run cucumber tests - if: ${{ matrix.mode == 'cucumber'}} - run: | - make test-cucumber coverage: runs-on: ubuntu-22.04 diff --git a/Makefile b/Makefile index 09f8309766e..0a68e65bc69 100644 --- a/Makefile +++ b/Makefile @@ -77,10 +77,6 @@ e2e-compose: ## Run end to end local tests in plugin mode. Set E2E_TEST=TestName e2e-compose-standalone: ## Run End to end local tests in standalone mode. Set E2E_TEST=TestName to run a single test go test $(TEST_FLAGS) -v -count=1 -parallel=1 --tags=standalone ./pkg/e2e -.PHONY: test-cucumber -test-cucumber: - go test $(TEST_FLAGS) -v -count=1 -parallel=1 ./e2e - .PHONY: build-and-e2e-compose build-and-e2e-compose: build e2e-compose ## Compile the compose cli-plugin and run end to end local tests in plugin mode. Set E2E_TEST=TestName to run a single test diff --git a/e2e/cucumber-features/build-contexts.feature b/e2e/cucumber-features/build-contexts.feature deleted file mode 100644 index ef3b0f4a636..00000000000 --- a/e2e/cucumber-features/build-contexts.feature +++ /dev/null @@ -1,21 +0,0 @@ -Feature: Build Contexts - -Background: - Given a compose file - """ - services: - a: - build: - context: . - dockerfile_inline: | - # syntax=docker/dockerfile:1 - FROM alpine:latest - COPY --from=dep /etc/hostname / - additional_contexts: - - dep=docker-image://ubuntu:latest - """ - -Scenario: Build w/ build context - When I run "compose build" - Then the exit code is 0 - diff --git a/e2e/cucumber-features/down.feature b/e2e/cucumber-features/down.feature deleted file mode 100644 index 1f53d5d5b3c..00000000000 --- a/e2e/cucumber-features/down.feature +++ /dev/null @@ -1,5 +0,0 @@ -Feature: Down - -Scenario: No resources to remove - When I run "compose down" - Then the output contains "Warning: No resource found to remove for project "no_resources_to_remove"" diff --git a/e2e/cucumber-features/port-conflict.feature b/e2e/cucumber-features/port-conflict.feature deleted file mode 100644 index aaacdade4b5..00000000000 --- a/e2e/cucumber-features/port-conflict.feature +++ /dev/null @@ -1,28 +0,0 @@ -Feature: Report port conflicts - -Background: - Given a compose file - """ - services: - web: - image: nginx - ports: - - 31415:80 - """ - And I run "docker rm -f nginx-pi-31415" - -Scenario: Reports a port allocation conflict with another container - Given I run "docker run -d -p 31415:80 --name nginx-pi-31415 nginx" - When I run "compose up -d" - Then the output contains "port is already allocated" - And the exit code is 1 - -Scenario: Reports a port conflict with some other process - Given a process listening on port 31415 - When I run "compose up -d" - Then the output contains "address already in use" - And the exit code is 1 - -Scenario: Cleanup - Given I run "docker rm -f nginx-pi-31415" - diff --git a/e2e/cucumber-features/ps.feature b/e2e/cucumber-features/ps.feature deleted file mode 100644 index 50917086ba9..00000000000 --- a/e2e/cucumber-features/ps.feature +++ /dev/null @@ -1,29 +0,0 @@ -Feature: PS - -Background: - Given a compose file - """ - services: - build: - image: test:latest - build: - context: ./ - pull: - image: alpine - command: top - """ - And a dockerfile - """ - FROM golang:1.19-alpine - """ - And I run "docker rm -f external-test" - -Scenario: external container from compose image exists - When I run "compose build" - Then the exit code is 0 - And I run "docker run --name external-test test:latest ls" - Then the exit code is 0 - And I run "compose ps -a" - Then the output does not contain "external-test" - And I run "docker rm -f external-test" - diff --git a/e2e/cucumber-features/simple.feature b/e2e/cucumber-features/simple.feature deleted file mode 100644 index 6a208804ea1..00000000000 --- a/e2e/cucumber-features/simple.feature +++ /dev/null @@ -1,15 +0,0 @@ -Feature: Simple service up - -Background: - Given a compose file - """ - services: - simple: - image: alpine - command: top - """ - -Scenario: compose up - When I run "compose up -d" - Then the output contains "simple-1 Started" - And service "simple" is "Up" diff --git a/e2e/cucumber-features/start.feature b/e2e/cucumber-features/start.feature deleted file mode 100644 index a577a98cd3e..00000000000 --- a/e2e/cucumber-features/start.feature +++ /dev/null @@ -1,21 +0,0 @@ -Feature: Start - -Background: - Given a compose file - """ - services: - simple: - image: alpine - command: top - another: - image: alpine - command: top - """ - -Scenario: Start single service - When I run "compose create" - Then the output contains "simple-1 Created" - And the output contains "another-1 Created" - Then I run "compose start another" - And service "another" is "Up" - And service "simple" is "Created" diff --git a/e2e/cucumber-features/stop.feature b/e2e/cucumber-features/stop.feature deleted file mode 100644 index 2fc0a273a2a..00000000000 --- a/e2e/cucumber-features/stop.feature +++ /dev/null @@ -1,38 +0,0 @@ -Feature: Stop - -Background: - Given a compose file - """ - services: - should_fail: - image: alpine - command: ['sh', '-c', 'exit 123'] - sleep: # will be killed - image: alpine - command: ping localhost - init: true - """ - -Scenario: Cascade stop - When I run "compose up --abort-on-container-exit" - Then the output contains "should_fail-1 exited with code 123" - And the output contains "Aborting on container exit..." - And the exit code is 123 - -Scenario: Exit code from - When I run "compose up --exit-code-from should_fail" - Then the output contains "should_fail-1 exited with code 123" - And the output contains "Aborting on container exit..." - And the exit code is 123 - -# TODO: this is currently not working propagating the exit code properly -#Scenario: Exit code from (cascade stop) -# When I run "compose up --exit-code-from sleep" -# Then the output contains "should_fail-1 exited with code 123" -# And the output contains "Aborting on container exit..." -# And the exit code is 143 - -Scenario: Exit code from unknown service - When I run "compose up --exit-code-from unknown" - Then the output contains "no such service: unknown" - And the exit code is 1 diff --git a/e2e/cucumber-features/up.feature b/e2e/cucumber-features/up.feature deleted file mode 100644 index ccd33d3cd32..00000000000 --- a/e2e/cucumber-features/up.feature +++ /dev/null @@ -1,17 +0,0 @@ -Feature: Up - -Background: - Given a compose file - """ - services: - simple: - image: alpine - command: top - """ - -Scenario: --pull always - When I run "compose up --pull=always -d" - And the output contains "simple Pulled" - Then I run "compose up --pull=always -d" - And the output contains "simple Pulled" - diff --git a/e2e/cucumber-features/volume-tmpfs.feature b/e2e/cucumber-features/volume-tmpfs.feature deleted file mode 100644 index 12387db95bd..00000000000 --- a/e2e/cucumber-features/volume-tmpfs.feature +++ /dev/null @@ -1,23 +0,0 @@ -Feature: Volume: tmpfs - -Background: - Given a compose file - """ - services: - svc: - image: busybox - volumes: - - type: tmpfs - target: /volumes/tmpfs - tmpfs: - size: 2M - mode: 0o647 - """ - -Scenario: tmpfs Permissions Set - When I run "compose run --rm svc stat -c "%a" /volumes/tmpfs" - Then the output contains "647" - -Scenario: tmpfs Size Set - When I run "compose run --rm svc sh -c 'df /volumes/tmpfs | tail -n1 | awk '"'"'{print $4}'"'"'' " - Then the output contains "2048" diff --git a/e2e/cucumber_test.go b/e2e/cucumber_test.go deleted file mode 100644 index 6d7cd152e2f..00000000000 --- a/e2e/cucumber_test.go +++ /dev/null @@ -1,191 +0,0 @@ -/* - Copyright 2022 Docker Compose CLI 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 cucumber - -import ( - "context" - "fmt" - "net" - "os" - "path/filepath" - "regexp" - "strings" - "testing" - - "github.com/compose-spec/compose-go/loader" - "github.com/cucumber/godog" - "github.com/cucumber/godog/colors" - "github.com/mattn/go-shellwords" - "gotest.tools/v3/icmd" - - "github.com/docker/compose/v2/pkg/e2e" -) - -func TestCucumber(t *testing.T) { - testingOptions := godog.Options{ - TestingT: t, - Paths: []string{"./cucumber-features"}, - Output: colors.Colored(os.Stdout), - Format: "pretty", - } - - status := godog.TestSuite{ - Name: "godogs", - Options: &testingOptions, - ScenarioInitializer: setup, - }.Run() - - if status == 2 { - t.SkipNow() - } - - if status != 0 { - t.Fatalf("zero status code expected, %d received", status) - } -} - -func setup(s *godog.ScenarioContext) { - t := s.TestingT() - projectName := loader.NormalizeProjectName(strings.Split(t.Name(), "/")[1]) - cli := e2e.NewCLI(t, e2e.WithEnv( - fmt.Sprintf("COMPOSE_PROJECT_NAME=%s", projectName), - )) - th := testHelper{ - T: t, - CLI: cli, - ProjectName: projectName, - } - - s.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) { - cli.RunDockerComposeCmd(t, "down", "--remove-orphans", "-v", "-t", "0") - return ctx, nil - }) - - s.After(func(ctx context.Context, sc *godog.Scenario, err error) (context.Context, error) { - cli.RunDockerComposeCmd(t, "down", "--remove-orphans", "-v", "-t", "0") - return ctx, nil - }) - - s.Step(`^a compose file$`, th.setComposeFile) - s.Step(`^a dockerfile$`, th.setDockerfile) - s.Step(`^I run "compose (.*)"$`, th.runComposeCommand) - s.Step(`^I run "docker (.*)"$`, th.runDockerCommand) - s.Step(`service "(.*)" is "(.*)"$`, th.serviceIsStatus) - s.Step(`output contains "(.*)"$`, th.outputContains(true)) - s.Step(`output does not contain "(.*)"$`, th.outputContains(false)) - s.Step(`exit code is (\d+)$`, th.exitCodeIs) - s.Step(`a process listening on port (\d+)$`, th.listenerOnPort) -} - -type testHelper struct { - T *testing.T - ProjectName string - ComposeFile string - TestDir string - CommandOutput string - CommandExitCode int - CLI *e2e.CLI -} - -func (th *testHelper) serviceIsStatus(service, status string) error { - serviceContainerName := fmt.Sprintf("%s-%s-1", strings.ToLower(th.ProjectName), service) - statusRegex := fmt.Sprintf("%s.*%s", serviceContainerName, status) - res := th.CLI.RunDockerComposeCmd(th.T, "ps", "-a") - r, _ := regexp.Compile(statusRegex) - if !r.MatchString(res.Combined()) { - return fmt.Errorf("Missing/incorrect ps output:\n%s\nregex:\n%s", res.Combined(), statusRegex) - } - return nil -} - -func (th *testHelper) outputContains(expected bool) func(string) error { - return func(substring string) error { - contains := strings.Contains(th.CommandOutput, substring) - if contains && !expected { - return fmt.Errorf("Unexpected substring in output: %s\noutput: %s", substring, th.CommandOutput) - } else if !contains && expected { - return fmt.Errorf("Missing substring in output: %s\noutput: %s", substring, th.CommandOutput) - } - return nil - } -} - -func (th *testHelper) exitCodeIs(exitCode int) error { - if exitCode != th.CommandExitCode { - return fmt.Errorf("Wrong exit code: %d expected: %d || command output: %s", th.CommandExitCode, exitCode, th.CommandOutput) - } - return nil -} - -func (th *testHelper) runComposeCommand(command string) error { - commandArgs, err := shellwords.Parse(command) - if err != nil { - return err - } - commandArgs = append([]string{"-f", "-"}, commandArgs...) - - cmd := th.CLI.NewDockerComposeCmd(th.T, commandArgs...) - cmd.Stdin = strings.NewReader(th.ComposeFile) - cmd.Dir = th.TestDir - res := icmd.RunCmd(cmd) - th.CommandOutput = res.Combined() - th.CommandExitCode = res.ExitCode - return nil -} - -func (th *testHelper) runDockerCommand(command string) error { - commandArgs, err := shellwords.Parse(command) - if err != nil { - return err - } - - cmd := th.CLI.NewDockerCmd(th.T, commandArgs...) - cmd.Dir = th.TestDir - res := icmd.RunCmd(cmd) - th.CommandOutput = res.Combined() - th.CommandExitCode = res.ExitCode - return nil -} - -func (th *testHelper) setComposeFile(composeString string) error { - th.ComposeFile = composeString - return nil -} - -func (th *testHelper) setDockerfile(dockerfileString string) error { - tempDir := th.T.TempDir() - th.TestDir = tempDir - - err := os.WriteFile(filepath.Join(tempDir, "Dockerfile"), []byte(dockerfileString), 0o644) - if err != nil { - return err - } - return nil -} - -func (th *testHelper) listenerOnPort(port int) error { - l, err := net.Listen("tcp", fmt.Sprintf(":%d", port)) - if err != nil { - return err - } - - th.T.Cleanup(func() { - _ = l.Close() - }) - - return nil -} diff --git a/go.mod b/go.mod index 254970f83c0..9f77e6cc477 100644 --- a/go.mod +++ b/go.mod @@ -10,7 +10,6 @@ require ( github.com/compose-spec/compose-go v1.19.0 github.com/containerd/console v1.0.3 github.com/containerd/containerd v1.7.6 - github.com/cucumber/godog v0.0.0-00010101000000-000000000000 // replaced; see replace for the actual version used github.com/davecgh/go-spew v1.1.1 github.com/distribution/reference v0.5.0 github.com/docker/buildx v0.11.2 @@ -74,8 +73,6 @@ require ( github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/containerd/continuity v0.4.2 // indirect github.com/containerd/typeurl/v2 v2.1.1 // indirect - github.com/cucumber/gherkin-go/v19 v19.0.3 // indirect - github.com/cucumber/messages-go/v16 v16.0.1 // indirect github.com/docker/distribution v2.8.2+incompatible // indirect github.com/docker/docker-credential-helpers v0.7.0 // indirect github.com/docker/go v1.5.1-1.0.20160303222718-d30aec9fd63c // indirect @@ -100,9 +97,6 @@ require ( github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect - github.com/hashicorp/go-immutable-radix v1.3.1 // indirect - github.com/hashicorp/go-memdb v1.3.2 // indirect - github.com/hashicorp/golang-lru v0.5.4 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/imdario/mergo v0.3.16 // indirect github.com/in-toto/in-toto-golang v0.5.0 // indirect @@ -183,6 +177,3 @@ require ( sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect sigs.k8s.io/yaml v1.3.0 // indirect ) - -// Override for e2e tests -replace github.com/cucumber/godog => github.com/laurazard/godog v0.0.0-20220922095256-4c4b17abdae7 diff --git a/go.sum b/go.sum index 65c7ee578a6..3bfe3930276 100644 --- a/go.sum +++ b/go.sum @@ -160,17 +160,11 @@ github.com/containerd/ttrpc v1.2.2 h1:9vqZr0pxwOF5koz6N0N3kJ0zDHokrcPxIR/ZR2YFtO github.com/containerd/ttrpc v1.2.2/go.mod h1:sIT6l32Ph/H9cvnJsfXM5drIVzTr5A2flTf1G5tYZak= github.com/containerd/typeurl/v2 v2.1.1 h1:3Q4Pt7i8nYwy2KmQWIw2+1hTvwTE/6w9FqcttATPO/4= github.com/containerd/typeurl/v2 v2.1.1/go.mod h1:IDp2JFvbwZ31H8dQbEIY7sDl2L3o3HZj1hsSQlywkQ0= -github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.17/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= -github.com/cucumber/gherkin-go/v19 v19.0.3 h1:mMSKu1077ffLbTJULUfM5HPokgeBcIGboyeNUof1MdE= -github.com/cucumber/gherkin-go/v19 v19.0.3/go.mod h1:jY/NP6jUtRSArQQJ5h1FXOUgk5fZK24qtE7vKi776Vw= -github.com/cucumber/messages-go/v16 v16.0.0/go.mod h1:EJcyR5Mm5ZuDsKJnT2N9KRnBK30BGjtYotDKpwQ0v6g= -github.com/cucumber/messages-go/v16 v16.0.1 h1:fvkpwsLgnIm0qugftrw2YwNlio+ABe2Iu94Ap8GMYIY= -github.com/cucumber/messages-go/v16 v16.0.1/go.mod h1:EJcyR5Mm5ZuDsKJnT2N9KRnBK30BGjtYotDKpwQ0v6g= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -257,7 +251,6 @@ github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LB github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw= github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= -github.com/gofrs/uuid v4.0.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gofrs/uuid v4.2.0+incompatible h1:yyYWMnhkhrKwwr8gAOcOCYxOOscHgDS9yZgBrnJfGa0= github.com/gofrs/uuid v4.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gogo/googleapis v1.4.1 h1:1Yx4Myt7BxzvUr5ldGSbwYiZG6t9wGBZ+8/fX3Wvtq0= @@ -349,8 +342,6 @@ github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+ github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/mux v1.7.0/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= @@ -366,22 +357,12 @@ github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed/go.mod h1:tMW github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-immutable-radix v1.3.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc= -github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-memdb v1.3.2 h1:RBKHOsnSszpU6vxq80LzC2BaQjuuvoyaQbkLTf7V7g8= -github.com/hashicorp/go-memdb v1.3.2/go.mod h1:Mluclgwib3R93Hk5fxEfiRhB+6Dar64wWh71LpNSe3g= github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= -github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.2 h1:cfejS+Tpcp13yd5nYHWDI6qVCny6wyX2Mt5SGur2IGE= -github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= -github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hinshun/vt10x v0.0.0-20220119200601-820417d04eec h1:qv2VnGeEQHchGaZ/u7lxST/RaJw+cv273q79D81Xbog= @@ -415,8 +396,6 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= -github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/juju/loggo v0.0.0-20190526231331-6e530bcce5d8/go.mod h1:vgyd7OREkbtVEN/8IXZe5Ooef3LQePvuBm9UWj6ZL8U= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0 h1:iQTw/8FWTuc7uiaSepXwyf3o52HaUYcV+Tu66S3F5GA= @@ -439,8 +418,6 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/laurazard/godog v0.0.0-20220922095256-4c4b17abdae7 h1:R/J7xECY9oHrAg+4QjC38EoXaYysNLzhvXhH/SXcsVc= -github.com/laurazard/godog v0.0.0-20220922095256-4c4b17abdae7/go.mod h1:Y02TTpimPXDb70PnG6M3zpODXm1+bjCsuZzcW76xAww= github.com/lib/pq v0.0.0-20150723085316-0dad96c0b94f/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/magiconair/properties v1.5.3 h1:C8fxWnhYyME3n0klPOhVM7PtYUB3eV1W3DeFmN3j53Y= github.com/magiconair/properties v1.5.3/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= @@ -576,10 +553,6 @@ github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMB github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= -github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spdx/tools-golang v0.5.1 h1:fJg3SVOGG+eIva9ZUBm/hvyA7PIPVFjRxUKe6fdAgwE= github.com/spdx/tools-golang v0.5.1/go.mod h1:/DRDQuBfB37HctM29YtrX1v+bXiVmT2OpQDalRmX9aU= @@ -588,7 +561,6 @@ github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcD github.com/spf13/cast v0.0.0-20150508191742-4d07383ffe94 h1:JmfC365KywYwHB946TTiQWEb8kqPY+pybPLoGE9GgVk= github.com/spf13/cast v0.0.0-20150508191742-4d07383ffe94/go.mod h1:r2rcYCSwa1IExKTDiTfzaxqT2FNHs8hODu4LnUfgKEg= github.com/spf13/cobra v0.0.1/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= -github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= github.com/spf13/jwalterweatherman v0.0.0-20141219030609-3d60171a6431 h1:XTHrT015sxHyJ5FnQ0AeemSspZWaDq7DoTRW0EVsDCE= @@ -878,7 +850,6 @@ golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3 golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=