this derivation will be built: /nix/store/b8qnxb3lqmhf8yfk9d4wm3n2c65863si-zerotier-tools-pytest.drv warning: ignoring the client-specified setting 'store', because it is a restricted setting and you are not a trusted user building '/nix/store/b8qnxb3lqmhf8yfk9d4wm3n2c65863si-zerotier-tools-pytest.drv' on nix-store.geninf.io:50051 zerotier-tools-pytest> gi-build-x86-01: building b8qnxb3lqmhf8yfk9d4wm3n2c65863si-zerotier-tools-pytest.drv zerotier-tools-pytest> Running pytest... zerotier-tools-pytest> ============================= test session starts ============================== zerotier-tools-pytest> platform linux -- Python 3.13.15, pytest-9.0.3, pluggy-1.6.0 -- /nix/store/ksp3kkf3kaykw2avx70f3kqc9vk0jvlj-python3-3.13.15-env/bin/python zerotier-tools-pytest> cachedir: .pytest_cache zerotier-tools-pytest> rootdir: /build/src zerotier-tools-pytest> configfile: pyproject.toml zerotier-tools-pytest> collected 24 items zerotier-tools-pytest> zerotier-tools-pytest> tests/test_generate.py::TestIdentity::test_from_secret_file_parses_node_id PASSED [ 4%] zerotier-tools-pytest> tests/test_generate.py::TestIdentity::test_from_secret_file_preserves_private PASSED [ 8%] zerotier-tools-pytest> tests/test_generate.py::TestIdentity::test_from_secret_file_agrees_with_directory_constructor PASSED [ 12%] zerotier-tools-pytest> tests/test_generate.py::TestComputeZerotierIp::test_golden_values PASSED [ 16%] zerotier-tools-pytest> tests/test_generate.py::TestComputeZerotierIp::test_different_networks_yield_different_ips PASSED [ 20%] zerotier-tools-pytest> tests/test_generate.py::TestComputeZerotierIp::test_embeds_network_and_node PASSED [ 25%] zerotier-tools-pytest> tests/test_generate.py::TestComputeZerotierIp::test_rejects_short_network_id PASSED [ 29%] zerotier-tools-pytest> tests/test_generate.py::TestComputeZerotierIp::test_rejects_long_network_id PASSED [ 33%] zerotier-tools-pytest> tests/test_generate.py::TestCreateNetworkId::test_format PASSED [ 37%] zerotier-tools-pytest> tests/test_generate.py::TestCreateNetworkId::test_unique PASSED [ 41%] zerotier-tools-pytest> tests/test_generate.py::TestCreateNetworkId::test_rejects_zero_suffix PASSED [ 45%] zerotier-tools-pytest> tests/test_generate.py::TestCliNetworkMode::test_generates_identity_network_and_ip PASSED [ 50%] zerotier-tools-pytest> tests/test_generate.py::TestCliIdentityMode::test_generates_identity_and_derives_ip PASSED [ 54%] zerotier-tools-pytest> tests/test_generate.py::TestCliIdentityMode::test_fails_without_network_id_file PASSED [ 58%] zerotier-tools-pytest> tests/test_generate.py::TestCliComputeIpMode::test_writes_correct_output PASSED [ 62%] zerotier-tools-pytest> tests/test_generate.py::TestCliComputeIpMode::test_does_not_overwrite_identity PASSED [ 66%] zerotier-tools-pytest> tests/test_generate.py::TestCliComputeIpMode::test_fails_without_network_id_file PASSED [ 70%] zerotier-tools-pytest> tests/test_generate.py::TestCliIdentityOnlyMode::test_generates_identity_without_ip PASSED [ 75%] zerotier-tools-pytest> tests/test_generate.py::TestCliIdentityOnlyMode::test_does_not_require_ip PASSED [ 79%] zerotier-tools-pytest> tests/test_generate.py::TestCliIdentityOnlyMode::test_fails_without_identity_secret PASSED [ 83%] zerotier-tools-pytest> tests/test_generate.py::TestCliNetworkIdMode::test_derives_network_id_from_identity PASSED [ 87%] zerotier-tools-pytest> tests/test_generate.py::TestCliNetworkIdMode::test_does_not_require_ip PASSED [ 91%] zerotier-tools-pytest> tests/test_generate.py::TestCliNetworkIdMode::test_fails_without_identity_secret_file PASSED [ 95%] zerotier-tools-pytest> tests/test_generate.py::TestCliNetworkIdMode::test_fails_without_network_id PASSED [100%] zerotier-tools-pytest> zerotier-tools-pytest> ============================== 24 passed in 1.51s ==============================