BIND merge requestshttps://gitlab.isc.org/isc-projects/bind9/-/merge_requests2023-12-06T10:04:24Zhttps://gitlab.isc.org/isc-projects/bind9/-/merge_requests/8340Draft: Check unexpected files created during system test run2023-12-06T10:04:24ZTom KrizekDraft: Check unexpected files created during system test runThis is a work-in-progress MR to demonstrate a possible solution for #4261. I'd like to get your opinion on whether this approach and added maintenance burden is really worth the feature to detect unexpected test artifacts.
The proposed...This is a work-in-progress MR to demonstrate a possible solution for #4261. I'd like to get your opinion on whether this approach and added maintenance burden is really worth the feature to detect unexpected test artifacts.
The proposed solution utilizes `.gitignore` files to ignore the expected test artifacts. However, this gets ugly quick, because the tests are already executed inside temporary directories which are ignored by git. This necessitates a creation of yet-another temporary directory and re-creating the file structure inside it, see f83786981fc71ad48216d3f85a6c8435ac1ed2f4.
Another issue/feature is that all .gitignore files up to git root are taken into account. This can be both useful (like placing some common patterns like `named.conf` into `bin/tests/system/.gitignore`) but also confusing (why does there need to be a test-specific rule for `ans.run.prev`, but not `ans.run`?).
Since it's a git mechanism, new `pygit2` dependency is required (otherwise the check is skipped). Also, it only works in git tree.
Finally, each test has to have its `clean.sh` reworked into `.gitignore` instead. Sometimes the `.gitignore` turns out fairly [simple](c7ca1f720c53b1067d925448db3430ee33ed11d3), othertimes [not so much](c19b550d147abd2904b40e1e37d8ccdfa1bceb62).
Backporting this to ~"v9.18" would also slightly cripple the legacy runner, since `clean.sh` would no longer work and `git clean` would have to be used instead. On the other hand, _not backporting_ this would be even a bigger nightmare, since that would create a fairly significant difference between the test files and any future `.gitignore` vs `clean.sh` conflicts would have to be resolved during every affected ~"v9.18" test backport, creating additional maintenance burden.
---
After spelling all of this out, I really think it's better to abandon the ability to detect unexpected test files and go with the simpler and cleaner solution - tests are already executed in temporary directories, so we could simply drop the `clean.sh` scripts for the pytest runner and not bother with listing all the test artifacts.BIND 9.19.xhttps://gitlab.isc.org/isc-projects/bind9/-/merge_requests/4509Draft: Resolve "Cannot compile current versions on macOS "Catalina""2021-02-16T01:06:37ZMark AndrewsDraft: Resolve "Cannot compile current versions on macOS "Catalina""Closes #2357Closes #2357March 2021 (9.11.29, 9.11.29-S1, 9.16.13, 9.16.13-S1, 9.17.11)