summary refs log tree commit diff
path: root/nixos/tests/virtualbox.nix
diff options
context:
space:
mode:
authoraszlig <aszlig@redmoonstudios.org>2014-12-15 19:17:38 +0100
committeraszlig <aszlig@redmoonstudios.org>2014-12-15 19:17:38 +0100
commit8bbf1dc80e92df4374fc97dbc03bfee07bf67ff1 (patch)
treec28554219e3f3783171227d651388b47ce340fe7 /nixos/tests/virtualbox.nix
parentd85fabd68cb0477f7bda4af8a528e27ed7914932 (diff)
downloadnixlib-8bbf1dc80e92df4374fc97dbc03bfee07bf67ff1.tar
nixlib-8bbf1dc80e92df4374fc97dbc03bfee07bf67ff1.tar.gz
nixlib-8bbf1dc80e92df4374fc97dbc03bfee07bf67ff1.tar.bz2
nixlib-8bbf1dc80e92df4374fc97dbc03bfee07bf67ff1.tar.lz
nixlib-8bbf1dc80e92df4374fc97dbc03bfee07bf67ff1.tar.xz
nixlib-8bbf1dc80e92df4374fc97dbc03bfee07bf67ff1.tar.zst
nixlib-8bbf1dc80e92df4374fc97dbc03bfee07bf67ff1.zip
nixos/tests/virtualbox: Improve logging.
This also makes showvminfo obsolete, as we get the same information from
the hosts log.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Diffstat (limited to 'nixos/tests/virtualbox.nix')
-rw-r--r--nixos/tests/virtualbox.nix13
1 files changed, 11 insertions, 2 deletions
diff --git a/nixos/tests/virtualbox.nix b/nixos/tests/virtualbox.nix
index 1c4765e15f1f..e4c3de146e93 100644
--- a/nixos/tests/virtualbox.nix
+++ b/nixos/tests/virtualbox.nix
@@ -60,6 +60,12 @@ import ./make-test.nix ({ pkgs, ... }: with pkgs.lib; let
     ];
   };
 
+  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 {
       system = "i686-linux";
@@ -166,7 +172,7 @@ import ./make-test.nix ({ pkgs, ... }: with pkgs.lib; let
           description = "VirtualBox Test Machine Log";
           serviceConfig.StandardInput = "socket";
           serviceConfig.StandardOutput = "syslog";
-          serviceConfig.SyslogIdentifier = "vbox-${name}";
+          serviceConfig.SyslogIdentifier = "GUEST-${name}";
           serviceConfig.ExecStart = "${pkgs.coreutils}/bin/cat";
         };
       });
@@ -195,8 +201,9 @@ import ./make-test.nix ({ pkgs, ... }: with pkgs.lib; let
         vbm("storageattach ${name} ${diskFlags}");
         vbm("sharedfolder add ${name} ${sharedFlags}");
         vbm("sharedfolder add ${name} ${nixstoreFlags}");
-        vbm("showvminfo ${name} >&2");
         cleanup_${name};
+
+        ${mkLog "$HOME/VirtualBox VMs/${name}/Logs/VBox.log" "HOST-${name}"}
       }
 
       sub destroyVM_${name} {
@@ -314,6 +321,8 @@ in {
 
     $machine->waitForX;
 
+    ${mkLog "$HOME/.config/VirtualBox/VBoxSVC.log" "HOST-SVC"}
+
     createVM_simple;
 
     subtest "simple-gui", sub {