Skip to content

Commit

Permalink
Move the e2e tests in a separate package
Browse files Browse the repository at this point in the history
This allows to avoid polluting the metallb go.mod with unnecessary
dependencies, and relegates the need for pinning (because of the e2e
framework) only to the e2e go.mod

On top of that, we clean the main go.mod file removing all the
dependencies that were necessary for tests only.

Signed-off-by: Federico Paolinelli <fpaoline@redhat.com>
  • Loading branch information
fedepaol committed Jun 6, 2023
1 parent b70eb5d commit 0c24d4c
Show file tree
Hide file tree
Showing 44 changed files with 950 additions and 652 deletions.
24 changes: 12 additions & 12 deletions e2etest/bgptests/bgp.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,23 +26,23 @@ import (

metallbv1beta1 "go.universe.tf/metallb/api/v1beta1"
metallbv1beta2 "go.universe.tf/metallb/api/v1beta2"
"go.universe.tf/metallb/e2etest/l2tests"
"go.universe.tf/metallb/e2etest/pkg/config"
"go.universe.tf/metallb/e2etest/pkg/executor"
"go.universe.tf/metallb/e2etest/pkg/k8s"
"go.universe.tf/metallb/e2etest/pkg/mac"
"go.universe.tf/metallb/e2etest/pkg/metallb"
"go.universe.tf/metallb/e2etest/pkg/pointer"
"go.universe.tf/e2etest/l2tests"
"go.universe.tf/e2etest/pkg/config"
"go.universe.tf/e2etest/pkg/executor"
"go.universe.tf/e2etest/pkg/k8s"
"go.universe.tf/e2etest/pkg/mac"
"go.universe.tf/e2etest/pkg/metallb"
"go.universe.tf/e2etest/pkg/pointer"

"github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
"github.com/openshift-kni/k8sreporter"

"go.universe.tf/metallb/e2etest/pkg/frr"
frrconfig "go.universe.tf/metallb/e2etest/pkg/frr/config"
frrcontainer "go.universe.tf/metallb/e2etest/pkg/frr/container"
"go.universe.tf/metallb/e2etest/pkg/ipfamily"
testservice "go.universe.tf/metallb/e2etest/pkg/service"
"go.universe.tf/e2etest/pkg/frr"
frrconfig "go.universe.tf/e2etest/pkg/frr/config"
frrcontainer "go.universe.tf/e2etest/pkg/frr/container"
"go.universe.tf/e2etest/pkg/ipfamily"
testservice "go.universe.tf/e2etest/pkg/service"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/types"
Expand Down
16 changes: 8 additions & 8 deletions e2etest/bgptests/bgp_multiprotocol.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,18 @@ import (
"time"

metallbv1beta1 "go.universe.tf/metallb/api/v1beta1"
"go.universe.tf/metallb/e2etest/pkg/config"
"go.universe.tf/metallb/e2etest/pkg/frr"
"go.universe.tf/metallb/e2etest/pkg/ipfamily"
"go.universe.tf/metallb/e2etest/pkg/k8s"
"go.universe.tf/metallb/e2etest/pkg/metallb"
testservice "go.universe.tf/metallb/e2etest/pkg/service"
"go.universe.tf/e2etest/pkg/config"
"go.universe.tf/e2etest/pkg/frr"
"go.universe.tf/e2etest/pkg/ipfamily"
"go.universe.tf/e2etest/pkg/k8s"
"go.universe.tf/e2etest/pkg/metallb"
testservice "go.universe.tf/e2etest/pkg/service"

"github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"

frrconfig "go.universe.tf/metallb/e2etest/pkg/frr/config"
frrcontainer "go.universe.tf/metallb/e2etest/pkg/frr/container"
frrconfig "go.universe.tf/e2etest/pkg/frr/config"
frrcontainer "go.universe.tf/e2etest/pkg/frr/container"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
clientset "k8s.io/client-go/kubernetes"
Expand Down
14 changes: 7 additions & 7 deletions e2etest/bgptests/bgppeer_selector.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,18 @@ import (

metallbv1beta1 "go.universe.tf/metallb/api/v1beta1"
"go.universe.tf/metallb/api/v1beta2"
"go.universe.tf/metallb/e2etest/pkg/config"
"go.universe.tf/metallb/e2etest/pkg/ipfamily"
"go.universe.tf/metallb/e2etest/pkg/k8s"
"go.universe.tf/metallb/e2etest/pkg/metallb"
testservice "go.universe.tf/metallb/e2etest/pkg/service"
"go.universe.tf/e2etest/pkg/config"
"go.universe.tf/e2etest/pkg/ipfamily"
"go.universe.tf/e2etest/pkg/k8s"
"go.universe.tf/e2etest/pkg/metallb"
testservice "go.universe.tf/e2etest/pkg/service"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"

"github.com/onsi/ginkgo/v2"

frrconfig "go.universe.tf/metallb/e2etest/pkg/frr/config"
frrcontainer "go.universe.tf/metallb/e2etest/pkg/frr/container"
frrconfig "go.universe.tf/e2etest/pkg/frr/config"
frrcontainer "go.universe.tf/e2etest/pkg/frr/container"
clientset "k8s.io/client-go/kubernetes"
"k8s.io/kubernetes/test/e2e/framework"
admissionapi "k8s.io/pod-security-admission/api"
Expand Down
8 changes: 4 additions & 4 deletions e2etest/bgptests/dump.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ import (
"path"
"strings"

"go.universe.tf/metallb/e2etest/pkg/executor"
"go.universe.tf/metallb/e2etest/pkg/frr"
"go.universe.tf/metallb/e2etest/pkg/k8s"
"go.universe.tf/metallb/e2etest/pkg/metallb"
"go.universe.tf/e2etest/pkg/executor"
"go.universe.tf/e2etest/pkg/frr"
"go.universe.tf/e2etest/pkg/k8s"
"go.universe.tf/e2etest/pkg/metallb"
clientset "k8s.io/client-go/kubernetes"
"k8s.io/kubernetes/test/e2e/framework"
)
Expand Down
10 changes: 5 additions & 5 deletions e2etest/bgptests/infra_setup.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ import (
"strings"

"github.com/pkg/errors"
"go.universe.tf/metallb/e2etest/pkg/container"
"go.universe.tf/metallb/e2etest/pkg/executor"
frrconfig "go.universe.tf/metallb/e2etest/pkg/frr/config"
frrcontainer "go.universe.tf/metallb/e2etest/pkg/frr/container"
"go.universe.tf/metallb/e2etest/pkg/metallb"
"go.universe.tf/e2etest/pkg/container"
"go.universe.tf/e2etest/pkg/executor"
frrconfig "go.universe.tf/e2etest/pkg/frr/config"
frrcontainer "go.universe.tf/e2etest/pkg/frr/container"
"go.universe.tf/e2etest/pkg/metallb"
clientset "k8s.io/client-go/kubernetes"
)

Expand Down
18 changes: 9 additions & 9 deletions e2etest/bgptests/metrics.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@ import (
"github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
metallbv1beta1 "go.universe.tf/metallb/api/v1beta1"
"go.universe.tf/metallb/e2etest/pkg/config"
frrconfig "go.universe.tf/metallb/e2etest/pkg/frr/config"
frrcontainer "go.universe.tf/metallb/e2etest/pkg/frr/container"
"go.universe.tf/metallb/e2etest/pkg/ipfamily"
"go.universe.tf/metallb/e2etest/pkg/k8s"
"go.universe.tf/metallb/e2etest/pkg/metallb"
"go.universe.tf/metallb/e2etest/pkg/metrics"
"go.universe.tf/metallb/e2etest/pkg/pointer"
testservice "go.universe.tf/metallb/e2etest/pkg/service"
"go.universe.tf/e2etest/pkg/config"
frrconfig "go.universe.tf/e2etest/pkg/frr/config"
frrcontainer "go.universe.tf/e2etest/pkg/frr/container"
"go.universe.tf/e2etest/pkg/ipfamily"
"go.universe.tf/e2etest/pkg/k8s"
"go.universe.tf/e2etest/pkg/metallb"
"go.universe.tf/e2etest/pkg/metrics"
"go.universe.tf/e2etest/pkg/pointer"
testservice "go.universe.tf/e2etest/pkg/service"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
clientset "k8s.io/client-go/kubernetes"
Expand Down
14 changes: 7 additions & 7 deletions e2etest/bgptests/node_selector.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,17 @@ import (

metallbv1beta1 "go.universe.tf/metallb/api/v1beta1"
metallbv1beta2 "go.universe.tf/metallb/api/v1beta2"
"go.universe.tf/metallb/e2etest/pkg/config"
"go.universe.tf/metallb/e2etest/pkg/ipfamily"
"go.universe.tf/metallb/e2etest/pkg/k8s"
"go.universe.tf/metallb/e2etest/pkg/metallb"
testservice "go.universe.tf/metallb/e2etest/pkg/service"
"go.universe.tf/e2etest/pkg/config"
"go.universe.tf/e2etest/pkg/ipfamily"
"go.universe.tf/e2etest/pkg/k8s"
"go.universe.tf/e2etest/pkg/metallb"
testservice "go.universe.tf/e2etest/pkg/service"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"

"github.com/onsi/ginkgo/v2"

frrconfig "go.universe.tf/metallb/e2etest/pkg/frr/config"
frrcontainer "go.universe.tf/metallb/e2etest/pkg/frr/container"
frrconfig "go.universe.tf/e2etest/pkg/frr/config"
frrcontainer "go.universe.tf/e2etest/pkg/frr/container"
corev1 "k8s.io/api/core/v1"
clientset "k8s.io/client-go/kubernetes"
"k8s.io/kubernetes/test/e2e/framework"
Expand Down
10 changes: 5 additions & 5 deletions e2etest/bgptests/setup.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ package bgptests
import (
"github.com/onsi/ginkgo/v2"
metallbv1beta1 "go.universe.tf/metallb/api/v1beta1"
"go.universe.tf/metallb/e2etest/pkg/config"
frrcontainer "go.universe.tf/metallb/e2etest/pkg/frr/container"
"go.universe.tf/metallb/e2etest/pkg/ipfamily"
"go.universe.tf/metallb/e2etest/pkg/metallb"
testservice "go.universe.tf/metallb/e2etest/pkg/service"
"go.universe.tf/e2etest/pkg/config"
frrcontainer "go.universe.tf/e2etest/pkg/frr/container"
"go.universe.tf/e2etest/pkg/ipfamily"
"go.universe.tf/e2etest/pkg/metallb"
testservice "go.universe.tf/e2etest/pkg/service"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kubernetes/test/e2e/framework"
Expand Down
16 changes: 8 additions & 8 deletions e2etest/bgptests/validate.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@ import (
"github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
metallbv1beta1 "go.universe.tf/metallb/api/v1beta1"
"go.universe.tf/metallb/e2etest/pkg/executor"
"go.universe.tf/metallb/e2etest/pkg/frr"
frrcontainer "go.universe.tf/metallb/e2etest/pkg/frr/container"
"go.universe.tf/metallb/e2etest/pkg/ipfamily"
"go.universe.tf/metallb/e2etest/pkg/k8s"
"go.universe.tf/metallb/e2etest/pkg/metallb"
"go.universe.tf/metallb/e2etest/pkg/routes"
"go.universe.tf/metallb/e2etest/pkg/wget"
"go.universe.tf/e2etest/pkg/executor"
"go.universe.tf/e2etest/pkg/frr"
frrcontainer "go.universe.tf/e2etest/pkg/frr/container"
"go.universe.tf/e2etest/pkg/ipfamily"
"go.universe.tf/e2etest/pkg/k8s"
"go.universe.tf/e2etest/pkg/metallb"
"go.universe.tf/e2etest/pkg/routes"
"go.universe.tf/e2etest/pkg/wget"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
clientset "k8s.io/client-go/kubernetes"
Expand Down
16 changes: 8 additions & 8 deletions e2etest/e2etest_suite_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,14 @@ import (

"github.com/onsi/ginkgo/v2"
"github.com/onsi/gomega"
"go.universe.tf/metallb/e2etest/bgptests"
"go.universe.tf/metallb/e2etest/l2tests"
testsconfig "go.universe.tf/metallb/e2etest/pkg/config"
"go.universe.tf/metallb/e2etest/pkg/iprange"
"go.universe.tf/metallb/e2etest/pkg/k8s"
"go.universe.tf/metallb/e2etest/pkg/metallb"
"go.universe.tf/metallb/e2etest/pkg/service"
"go.universe.tf/metallb/e2etest/webhookstests"
"go.universe.tf/e2etest/bgptests"
"go.universe.tf/e2etest/l2tests"
testsconfig "go.universe.tf/e2etest/pkg/config"
"go.universe.tf/e2etest/pkg/iprange"
"go.universe.tf/e2etest/pkg/k8s"
"go.universe.tf/e2etest/pkg/metallb"
"go.universe.tf/e2etest/pkg/service"
"go.universe.tf/e2etest/webhookstests"
v1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
Expand Down
136 changes: 136 additions & 0 deletions e2etest/go.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
module go.universe.tf/e2etest

go 1.19

replace (
github.com/onsi/ginkgo/v2 => github.com/onsi/ginkgo/v2 v2.4.0
k8s.io/api => k8s.io/api v0.26.0
k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.26.0
k8s.io/apimachinery => k8s.io/apimachinery v0.26.0
k8s.io/apiserver => k8s.io/apiserver v0.26.0
k8s.io/cli-runtime => k8s.io/cli-runtime v0.26.0
k8s.io/client-go => k8s.io/client-go v0.26.4
k8s.io/cloud-provider => k8s.io/cloud-provider v0.26.0
k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.26.0
k8s.io/code-generator => k8s.io/code-generator v0.26.0
k8s.io/component-base => k8s.io/component-base v0.26.0
k8s.io/component-helpers => k8s.io/component-helpers v0.26.0
k8s.io/controller-manager => k8s.io/controller-manager v0.26.0
k8s.io/cri-api => k8s.io/cri-api v0.26.0
k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.26.0
k8s.io/dynamic-resource-allocation => k8s.io/dynamic-resource-allocation v0.26.0
k8s.io/kms => k8s.io/kms v0.26.0
k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.26.0
k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.26.0
k8s.io/kube-proxy => k8s.io/kube-proxy v0.26.0
k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.26.0
k8s.io/kubectl => k8s.io/kubectl v0.26.0
k8s.io/kubelet => k8s.io/kubelet v0.26.0
k8s.io/kubernetes => k8s.io/kubernetes v1.26.0
k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.26.0
k8s.io/metrics => k8s.io/metrics v0.26.0
k8s.io/mount-utils => k8s.io/mount-utils v0.26.0
k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.26.0
k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.26.0
)

require (
github.com/mikioh/ipaddr v0.0.0-20190404000644-d465c8ab6721
github.com/onsi/ginkgo/v2 v2.9.5
github.com/onsi/gomega v1.27.7
github.com/openshift-kni/k8sreporter v1.0.3
github.com/pkg/errors v0.9.1
github.com/prometheus/client_model v0.4.0
github.com/prometheus/common v0.43.0
go.universe.tf/metallb v0.13.9
golang.org/x/sync v0.2.0
k8s.io/api v0.27.1
k8s.io/apimachinery v0.27.1
k8s.io/client-go v1.5.2
k8s.io/kubernetes v1.26.1
k8s.io/pod-security-admission v0.0.0
sigs.k8s.io/controller-runtime v0.14.6
)

require (
github.com/beorn7/perks v1.0.1 // indirect
github.com/blang/semver/v4 v4.0.0 // indirect
github.com/cenkalti/backoff/v4 v4.1.3 // indirect
github.com/cespare/xxhash/v2 v2.2.0 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/docker/distribution v2.8.1+incompatible // indirect
github.com/emicklei/go-restful/v3 v3.10.1 // indirect
github.com/evanphx/json-patch v4.12.0+incompatible // indirect
github.com/evanphx/json-patch/v5 v5.6.0 // indirect
github.com/felixge/httpsnoop v1.0.3 // indirect
github.com/fsnotify/fsnotify v1.6.0 // indirect
github.com/go-kit/log v0.2.1 // indirect
github.com/go-logfmt/logfmt v0.5.1 // indirect
github.com/go-logr/logr v1.2.4 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/go-openapi/jsonpointer v0.19.6 // indirect
github.com/go-openapi/jsonreference v0.20.2 // indirect
github.com/go-openapi/swag v0.22.3 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang/glog v1.0.0 // indirect
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
github.com/golang/protobuf v1.5.3 // indirect
github.com/google/gnostic v0.6.9 // indirect
github.com/google/go-cmp v0.5.9 // indirect
github.com/google/gofuzz v1.2.0 // indirect
github.com/google/uuid v1.3.0 // indirect
github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0 // indirect
github.com/imdario/mergo v0.3.13 // indirect
github.com/inconshreveable/mousetrap v1.0.1 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/mailru/easyjson v0.7.7 // indirect
github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
github.com/moby/spdystream v0.2.0 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/opencontainers/go-digest v1.0.0 // indirect
github.com/prometheus/client_golang v1.15.1 // indirect
github.com/prometheus/procfs v0.9.0 // indirect
github.com/spf13/cobra v1.6.0 // indirect
github.com/spf13/pflag v1.0.5 // indirect
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.35.0 // indirect
go.opentelemetry.io/otel v1.10.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.10.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.10.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.10.0 // indirect
go.opentelemetry.io/otel/metric v0.31.0 // indirect
go.opentelemetry.io/otel/sdk v1.10.0 // indirect
go.opentelemetry.io/otel/trace v1.10.0 // indirect
go.opentelemetry.io/proto/otlp v0.19.0 // indirect
golang.org/x/crypto v0.5.0 // indirect
golang.org/x/net v0.10.0 // indirect
golang.org/x/oauth2 v0.7.0 // indirect
golang.org/x/sys v0.8.0 // indirect
golang.org/x/term v0.8.0 // indirect
golang.org/x/text v0.9.0 // indirect
golang.org/x/time v0.3.0 // indirect
gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect
google.golang.org/appengine v1.6.7 // indirect
google.golang.org/genproto v0.0.0-20230123190316-2c411cf9d197 // indirect
google.golang.org/grpc v1.52.0 // indirect
google.golang.org/protobuf v1.30.0 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
k8s.io/apiextensions-apiserver v0.26.1 // indirect
k8s.io/apiserver v0.26.0 // indirect
k8s.io/cloud-provider v0.0.0 // indirect
k8s.io/component-base v0.26.1 // indirect
k8s.io/component-helpers v0.26.0 // indirect
k8s.io/klog/v2 v2.90.1 // indirect
k8s.io/kube-openapi v0.0.0-20230308215209-15aac26d736a // indirect
k8s.io/kubectl v0.0.0 // indirect
k8s.io/kubelet v0.0.0 // indirect
k8s.io/utils v0.0.0-20230313181309-38a27ef9d749 // indirect
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.33 // indirect
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect
sigs.k8s.io/yaml v1.3.0 // indirect
)
Loading

0 comments on commit 0c24d4c

Please sign in to comment.