Skip to content

Commit 725dcc3

Browse files
CORENET-7206: Add OpenShift Tests Extension (OTE) framework for ingress-node-firewall
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 1223118 commit 725dcc3

9 files changed

Lines changed: 345 additions & 6 deletions

File tree

Dockerfile.openshift

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,19 @@ COPY controllers/ controllers/
1414
COPY pkg/ pkg/
1515
COPY vendor/ vendor/
1616
COPY bindata/manifests/ bindata/manifests/
17+
COPY test/ test/
1718

1819
# Build
1920
RUN CGO_ENABLED=0 GO111MODULE=on go build -a -mod=vendor -o manager main.go
2021

22+
# Build extended tests
23+
RUN go mod vendor && make -C test build-e2e-tests && \
24+
gzip test/bin/ingress-node-firewall-tests
25+
2126
FROM registry.ci.openshift.org/ocp/4.22:base-rhel9
2227
WORKDIR /
2328
COPY --from=builder /workspace/manager .
2429
COPY --from=builder /workspace/bindata/manifests /bindata/manifests
30+
COPY --from=builder /workspace/test/bin/ingress-node-firewall-tests.gz /usr/bin/
2531

2632
ENTRYPOINT ["/manager"]

Makefile

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -480,3 +480,12 @@ podman-build-daemon: ## Build the daemon image with podman. To change location,
480480
.PHONY: podman-push-daemon
481481
podman-push-daemon: ## Push the daemon image with docker. To change location, specify DAEMON_IMG=<image>.
482482
podman push ${DAEMON_IMG}
483+
484+
##@ Extended Tests (OTE)
485+
.PHONY: build-e2e-tests
486+
build-e2e-tests: ## Build the extended e2e test binary for OpenShift
487+
$(MAKE) -C test build-e2e-tests
488+
489+
.PHONY: clean-e2e-tests
490+
clean-e2e-tests: ## Clean the extended e2e test artifacts
491+
$(MAKE) -C test clean

go.mod

Lines changed: 46 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,13 @@ require (
1313
github.com/google/gopacket v1.1.19
1414
github.com/kennygrant/sanitize v1.2.4
1515
github.com/onsi/ginkgo v1.16.5
16+
github.com/onsi/ginkgo/v2 v2.23.3
1617
github.com/onsi/gomega v1.37.0
18+
github.com/openshift-eng/openshift-tests-extension v0.0.0-20251218142942-7ecc8801b9df
1719
github.com/pkg/errors v0.9.1
1820
github.com/prometheus/client_golang v1.22.0
1921
github.com/prometheus/common v0.63.0
22+
github.com/spf13/cobra v1.8.1
2023
github.com/vishvananda/netlink v1.3.1-0.20250206174618-62fb240731fa
2124
golang.org/x/sys v0.32.0
2225
gopkg.in/mcuadros/go-syslog.v2 v2.3.0
@@ -32,8 +35,10 @@ require (
3235
)
3336

3437
require (
38+
cel.dev/expr v0.18.0 // indirect
3539
github.com/Masterminds/goutils v1.1.1 // indirect
3640
github.com/Masterminds/semver v1.5.0 // indirect
41+
github.com/antlr4-go/antlr/v4 v4.13.0 // indirect
3742
github.com/beorn7/perks v1.0.1 // indirect
3843
github.com/blang/semver/v4 v4.0.0 // indirect
3944
github.com/cespare/xxhash/v2 v2.3.0 // indirect
@@ -47,16 +52,20 @@ require (
4752
github.com/go-openapi/jsonpointer v0.21.0 // indirect
4853
github.com/go-openapi/jsonreference v0.21.0 // indirect
4954
github.com/go-openapi/swag v0.23.0 // indirect
55+
github.com/go-task/slim-sprig/v3 v3.0.0 // indirect
5056
github.com/gogo/protobuf v1.3.2 // indirect
5157
github.com/golang/protobuf v1.5.4 // indirect
5258
github.com/google/btree v1.1.3 // indirect
59+
github.com/google/cel-go v0.22.0 // indirect
5360
github.com/google/gnostic-models v0.6.8 // indirect
5461
github.com/google/go-cmp v0.7.0 // indirect
5562
github.com/google/gofuzz v1.2.0 // indirect
63+
github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect
5664
github.com/google/uuid v1.6.0 // indirect
5765
github.com/gorilla/websocket v1.5.0 // indirect
5866
github.com/huandu/xstrings v1.3.2 // indirect
5967
github.com/imdario/mergo v0.3.16 // indirect
68+
github.com/inconshreveable/mousetrap v1.1.0 // indirect
6069
github.com/josharian/intern v1.0.0 // indirect
6170
github.com/json-iterator/go v1.1.12 // indirect
6271
github.com/kylelemons/godebug v1.1.0 // indirect
@@ -72,20 +81,25 @@ require (
7281
github.com/prometheus/client_model v0.6.1 // indirect
7382
github.com/prometheus/procfs v0.15.1 // indirect
7483
github.com/spf13/pflag v1.0.5 // indirect
84+
github.com/stoewer/go-strcase v1.3.0 // indirect
7585
github.com/vishvananda/netns v0.0.4 // indirect
7686
github.com/x448/float16 v0.8.4 // indirect
7787
go.opentelemetry.io/otel v1.32.0 // indirect
7888
go.opentelemetry.io/otel/trace v1.32.0 // indirect
7989
go.uber.org/multierr v1.11.0 // indirect
8090
go.uber.org/zap v1.27.0 // indirect
8191
golang.org/x/crypto v0.36.0 // indirect
92+
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 // indirect
8293
golang.org/x/net v0.37.0 // indirect
83-
golang.org/x/oauth2 v0.25.0 // indirect
94+
golang.org/x/oauth2 v0.27.0 // indirect
8495
golang.org/x/sync v0.12.0 // indirect
8596
golang.org/x/term v0.30.0 // indirect
8697
golang.org/x/text v0.23.0 // indirect
8798
golang.org/x/time v0.7.0 // indirect
99+
golang.org/x/tools v0.30.0 // indirect
88100
gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect
101+
google.golang.org/genproto/googleapis/api v0.0.0-20240826202546-f6391c0de4c7 // indirect
102+
google.golang.org/genproto/googleapis/rpc v0.0.0-20250102185135-69823020774d // indirect
89103
google.golang.org/protobuf v1.36.5 // indirect
90104
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
91105
gopkg.in/inf.v0 v0.9.1 // indirect
@@ -97,3 +111,34 @@ require (
97111
sigs.k8s.io/structured-merge-diff/v4 v4.4.2 // indirect
98112
sigs.k8s.io/yaml v1.4.0 // indirect
99113
)
114+
115+
// Replace directives for OTE framework
116+
replace (
117+
github.com/onsi/ginkgo/v2 => github.com/openshift/onsi-ginkgo/v2 v2.6.1-0.20241205171354-8006f302fd12
118+
k8s.io/api => k8s.io/api v0.32.3
119+
k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.32.3
120+
k8s.io/apimachinery => k8s.io/apimachinery v0.32.3
121+
k8s.io/apiserver => k8s.io/apiserver v0.32.3
122+
k8s.io/cli-runtime => k8s.io/cli-runtime v0.32.3
123+
k8s.io/client-go => k8s.io/client-go v0.32.3
124+
k8s.io/cloud-provider => k8s.io/cloud-provider v0.32.3
125+
k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.32.3
126+
k8s.io/code-generator => k8s.io/code-generator v0.32.3
127+
k8s.io/component-base => k8s.io/component-base v0.32.3
128+
k8s.io/component-helpers => k8s.io/component-helpers v0.32.3
129+
k8s.io/controller-manager => k8s.io/controller-manager v0.32.3
130+
k8s.io/cri-api => k8s.io/cri-api v0.32.3
131+
k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.32.3
132+
k8s.io/dynamic-resource-allocation => k8s.io/dynamic-resource-allocation v0.32.3
133+
k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.32.3
134+
k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.32.3
135+
k8s.io/kube-proxy => k8s.io/kube-proxy v0.32.3
136+
k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.32.3
137+
k8s.io/kubectl => k8s.io/kubectl v0.32.3
138+
k8s.io/kubelet => k8s.io/kubelet v0.32.3
139+
k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.32.3
140+
k8s.io/metrics => k8s.io/metrics v0.32.3
141+
k8s.io/mount-utils => k8s.io/mount-utils v0.32.3
142+
k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.32.3
143+
k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.32.3
144+
)

go.sum

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
1+
cel.dev/expr v0.18.0 h1:CJ6drgk+Hf96lkLikr4rFf19WrU0BOWEihyZnI2TAzo=
2+
cel.dev/expr v0.18.0/go.mod h1:MrpN08Q+lEBs+bGYdLxxHkZoUSsCp0nSKTs0nTymJgw=
13
github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI=
24
github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU=
35
github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww=
46
github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y=
57
github.com/Masterminds/sprig v2.22.0+incompatible h1:z4yfnGrZ7netVz+0EDJ0Wi+5VZCSYp4Z0m2dk6cEM60=
68
github.com/Masterminds/sprig v2.22.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o=
9+
github.com/antlr4-go/antlr/v4 v4.13.0 h1:lxCg3LAv+EUK6t1i0y1V6/SLeUi0eKEKdhQAlS8TVTI=
10+
github.com/antlr4-go/antlr/v4 v4.13.0/go.mod h1:pfChB/xh/Unjila75QW7+VU4TSnWnnk9UTnmpPaOR2g=
711
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio=
812
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
913
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
@@ -16,6 +20,7 @@ github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UF
1620
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
1721
github.com/cilium/ebpf v0.18.0 h1:OsSwqS4y+gQHxaKgg2U/+Fev834kdnsQbtzRnbVC6Gs=
1822
github.com/cilium/ebpf v0.18.0/go.mod h1:vmsAT73y4lW2b4peE+qcOqw6MxvWQdC+LiU5gd/xyo4=
23+
github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
1924
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
2025
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
2126
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
@@ -45,7 +50,6 @@ github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+Gr
4550
github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ=
4651
github.com/go-quicktest/qt v1.101.1-0.20240301121107-c6c8733fa1e6 h1:teYtXy9B7y5lHTp8V9KPxpYRAVA7dozigQcMiBust1s=
4752
github.com/go-quicktest/qt v1.101.1-0.20240301121107-c6c8733fa1e6/go.mod h1:p4lGIVX+8Wa6ZPNDvqcxq36XpUDLh42FLetFU7odllI=
48-
github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0 h1:p104kn46Q8WdvHunIJ9dAyjPVtrBPhSr3KT2yUst43I=
4953
github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE=
5054
github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI=
5155
github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8=
@@ -64,6 +68,8 @@ github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek
6468
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
6569
github.com/google/btree v1.1.3 h1:CVpQJjYgC4VbzxeGVHfvZrv1ctoYCAI8vbl07Fcxlyg=
6670
github.com/google/btree v1.1.3/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4=
71+
github.com/google/cel-go v0.22.0 h1:b3FJZxpiv1vTMo2/5RDUqAHPxkT8mmMfJIrq1llbf7g=
72+
github.com/google/cel-go v0.22.0/go.mod h1:BuznPXXfQDpXKWQ9sPW3TzlAJN5zzFe+i9tIs0yC4s8=
6773
github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I=
6874
github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U=
6975
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
@@ -88,6 +94,8 @@ github.com/huandu/xstrings v1.3.2 h1:L18LIDzqlW6xN2rEkpdV8+oL/IXWJ1APd+vsdYy4Wdw
8894
github.com/huandu/xstrings v1.3.2/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
8995
github.com/imdario/mergo v0.3.16 h1:wwQJbIsHYGMUyLSPrEq1CT16AhnhNJQ51+4fdHUnCl4=
9096
github.com/imdario/mergo v0.3.16/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY=
97+
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
98+
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
9199
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
92100
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
93101
github.com/josharian/native v1.1.0 h1:uuaP0hAbW7Y4l0ZRQ6C9zfb7Mg1mbFKry/xzDAfmtLA=
@@ -136,12 +144,14 @@ github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+W
136144
github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk=
137145
github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE=
138146
github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU=
139-
github.com/onsi/ginkgo/v2 v2.23.3 h1:edHxnszytJ4lD9D5Jjc4tiDkPBZ3siDeJJkUZJJVkp0=
140-
github.com/onsi/ginkgo/v2 v2.23.3/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM=
141147
github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
142148
github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
143149
github.com/onsi/gomega v1.37.0 h1:CdEG8g0S133B4OswTDC/5XPSzE1OeP29QOioj2PID2Y=
144150
github.com/onsi/gomega v1.37.0/go.mod h1:8D9+Txp43QWKhM24yyOBEdpkzN8FvJyAwecBgsU4KU0=
151+
github.com/openshift-eng/openshift-tests-extension v0.0.0-20251218142942-7ecc8801b9df h1:/KiCxPFpkZN4HErfAX5tyhn6G3ziPFbkGswHVAZKY5Q=
152+
github.com/openshift-eng/openshift-tests-extension v0.0.0-20251218142942-7ecc8801b9df/go.mod h1:6gkP5f2HL0meusT0Aim8icAspcD1cG055xxBZ9yC68M=
153+
github.com/openshift/onsi-ginkgo/v2 v2.6.1-0.20241205171354-8006f302fd12 h1:AKx/w1qpS8We43bsRgf8Nll3CGlDHpr/WAXvuedTNZI=
154+
github.com/openshift/onsi-ginkgo/v2 v2.6.1-0.20241205171354-8006f302fd12/go.mod h1:7Du3c42kxCUegi0IImZ1wUQzMBVecgIHjR1C+NkhLQo=
145155
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
146156
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
147157
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
@@ -157,11 +167,21 @@ github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0leargg
157167
github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk=
158168
github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8=
159169
github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4=
170+
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
171+
github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM=
172+
github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y=
160173
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
161174
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
175+
github.com/stoewer/go-strcase v1.3.0 h1:g0eASXYtp+yvN9fK8sH94oCIk0fau9uV1/ZdJ0AVEzs=
176+
github.com/stoewer/go-strcase v1.3.0/go.mod h1:fAH5hQ5pehh+j3nZfvwdk2RgEgQjAoM8wodgtPmh1xo=
162177
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
178+
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
179+
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
163180
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
164181
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
182+
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
183+
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
184+
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
165185
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
166186
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
167187
github.com/vishvananda/netlink v1.3.1-0.20250206174618-62fb240731fa h1:iAhToRwOrdk+pKzclvLM7nKZhsg8f7dVrgkFccDUbUw=
@@ -187,6 +207,8 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U
187207
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
188208
golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34=
189209
golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc=
210+
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 h1:2dVuKD2vS7b0QIHQbpyTISPd0LeHDbnYEryqj5Q1ug8=
211+
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56/go.mod h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY=
190212
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
191213
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
192214
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
@@ -199,8 +221,8 @@ golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/
199221
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
200222
golang.org/x/net v0.37.0 h1:1zLorHbz+LYj7MQlSf1+2tPIIgibq2eL5xkrGk6f+2c=
201223
golang.org/x/net v0.37.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8=
202-
golang.org/x/oauth2 v0.25.0 h1:CY4y7XT9v0cRI9oupztF8AgiIu99L/ksR/Xp/6jrZ70=
203-
golang.org/x/oauth2 v0.25.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
224+
golang.org/x/oauth2 v0.27.0 h1:da9Vo7/tDv5RH/7nZDz1eMGS/q1Vv1N/7FCrBhI9I3M=
225+
golang.org/x/oauth2 v0.27.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8=
204226
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
205227
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
206228
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -242,6 +264,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T
242264
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
243265
gomodules.xyz/jsonpatch/v2 v2.4.0 h1:Ci3iUJyx9UeRx7CeFN8ARgGbkESwJK+KB9lLcWxY/Zw=
244266
gomodules.xyz/jsonpatch/v2 v2.4.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY=
267+
google.golang.org/genproto/googleapis/api v0.0.0-20240826202546-f6391c0de4c7 h1:YcyjlL1PRr2Q17/I0dPk2JmYS5CDXfcdb2Z3YRioEbw=
268+
google.golang.org/genproto/googleapis/api v0.0.0-20240826202546-f6391c0de4c7/go.mod h1:OCdP9MfskevB/rbYvHTsXTtKC+3bHWajPdoKgjcYkfo=
269+
google.golang.org/genproto/googleapis/rpc v0.0.0-20250102185135-69823020774d h1:xJJRGY7TJcvIlpSrN3K6LAWgNFUILlO+OMAqtg9aqnw=
270+
google.golang.org/genproto/googleapis/rpc v0.0.0-20250102185135-69823020774d/go.mod h1:3ENsm/5D1mzDyhpzeRi1NR784I0BcofWBoSc5QqqMK4=
245271
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
246272
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
247273
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
@@ -265,6 +291,7 @@ gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWD
265291
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
266292
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
267293
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
294+
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
268295
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
269296
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
270297
k8s.io/api v0.32.3 h1:Hw7KqxRusq+6QSplE3NYG4MBxZw1BZnq4aP4cJVINls=

test/Makefile

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# test/Makefile - Build targets for ingress-node-firewall extended tests
2+
3+
SHELL := /bin/bash
4+
5+
# Binary name
6+
BINARY_NAME := ingress-node-firewall-tests
7+
8+
# Build directory
9+
BUILD_DIR := bin
10+
BINARY_PATH := $(BUILD_DIR)/$(BINARY_NAME)
11+
12+
# Go build flags
13+
GO := go
14+
GOFLAGS ?=
15+
LDFLAGS := -w -s
16+
17+
# Version information
18+
VERSION ?= $(shell git describe --tags --always --dirty 2>/dev/null || echo "unknown")
19+
GIT_COMMIT ?= $(shell git rev-parse HEAD 2>/dev/null || echo "unknown")
20+
BUILD_DATE ?= $(shell date -u +"%Y-%m-%dT%H:%M:%SZ")
21+
22+
# LDFLAGS with version info
23+
LDFLAGS += -X github.com/openshift/ingress-node-firewall/test/version.Version=$(VERSION)
24+
LDFLAGS += -X github.com/openshift/ingress-node-firewall/test/version.GitCommit=$(GIT_COMMIT)
25+
LDFLAGS += -X github.com/openshift/ingress-node-firewall/test/version.BuildDate=$(BUILD_DATE)
26+
27+
.PHONY: all
28+
all: build-e2e-tests
29+
30+
.PHONY: build-e2e-tests
31+
build-e2e-tests: ## Build the extended e2e test binary (static, ART compliant)
32+
@echo "Building $(BINARY_NAME)..."
33+
@mkdir -p $(BUILD_DIR)
34+
CGO_ENABLED=0 GO_COMPLIANCE_POLICY="exempt_all" $(GO) build \
35+
-a -mod=mod \
36+
-ldflags "$(LDFLAGS)" \
37+
-o $(BINARY_PATH) ./cmd/main.go
38+
@echo "Built $(BINARY_PATH)"
39+
40+
.PHONY: clean
41+
clean: ## Clean build artifacts
42+
@echo "Cleaning test build artifacts..."
43+
@rm -rf $(BUILD_DIR)
44+
45+
.PHONY: help
46+
help: ## Display this help
47+
@awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m<target>\033[0m\n"} /^[a-zA-Z_0-9-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST)

0 commit comments

Comments
 (0)