Skip to content

Commit 9c27cda

Browse files
wu-shengclaude
andcommitted
feat(e2e): add noDuplicates verification to detect duplicate query results (#12253)
Add `| noDuplicates` pipe function to all entity-level `contains` blocks in e2e expected YAML files, leveraging the new infra-e2e feature from apache/skywalking-infra-e2e#145. This ensures e2e tests will catch duplicate data in query results (services, instances, endpoints, traces, spans, dependencies, events, metrics, etc.), preventing regressions like the one reported in apache/skywalking#12219. Also bumps SW_INFRA_E2E_COMMIT, SW_OAP_COMMIT, and the GitHub Actions infra-e2e action to their latest versions. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent c515e81 commit 9c27cda

44 files changed

Lines changed: 60 additions & 59 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/e2e.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ jobs:
111111
run: |
112112
bash test/e2e-v2/cases/lifecycle/data-generator/gen.sh
113113
- name: ${{ matrix.test.name }}
114-
uses: apache/skywalking-infra-e2e@e26033e1faaf865899c486ffe17dabdf17b90aae
114+
uses: apache/skywalking-infra-e2e@ef073adb8b9e148e4eaf3f905fa4e238ee5cc7d6
115115
with:
116116
e2e-file: $GITHUB_WORKSPACE/${{ matrix.test.config }}
117117
- name: Fix directory permissions

CHANGES.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ Release Notes.
1010
- Collect BanyanDB data on e2e test failure for CI debugging.
1111
- Add log query e2e test.
1212
- Sync lifecycle e2e test from SkyWalking stages test.
13+
- Add `noDuplicates` verification to all e2e expected files to detect duplicate data in query results.
1314
- Add periodic health check for property schema connection.
1415
- Persist segment end time in per-segment metadata so boundaries don't shift across restarts or config changes.
1516
- [Breaking Change] Remove etcd components. The property-based schema registry is now the only supported mode.

test/e2e-v2/cases/event/expected/events.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
# limitations under the License.
1515

1616
events:
17-
{{- contains .events }}
17+
{{- contains (.events | noDuplicates) }}
1818
- uuid: abcde
1919
source:
2020
service: e2e-service

test/e2e-v2/cases/lifecycle/expected/dependency-endpoint.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
debuggingtrace: null
1717
nodes:
18-
{{- contains .nodes }}
18+
{{- contains (.nodes | noDuplicates) }}
1919
- id: {{ b64enc "mock_a_service" }}.1_{{ b64enc "/dubbox-case/case/dubbox-rest/404-test" }}
2020
name: /dubbox-case/case/dubbox-rest/404-test
2121
serviceid: {{ b64enc "mock_a_service" }}.1
@@ -36,7 +36,7 @@ nodes:
3636
isreal: false
3737
{{- end }}
3838
calls:
39-
{{- contains .calls }}
39+
{{- contains (.calls | noDuplicates) }}
4040
- source: {{ b64enc "mock_a_service" }}.1_{{ b64enc "/dubbox-case/case/dubbox-rest/404-test" }}
4141
sourcecomponents: []
4242
target: {{ b64enc "mock_b_service" }}.1_{{ b64enc "org.skywaking.apm.testcase.dubbo.services.GreetServiceImpl.doBusiness()" }}

test/e2e-v2/cases/lifecycle/expected/dependency-instance.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
debuggingtrace: null
1717
nodes:
18-
{{- contains .nodes }}
18+
{{- contains (.nodes | noDuplicates) }}
1919
- id: {{ b64enc "mock_a_service" }}.1_{{ b64enc "mock_a_service_instance" }}
2020
name: mock_a_service_instance
2121
serviceid: {{ b64enc "mock_a_service" }}.1
@@ -30,7 +30,7 @@ nodes:
3030
isreal: true
3131
{{- end }}
3232
calls:
33-
{{- contains .calls }}
33+
{{- contains (.calls | noDuplicates) }}
3434
- source: {{ b64enc "mock_a_service" }}.1_{{ b64enc "mock_a_service_instance" }}
3535
sourcecomponents: []
3636
target: {{ b64enc "mock_b_service" }}.1_{{ b64enc "mock_b_service_instance" }}

test/e2e-v2/cases/lifecycle/expected/dependency-services.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
debuggingtrace: null
1717
nodes:
18-
{{- contains .nodes }}
18+
{{- contains (.nodes | noDuplicates) }}
1919
- id: {{ b64enc "User"}}.0
2020
name: User
2121
type: USER
@@ -36,7 +36,7 @@ nodes:
3636
- GENERAL
3737
{{- end }}
3838
calls:
39-
{{- contains .calls }}
39+
{{- contains (.calls | noDuplicates) }}
4040
- source: {{ b64enc "mock_a_service"}}.1
4141
sourcecomponents:
4242
- Dubbo

test/e2e-v2/cases/lifecycle/expected/trace-detail.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
debuggingtrace: null
1717
spans:
18-
{{- contains .spans }}
18+
{{- contains (.spans | noDuplicates) }}
1919
- traceid: {{ .traceid }}
2020
segmentid: {{ .segmentid }}
2121
spanid: {{ .spanid }}

test/e2e-v2/cases/lifecycle/expected/traces-list.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
debuggingtrace: null
1717
traces:
18-
{{- contains .traces }}
18+
{{- contains (.traces | noDuplicates) }}
1919
- segmentid: {{ notEmpty .segmentid }}
2020
endpointnames:
2121
- /dubbox-case/case/dubbox-rest/404-test

test/e2e-v2/cases/log/expected/logs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
debuggingtrace: null
1717
errorreason: null
1818
logs:
19-
{{- contains .logs }}
19+
{{- contains (.logs | noDuplicates) }}
2020
- servicename: e2e-service-provider
2121
serviceid: {{ b64enc "e2e-service-provider" }}.1
2222
serviceinstancename: provider1

test/e2e-v2/cases/log/expected/metrics-has-value.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
debuggingtrace: null
1717
type: TIME_SERIES_VALUES
1818
results:
19-
{{- contains .results }}
19+
{{- contains (.results | noDuplicates) }}
2020
- metric:
2121
labels: []
2222
values:

0 commit comments

Comments
 (0)