This repository contains a collection of integration tests built using the NixOS test framework to verify the functionality and interoperability of various services, network components, and configurations within NixOS environments.
The majority of tests target networking functionality. NixOS supports multiple networking implementations, including systemd-networkd, NetworkManager, and IfState.
These tests aim to ensure that these implementations function correctly both independently and in combination, validating interoperability between them and with other software components.
Feel free to open issues to report bugs or suggest improvements. Pull requests of any scope are welcome. Please ensure that all submitted changes are correct, reproducible, and successfully pass the existing test suite. Verify that your modified or new tests execute successfully, are reliable (non-flaky), and follow the patterns used in the existing test suite.
To maintain clarity and consistency in network-related tests, always use documentation-reserved domain names, ASNs, and IP address ranges. These reserved values ensure tests are clearly identifiable as examples and avoid any ambiguity when interpreting test results.
| Category | Values | Reference |
|---|---|---|
| Documentation ASN | 64496..64511, 65536..65551 | RFC 5398 |
| Documentation domain names | example.com, example.net, example.org | RFC 2606 |
| IPv4 documentation prefix | 192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24 | RFC 5737 |
| IPv6 documentation prefix | 2001:db8::/32 | RFC 3849 |
| IPv6 documentation prefix | 3fff::/20 | RFC 9637 |
Ensure that all Nix code is formatted and linted using NixOS RFC 0166
by running nixfmt-rfc-style and deadnix before submitting a pull request.