Skip to content

[external_dns] strengthen tests to lift mutation score - #24348

Open
philjlee wants to merge 2 commits into
masterfrom
philip.lee/mutation-external_dns
Open

philjlee wants to merge 2 commits into
masterfrom
philip.lee/mutation-external_dns

Conversation

@philjlee

@philjlee philjlee commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

What does this PR do?

Strengthens the unit tests for the external_dns check to lift its cosmic-ray mutation score from
33.3% to 100.0% (3/3 mutants killed). Tests-only — no source changes,
no changelog.

Each new test carries a one-line comment naming the specific surviving mutant it kills.

Motivation

A mutation-testing sweep across integrations-core found external_dns scoring 33.3%: source
behavior that no unit test detected. The new/extended env-agnostic tests in tests/test_unit.py
instantiate the real check classes (no mocks, no environment gating) and reuse the existing
tests/common.py fixtures and constants.

Review checklist (to be filled by reviewers)

  • Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
  • Add the qa/skip-qa label if the PR doesn't need to be tested during QA.

@datadog-datadog-prod-us1

datadog-datadog-prod-us1 Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Tests  Code Coverage

All CI checks and tests passed.

🎉 All green!

🧪 All tests passed
❄️ No new flaky tests detected

🎯 Code Coverage (details)
Patch Coverage: 100.00%
Overall Coverage: 90.91% (+1.85%)

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 4806e52 | Docs | View more details | Give us feedback!

@philjlee philjlee added the qa/skip-qa Automatically skip this PR for the next QA label Jul 8, 2026 — with ddtool CLI
@philjlee
philjlee marked this pull request as ready for review July 17, 2026 13:35
@philjlee
philjlee requested a review from a team as a code owner July 17, 2026 13:35
@philjlee
philjlee force-pushed the philip.lee/mutation-external_dns branch from 6d1b4ae to f266de0 Compare August 17, 2026 19:50

@mwdd146980 mwdd146980 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

don't know if you're still working on this, but this lgtm!

@dd-octo-sts

dd-octo-sts Bot commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

✅ Dispatcher tests · passed

Dispatcher beta: informational only

Dispatcher is running alongside existing CI while we validate it. You can ignore this report and its statuses. Existing CI remains the merge signal.

  2/2 jobs
✅ 2 passed · ❌ 0 failed

Batches

BatchStateJobsWorkflow
batch-01✅ passed2/2run 35007751573
Dispatcher finished on 77c7427GitHub Run.

@dd-octo-sts

dd-octo-sts Bot commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

Validation Report

All 21 validations passed.

Show details
Validation Description Status
agent-reqs Verify check versions match the Agent requirements file
ci Validate CI configuration and code coverage settings
codeowners Validate every integration has a CODEOWNERS entry
config Validate default configuration files against spec.yaml
dep Verify dependency pins are consistent and Agent-compatible
http Validate integrations use the HTTP wrapper correctly
imports Validate check imports do not use deprecated modules
integration-style Validate check code style conventions
jmx-metrics Validate JMX metrics definition files and config
labeler Validate PR labeler config matches integration directories
legacy-signature Validate no integration uses the legacy Agent check signature
license-headers Validate Python files have proper license headers
licenses Validate third-party license attribution list
metadata Validate metadata.csv metric definitions
models Validate configuration data models match spec.yaml
openmetrics Validate OpenMetrics integrations disable the metric limit
package Validate Python package metadata and naming
qa-label Validate the pull request declares whether it needs QA for the next Agent release
readmes Validate README files have required sections
saved-views Validate saved view JSON file structure and fields
version Validate version consistency between package and changelog

View full run

@dd-octo-sts

dd-octo-sts Bot commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

Disk usage change

Commit 4806e52 compared against 77c7427.

No integration or dependency changed size.

@cit-pr-commenter-54b7da

Copy link
Copy Markdown

evalya-impact-summary

evalya impact analysis
Impact analysis: 0 selected, 0 skipped (of 0 test tasks)
Publish tasks:   2 (always emitted)
Diff (1 file):
  external_dns/tests/test_unit.py

Debug a specific task: evalya plan impact --path <path> --task <task>

Learn more about CI impact filtering

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants