lol

nixos/tests/babeld: migrate to runTest

Part of #386873

+179 -178
+1 -1
nixos/tests/all-tests.nix
··· 190 190 avahi = handleTest ./avahi.nix {}; 191 191 avahi-with-resolved = handleTest ./avahi.nix { networkd = true; }; 192 192 ayatana-indicators = runTest ./ayatana-indicators.nix; 193 - babeld = handleTest ./babeld.nix {}; 193 + babeld = runTest ./babeld.nix; 194 194 bazarr = handleTest ./bazarr.nix {}; 195 195 bcachefs = handleTestOn ["x86_64-linux" "aarch64-linux"] ./bcachefs.nix {}; 196 196 beanstalkd = handleTest ./beanstalkd.nix {};
+178 -177
nixos/tests/babeld.nix
··· 1 - import ./make-test-python.nix ( 2 - { pkgs, lib, ... }: 3 - { 4 - name = "babeld"; 5 - meta = with pkgs.lib.maintainers; { 6 - maintainers = [ hexa ]; 7 - }; 1 + { 2 + pkgs, 3 + ... 4 + }: 5 + { 6 + name = "babeld"; 7 + meta = with pkgs.lib.maintainers; { 8 + maintainers = [ hexa ]; 9 + }; 8 10 9 - nodes = { 10 - client = 11 - { pkgs, lib, ... }: 12 - { 13 - virtualisation.vlans = [ 10 ]; 11 + nodes = { 12 + client = 13 + { lib, ... }: 14 + { 15 + virtualisation.vlans = [ 10 ]; 14 16 15 - networking = { 16 - useDHCP = false; 17 - interfaces."eth1" = { 18 - ipv4.addresses = lib.mkForce [ 19 - { 20 - address = "192.168.10.2"; 21 - prefixLength = 24; 22 - } 23 - ]; 24 - ipv4.routes = lib.mkForce [ 25 - { 26 - address = "0.0.0.0"; 27 - prefixLength = 0; 28 - via = "192.168.10.1"; 29 - } 30 - ]; 31 - ipv6.addresses = lib.mkForce [ 32 - { 33 - address = "2001:db8:10::2"; 34 - prefixLength = 64; 35 - } 36 - ]; 37 - ipv6.routes = lib.mkForce [ 38 - { 39 - address = "::"; 40 - prefixLength = 0; 41 - via = "2001:db8:10::1"; 42 - } 43 - ]; 44 - }; 17 + networking = { 18 + useDHCP = false; 19 + interfaces."eth1" = { 20 + ipv4.addresses = lib.mkForce [ 21 + { 22 + address = "192.168.10.2"; 23 + prefixLength = 24; 24 + } 25 + ]; 26 + ipv4.routes = lib.mkForce [ 27 + { 28 + address = "0.0.0.0"; 29 + prefixLength = 0; 30 + via = "192.168.10.1"; 31 + } 32 + ]; 33 + ipv6.addresses = lib.mkForce [ 34 + { 35 + address = "2001:db8:10::2"; 36 + prefixLength = 64; 37 + } 38 + ]; 39 + ipv6.routes = lib.mkForce [ 40 + { 41 + address = "::"; 42 + prefixLength = 0; 43 + via = "2001:db8:10::1"; 44 + } 45 + ]; 45 46 }; 46 47 }; 48 + }; 47 49 48 - local_router = 49 - { pkgs, lib, ... }: 50 - { 51 - virtualisation.vlans = [ 52 - 10 53 - 20 54 - ]; 50 + local_router = 51 + { lib, ... }: 52 + { 53 + virtualisation.vlans = [ 54 + 10 55 + 20 56 + ]; 55 57 56 - networking = { 57 - useDHCP = false; 58 - firewall.enable = false; 58 + networking = { 59 + useDHCP = false; 60 + firewall.enable = false; 59 61 60 - interfaces."eth1" = { 61 - ipv4.addresses = lib.mkForce [ 62 - { 63 - address = "192.168.10.1"; 64 - prefixLength = 24; 65 - } 66 - ]; 67 - ipv6.addresses = lib.mkForce [ 68 - { 69 - address = "2001:db8:10::1"; 70 - prefixLength = 64; 71 - } 72 - ]; 73 - }; 62 + interfaces."eth1" = { 63 + ipv4.addresses = lib.mkForce [ 64 + { 65 + address = "192.168.10.1"; 66 + prefixLength = 24; 67 + } 68 + ]; 69 + ipv6.addresses = lib.mkForce [ 70 + { 71 + address = "2001:db8:10::1"; 72 + prefixLength = 64; 73 + } 74 + ]; 75 + }; 74 76 75 - interfaces."eth2" = { 76 - ipv4.addresses = lib.mkForce [ 77 - { 78 - address = "192.168.20.1"; 79 - prefixLength = 24; 80 - } 81 - ]; 82 - ipv6.addresses = lib.mkForce [ 83 - { 84 - address = "2001:db8:20::1"; 85 - prefixLength = 64; 86 - } 87 - ]; 88 - }; 77 + interfaces."eth2" = { 78 + ipv4.addresses = lib.mkForce [ 79 + { 80 + address = "192.168.20.1"; 81 + prefixLength = 24; 82 + } 83 + ]; 84 + ipv6.addresses = lib.mkForce [ 85 + { 86 + address = "2001:db8:20::1"; 87 + prefixLength = 64; 88 + } 89 + ]; 89 90 }; 91 + }; 90 92 91 - services.babeld = { 92 - enable = true; 93 - interfaces.eth2 = { 94 - hello-interval = 1; 95 - type = "wired"; 96 - }; 97 - extraConfig = '' 98 - local-port-readwrite 33123 93 + services.babeld = { 94 + enable = true; 95 + interfaces.eth2 = { 96 + hello-interval = 1; 97 + type = "wired"; 98 + }; 99 + extraConfig = '' 100 + local-port-readwrite 33123 99 101 100 - import-table 254 # main 101 - export-table 254 # main 102 + import-table 254 # main 103 + export-table 254 # main 102 104 103 - in ip 192.168.10.0/24 deny 104 - in ip 192.168.20.0/24 deny 105 - in ip 2001:db8:10::/64 deny 106 - in ip 2001:db8:20::/64 deny 105 + in ip 192.168.10.0/24 deny 106 + in ip 192.168.20.0/24 deny 107 + in ip 2001:db8:10::/64 deny 108 + in ip 2001:db8:20::/64 deny 107 109 108 - in ip 192.168.30.0/24 allow 109 - in ip 2001:db8:30::/64 allow 110 + in ip 192.168.30.0/24 allow 111 + in ip 2001:db8:30::/64 allow 110 112 111 - in deny 113 + in deny 112 114 113 - redistribute local proto 2 114 - redistribute local deny 115 - ''; 116 - }; 115 + redistribute local proto 2 116 + redistribute local deny 117 + ''; 117 118 }; 118 - remote_router = 119 - { pkgs, lib, ... }: 120 - { 121 - virtualisation.vlans = [ 122 - 20 123 - 30 124 - ]; 119 + }; 120 + remote_router = 121 + { lib, ... }: 122 + { 123 + virtualisation.vlans = [ 124 + 20 125 + 30 126 + ]; 125 127 126 - networking = { 127 - useDHCP = false; 128 - firewall.enable = false; 128 + networking = { 129 + useDHCP = false; 130 + firewall.enable = false; 129 131 130 - interfaces."eth1" = { 131 - ipv4.addresses = lib.mkForce [ 132 - { 133 - address = "192.168.20.2"; 134 - prefixLength = 24; 135 - } 136 - ]; 137 - ipv6.addresses = lib.mkForce [ 138 - { 139 - address = "2001:db8:20::2"; 140 - prefixLength = 64; 141 - } 142 - ]; 143 - }; 132 + interfaces."eth1" = { 133 + ipv4.addresses = lib.mkForce [ 134 + { 135 + address = "192.168.20.2"; 136 + prefixLength = 24; 137 + } 138 + ]; 139 + ipv6.addresses = lib.mkForce [ 140 + { 141 + address = "2001:db8:20::2"; 142 + prefixLength = 64; 143 + } 144 + ]; 145 + }; 144 146 145 - interfaces."eth2" = { 146 - ipv4.addresses = lib.mkForce [ 147 - { 148 - address = "192.168.30.1"; 149 - prefixLength = 24; 150 - } 151 - ]; 152 - ipv6.addresses = lib.mkForce [ 153 - { 154 - address = "2001:db8:30::1"; 155 - prefixLength = 64; 156 - } 157 - ]; 158 - }; 147 + interfaces."eth2" = { 148 + ipv4.addresses = lib.mkForce [ 149 + { 150 + address = "192.168.30.1"; 151 + prefixLength = 24; 152 + } 153 + ]; 154 + ipv6.addresses = lib.mkForce [ 155 + { 156 + address = "2001:db8:30::1"; 157 + prefixLength = 64; 158 + } 159 + ]; 159 160 }; 160 - 161 - services.babeld = { 162 - enable = true; 163 - interfaces.eth1 = { 164 - hello-interval = 1; 165 - type = "wired"; 166 - }; 167 - extraConfig = '' 168 - local-port-readwrite 33123 161 + }; 169 162 170 - import-table 254 # main 171 - export-table 254 # main 163 + services.babeld = { 164 + enable = true; 165 + interfaces.eth1 = { 166 + hello-interval = 1; 167 + type = "wired"; 168 + }; 169 + extraConfig = '' 170 + local-port-readwrite 33123 172 171 173 - in ip 192.168.20.0/24 deny 174 - in ip 192.168.30.0/24 deny 175 - in ip 2001:db8:20::/64 deny 176 - in ip 2001:db8:30::/64 deny 172 + import-table 254 # main 173 + export-table 254 # main 177 174 178 - in ip 192.168.10.0/24 allow 179 - in ip 2001:db8:10::/64 allow 175 + in ip 192.168.20.0/24 deny 176 + in ip 192.168.30.0/24 deny 177 + in ip 2001:db8:20::/64 deny 178 + in ip 2001:db8:30::/64 deny 180 179 181 - in deny 180 + in ip 192.168.10.0/24 allow 181 + in ip 2001:db8:10::/64 allow 182 182 183 - redistribute local proto 2 184 - redistribute local deny 185 - ''; 186 - }; 183 + in deny 187 184 185 + redistribute local proto 2 186 + redistribute local deny 187 + ''; 188 188 }; 189 - }; 190 189 191 - testScript = '' 192 - start_all() 190 + }; 191 + }; 193 192 194 - local_router.wait_for_unit("babeld.service") 195 - remote_router.wait_for_unit("babeld.service") 193 + testScript = '' 194 + start_all() 196 195 197 - local_router.wait_until_succeeds("ip route get 192.168.30.1") 198 - local_router.wait_until_succeeds("ip route get 2001:db8:30::1") 196 + local_router.wait_for_unit("babeld.service") 197 + remote_router.wait_for_unit("babeld.service") 199 198 200 - remote_router.wait_until_succeeds("ip route get 192.168.10.1") 201 - remote_router.wait_until_succeeds("ip route get 2001:db8:10::1") 199 + local_router.wait_until_succeeds("ip route get 192.168.30.1") 200 + local_router.wait_until_succeeds("ip route get 2001:db8:30::1") 202 201 203 - client.succeed("ping -c1 192.168.30.1") 204 - client.succeed("ping -c1 2001:db8:30::1") 202 + remote_router.wait_until_succeeds("ip route get 192.168.10.1") 203 + remote_router.wait_until_succeeds("ip route get 2001:db8:10::1") 205 204 206 - remote_router.succeed("ping -c1 192.168.10.2") 207 - remote_router.succeed("ping -c1 2001:db8:10::2") 208 - ''; 209 - } 210 - ) 205 + client.succeed("ping -c1 192.168.30.1") 206 + client.succeed("ping -c1 2001:db8:30::1") 207 + 208 + remote_router.succeed("ping -c1 192.168.10.2") 209 + remote_router.succeed("ping -c1 2001:db8:10::2") 210 + ''; 211 + }