[PR #2222] [MERGED] import DNSSEC conformance test suite repository #2889

Closed
opened 2026-03-16 11:13:37 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/hickory-dns/hickory-dns/pull/2222
Author: @japaric
Created: 5/29/2024
Status: Merged
Merged: 6/7/2024
Merged by: @djc

Base: mainHead: ja-import-conformance-tests


📝 Commits (10+)

  • a438d7c initial commit
  • e5c373b Expand test setup to run on OSX as well
  • ecc73a5 Merge pull request #1 from japaric/expand-example-setup
  • 88afa40 add TLD name server instructions
  • 907f409 Prepare containers to work on OSX
  • 97beb1c Merge pull request #2 from japaric/readme-up
  • e6691ff Merge pull request #3 from japaric/expand-dockerfiles-install-tools
  • 3c50ca9 initial Container API
  • bc10cda WIP root & tld name server setup
  • 6026caf make nameserver setup work

📊 Changes

59 files changed (+6250 additions, -0 deletions)

View changed files

.github/CODEOWNERS (+8 -0)
.github/workflows/conformance.yml (+42 -0)
📝 .github/workflows/test.yml (+4 -0)
conformance/.gitignore (+1 -0)
conformance/Cargo.lock (+734 -0)
conformance/Cargo.toml (+3 -0)
conformance/README.md (+167 -0)
conformance/packages/conformance-tests/Cargo.toml (+13 -0)
conformance/packages/conformance-tests/src/lib.rs (+4 -0)
conformance/packages/conformance-tests/src/name_server.rs (+2 -0)
conformance/packages/conformance-tests/src/name_server/rfc4035.rs (+1 -0)
conformance/packages/conformance-tests/src/name_server/rfc4035/section_3.rs (+1 -0)
conformance/packages/conformance-tests/src/name_server/rfc4035/section_3/section_3_1.rs (+1 -0)
conformance/packages/conformance-tests/src/name_server/rfc4035/section_3/section_3_1/section_3_1_1.rs (+64 -0)
conformance/packages/conformance-tests/src/name_server/scenarios.rs (+23 -0)
conformance/packages/conformance-tests/src/resolver.rs (+4 -0)
conformance/packages/conformance-tests/src/resolver/dns.rs (+3 -0)
conformance/packages/conformance-tests/src/resolver/dns/scenarios.rs (+68 -0)
conformance/packages/conformance-tests/src/resolver/dnssec.rs (+5 -0)
conformance/packages/conformance-tests/src/resolver/dnssec/fixtures.rs (+75 -0)

...and 39 more files

📄 Description

this PR imports the git history of the dnssec-tests repository (RFC #2155) using the following command

git subtree add -P conformance https://github.com/ferrous-systems/dnssec-tests main

and then proceeds to set up CI and CODEOWNERS as proposed in this comment

the first ~159 commits are the git history of the dnssec-tests repository. the last few commits correspond to the integration work

I considered adding the new two packages to the existing workspace but that resulted in more invasive changes to the justfile: we don't want to run the conformance test suite whenever cargo ws exec cargo t is used because we want to set the test subject via an environment variable and we also want to run the conformance test suite against different DNS implementations. I didn't find a straightforward way to merge the ignore justfile arguments that some tasks have to a default --ignore='{dns-test,conformance-tests}' argument which had to be added to each cargo ws exec invocation. Instead, I opted for placing the conformance test suite and its test framework into its own workspace; that led to less invasive changes to the justfile.

Note that the creation of the CODEOWNERS file is not sufficient to achieve the desired review permissions. The ferrous team need to be given write permissions to this repository and the branch protection settings of this repository need to modified to "Require review from Code Owners" as described in this help article

I'm going to leave this PR in draft state because I need to redo the "subtree pull" after https://github.com/ferrous-systems/dnssec-tests/pull/67 has been merged because that un-ignores the tests that pass with the latest version of hickory-dns ( 107635c6c5 ) DONE


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/hickory-dns/hickory-dns/pull/2222 **Author:** [@japaric](https://github.com/japaric) **Created:** 5/29/2024 **Status:** ✅ Merged **Merged:** 6/7/2024 **Merged by:** [@djc](https://github.com/djc) **Base:** `main` ← **Head:** `ja-import-conformance-tests` --- ### 📝 Commits (10+) - [`a438d7c`](https://github.com/hickory-dns/hickory-dns/commit/a438d7c5e12f41323101d3f326d854bcb565c41e) initial commit - [`e5c373b`](https://github.com/hickory-dns/hickory-dns/commit/e5c373b6dacaf3562813442b3c0f0b91d207faf7) Expand test setup to run on OSX as well - [`ecc73a5`](https://github.com/hickory-dns/hickory-dns/commit/ecc73a52555d384aba5c1388e24f989b77f2841c) Merge pull request #1 from japaric/expand-example-setup - [`88afa40`](https://github.com/hickory-dns/hickory-dns/commit/88afa403a4764d944c303403f6e35d4124d39404) add TLD name server instructions - [`907f409`](https://github.com/hickory-dns/hickory-dns/commit/907f40923dbac797d6d1a0503695d9ee7e00f5b1) Prepare containers to work on OSX - [`97beb1c`](https://github.com/hickory-dns/hickory-dns/commit/97beb1c0831f8bfb6f2cac2bb75de171c52eb61c) Merge pull request #2 from japaric/readme-up - [`e6691ff`](https://github.com/hickory-dns/hickory-dns/commit/e6691ffc4040d4591e196be523420fd763ccf047) Merge pull request #3 from japaric/expand-dockerfiles-install-tools - [`3c50ca9`](https://github.com/hickory-dns/hickory-dns/commit/3c50ca911a99067ff49a46c7993c1e64b53f0c32) initial Container API - [`bc10cda`](https://github.com/hickory-dns/hickory-dns/commit/bc10cda9cc353bdbff06f7511c95248ce7c2834c) WIP root & tld name server setup - [`6026caf`](https://github.com/hickory-dns/hickory-dns/commit/6026caf25dd060a152a9cf5742535ef2f0beab6e) make nameserver setup work ### 📊 Changes **59 files changed** (+6250 additions, -0 deletions) <details> <summary>View changed files</summary> ➕ `.github/CODEOWNERS` (+8 -0) ➕ `.github/workflows/conformance.yml` (+42 -0) 📝 `.github/workflows/test.yml` (+4 -0) ➕ `conformance/.gitignore` (+1 -0) ➕ `conformance/Cargo.lock` (+734 -0) ➕ `conformance/Cargo.toml` (+3 -0) ➕ `conformance/README.md` (+167 -0) ➕ `conformance/packages/conformance-tests/Cargo.toml` (+13 -0) ➕ `conformance/packages/conformance-tests/src/lib.rs` (+4 -0) ➕ `conformance/packages/conformance-tests/src/name_server.rs` (+2 -0) ➕ `conformance/packages/conformance-tests/src/name_server/rfc4035.rs` (+1 -0) ➕ `conformance/packages/conformance-tests/src/name_server/rfc4035/section_3.rs` (+1 -0) ➕ `conformance/packages/conformance-tests/src/name_server/rfc4035/section_3/section_3_1.rs` (+1 -0) ➕ `conformance/packages/conformance-tests/src/name_server/rfc4035/section_3/section_3_1/section_3_1_1.rs` (+64 -0) ➕ `conformance/packages/conformance-tests/src/name_server/scenarios.rs` (+23 -0) ➕ `conformance/packages/conformance-tests/src/resolver.rs` (+4 -0) ➕ `conformance/packages/conformance-tests/src/resolver/dns.rs` (+3 -0) ➕ `conformance/packages/conformance-tests/src/resolver/dns/scenarios.rs` (+68 -0) ➕ `conformance/packages/conformance-tests/src/resolver/dnssec.rs` (+5 -0) ➕ `conformance/packages/conformance-tests/src/resolver/dnssec/fixtures.rs` (+75 -0) _...and 39 more files_ </details> ### 📄 Description this PR imports the git history of the dnssec-tests repository (RFC #2155) using the following command ``` console git subtree add -P conformance https://github.com/ferrous-systems/dnssec-tests main ``` and then proceeds to set up CI and CODEOWNERS as proposed in [this comment](https://github.com/hickory-dns/hickory-dns/pull/2155#issuecomment-2083288096) the first ~159 commits are the git history of the dnssec-tests repository. the last few commits correspond to the integration work I considered adding the new two packages to the existing workspace but that resulted in more invasive changes to the `justfile`: we don't want to run the conformance test suite whenever `cargo ws exec cargo t` is used because we want to set the test subject via an environment variable and we also want to run the conformance test suite against different DNS implementations. I didn't find a straightforward way to merge the `ignore` justfile arguments that some tasks have to a default `--ignore='{dns-test,conformance-tests}'` argument which had to be added to each `cargo ws exec` invocation. Instead, I opted for placing the conformance test suite and its test framework into its own workspace; that led to less invasive changes to the `justfile`. Note that the creation of the CODEOWNERS file is not sufficient to achieve the desired review permissions. The ferrous team need to be given write permissions to this repository and the branch protection settings of this repository need to modified to "Require review from Code Owners" as described in [this help article](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners#codeowners-and-branch-protection) ~~I'm going to leave this PR in draft state because I need to redo the "subtree pull" after https://github.com/ferrous-systems/dnssec-tests/pull/67 has been merged because that un-ignores the tests that pass with the latest version of hickory-dns ( 107635c6c5934524894736f1b141198d0fa62fec )~~ DONE --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-16 11:13:37 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/hickory-dns#2889
No description provided.