anchor.diff:        (isYes "SERIAL_8250")
       ];
     };
  +
  +  mkLog = logfile: tag: let
  +    rotated = map (i: "${logfile}.${toString i}") (range 1 9);
  +    all = concatMapStringsSep " " (f: "\"${f}\"") ([logfile] ++ rotated);
  +    logcmd = "tail -F ${all} 2> /dev/null | logger -t \"${tag}\"";
  +  in "$machine->execute(ru '${logcmd} & disown');";
   
     testVM = vmName: vmScript: let
       cfg = (import ../lib/eval-config.nix {
  
positive.code:         vbm("storageattach ${name} ${diskFlags}");
          vbm("sharedfolder add ${name} ${sharedFlags}");
          vbm("sharedfolder add ${name} ${nixstoreFlags}");
          vbm("showvminfo ${name} >&2");
          cleanup_${name};
        }
  
        sub destroyVM_${name} {
  
negative.code:           description = "VirtualBox Test Machine Log";
            serviceConfig.StandardInput = "socket";
            serviceConfig.StandardOutput = "syslog";
            serviceConfig.SyslogIdentifier = "GUEST-${name}";
            serviceConfig.ExecStart = "${pkgs.coreutils}/bin/cat";
          };
        });
  