diff options
author | Eelco Dolstra <edolstra@gmail.com> | 2018-02-22 17:28:51 +0100 |
---|---|---|
committer | Eelco Dolstra <edolstra@gmail.com> | 2018-02-22 17:28:51 +0100 |
commit | d12c9911dfcb336243c9d13b8bc7042be3f3d4b2 (patch) | |
tree | b689c775feef38ad8c315999e0a761dfa694eb1e /nixos/lib | |
parent | fab12188b855d9ac1f64f486ee38f1cf7d53c8f4 (diff) | |
parent | 186c76539855a8d1a3e76af0ff95b5de50aa48f8 (diff) | |
download | nixlib-d12c9911dfcb336243c9d13b8bc7042be3f3d4b2.tar nixlib-d12c9911dfcb336243c9d13b8bc7042be3f3d4b2.tar.gz nixlib-d12c9911dfcb336243c9d13b8bc7042be3f3d4b2.tar.bz2 nixlib-d12c9911dfcb336243c9d13b8bc7042be3f3d4b2.tar.lz nixlib-d12c9911dfcb336243c9d13b8bc7042be3f3d4b2.tar.xz nixlib-d12c9911dfcb336243c9d13b8bc7042be3f3d4b2.tar.zst nixlib-d12c9911dfcb336243c9d13b8bc7042be3f3d4b2.zip |
Merge remote-tracking branch 'origin/master' into nix-2.0
Diffstat (limited to 'nixos/lib')
-rw-r--r-- | nixos/lib/build-vms.nix | 4 | ||||
-rw-r--r-- | nixos/lib/make-disk-image.nix | 4 | ||||
-rw-r--r-- | nixos/lib/testing.nix | 16 |
3 files changed, 18 insertions, 6 deletions
diff --git a/nixos/lib/build-vms.nix b/nixos/lib/build-vms.nix index 4685fe6914a2..e14105f5f011 100644 --- a/nixos/lib/build-vms.nix +++ b/nixos/lib/build-vms.nix @@ -51,7 +51,7 @@ rec { let interfacesNumbered = zipLists config.virtualisation.vlans (range 1 255); interfaces = flip map interfacesNumbered ({ fst, snd }: - nameValuePair "eth${toString snd}" { ip4 = + nameValuePair "eth${toString snd}" { ipv4.addresses = [ { address = "192.168.${toString fst}.${toString m.snd}"; prefixLength = 24; } ]; @@ -64,7 +64,7 @@ rec { networking.interfaces = listToAttrs interfaces; networking.primaryIPAddress = - optionalString (interfaces != []) (head (head interfaces).value.ip4).address; + optionalString (interfaces != []) (head (head interfaces).value.ipv4.addresses).address; # Put the IP addresses of all VMs in this machine's # /etc/hosts file. If a machine has multiple diff --git a/nixos/lib/make-disk-image.nix b/nixos/lib/make-disk-image.nix index 6269e4279380..4da863469032 100644 --- a/nixos/lib/make-disk-image.nix +++ b/nixos/lib/make-disk-image.nix @@ -85,7 +85,7 @@ let format' = format; in let nixpkgs = cleanSource pkgs.path; # FIXME: merge with channel.nix / make-channel.nix. - channelSources = pkgs.runCommand "nixos-${config.system.nixosVersion}" {} '' + channelSources = pkgs.runCommand "nixos-${config.system.nixos.version}" {} '' mkdir -p $out cp -prd ${nixpkgs} $out/nixos chmod -R u+w $out/nixos @@ -93,7 +93,7 @@ let format' = format; in let ln -s . $out/nixos/nixpkgs fi rm -rf $out/nixos/.git - echo -n ${config.system.nixosVersionSuffix} > $out/nixos/.version-suffix + echo -n ${config.system.nixos.versionSuffix} > $out/nixos/.version-suffix ''; binPath = with pkgs; makeBinPath ( diff --git a/nixos/lib/testing.nix b/nixos/lib/testing.nix index cf213d906f58..efcafbaa5554 100644 --- a/nixos/lib/testing.nix +++ b/nixos/lib/testing.nix @@ -29,7 +29,7 @@ rec { cp ${./test-driver/Logger.pm} $libDir/Logger.pm wrapProgram $out/bin/nixos-test-driver \ - --prefix PATH : "${lib.makeBinPath [ qemu vde2 netpbm coreutils ]}" \ + --prefix PATH : "${lib.makeBinPath [ qemu_test vde2 netpbm coreutils ]}" \ --prefix PERL5LIB : "${with perlPackages; lib.makePerlPath [ TermReadLineGnu XMLWriter IOTty FileSlurp ]}:$out/lib/perl5/site_perl" ''; }; @@ -78,7 +78,19 @@ rec { } @ t: let - testDriverName = "nixos-test-driver-${name}"; + # A standard store path to the vm monitor is built like this: + # /tmp/nix-build-vm-test-run-$name.drv-0/vm-state-machine/monitor + # The max filename length of a unix domain socket is 108 bytes. + # This means $name can at most be 50 bytes long. + maxTestNameLen = 50; + testNameLen = builtins.stringLength name; + + testDriverName = with builtins; + if testNameLen > maxTestNameLen then + abort ("The name of the test '${name}' must not be longer than ${toString maxTestNameLen} " + + "it's currently ${toString testNameLen} characters long.") + else + "nixos-test-driver-${name}"; nodes = buildVirtualNetwork ( t.nodes or (if t ? machine then { machine = t.machine; } else { })); |