Something went wrong. Try again.
What happens if I push all of nixpkgs
Something went wrong. Try again.
Nix
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869{ lib, ... }:let ip4 = "192.0.2.1"; ip6 = "2001:db8::1";
precedence = { "::1/128" = 50; "::/0" = 40; "2002::/16" = 30; "::/96" = 20; "::ffff:0:0/96" = 100; };in{ name = "getaddrinfo"; meta.maintainers = with lib.maintainers; [ moraxyc ];
nodes.server = _: { networking.firewall.enable = false; networking.useDHCP = false;
services.dnsmasq = { enable = true; settings = { address = [ "/nixos.test/${ip4}" "/nixos.test/${ip6}" ]; }; }; };
nodes.client = { pkgs, nodes, ... }: { networking.nameservers = [ (lib.head nodes.server.networking.interfaces.eth1.ipv4.addresses).address ]; networking.getaddrinfo = { reload = true; inherit precedence; }; networking.useDHCP = false; environment.systemPackages = [ (pkgs.writers.writePython3Bin "request-addr" { } '' import socket
results = socket.getaddrinfo("nixos.test", None) print(results[0][4][0]) '') ]; };
testScript = { ... }: '' server.wait_for_unit("dnsmasq.service") client.wait_for_unit("network.target")
assert "${ip4}" in client.succeed("request-addr")
client.succeed(""" sed 's/100/10/' /etc/gai.conf > /etc/gai.conf.new && \ mv /etc/gai.conf.new /etc/gai.conf """) assert "${ip6}" in client.succeed("request-addr") '';}