diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2012-07-20 12:03:15 -0400 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2012-07-20 12:03:15 -0400 |
commit | 1cde1bdbe68a989cf8776fb81b3f6ad311a93bd6 (patch) | |
tree | 17e8b91adb3542f4f21de9318e91e6e17600954b /lib/test-driver/Machine.pm | |
parent | 1375e7951d73280e08bda26bef0ad9c85d059fe2 (diff) | |
download | nixpkgs-1cde1bdbe68a989cf8776fb81b3f6ad311a93bd6.tar nixpkgs-1cde1bdbe68a989cf8776fb81b3f6ad311a93bd6.tar.gz nixpkgs-1cde1bdbe68a989cf8776fb81b3f6ad311a93bd6.tar.bz2 nixpkgs-1cde1bdbe68a989cf8776fb81b3f6ad311a93bd6.tar.lz nixpkgs-1cde1bdbe68a989cf8776fb81b3f6ad311a93bd6.tar.xz nixpkgs-1cde1bdbe68a989cf8776fb81b3f6ad311a93bd6.tar.zst nixpkgs-1cde1bdbe68a989cf8776fb81b3f6ad311a93bd6.zip |
nixos-run-vms: If there is only one VM, attach stdio to its serial console
This is useful for interactive testing (quicker than logging in via SSH and more convenient than logging in via a virtual console).
Diffstat (limited to 'lib/test-driver/Machine.pm')
-rw-r--r-- | lib/test-driver/Machine.pm | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/test-driver/Machine.pm b/lib/test-driver/Machine.pm index dee1e4f33cb..f0d5fbc19ea 100644 --- a/lib/test-driver/Machine.pm +++ b/lib/test-driver/Machine.pm @@ -50,6 +50,7 @@ sub new { stateDir => "$tmpDir/vm-state-$name", monitor => undef, log => $args->{log}, + redirectSerial => $args->{redirectSerial} // 1, }; mkdir $self->{stateDir}, 0700; @@ -117,10 +118,12 @@ sub start { close $serialP; close $monitorS; close $shellS; - open NUL, "</dev/null" or die; - dup2(fileno(NUL), fileno(STDIN)); - dup2(fileno($serialC), fileno(STDOUT)); - dup2(fileno($serialC), fileno(STDERR)); + if ($self->{redirectSerial}) { + open NUL, "</dev/null" or die; + dup2(fileno(NUL), fileno(STDIN)); + dup2(fileno($serialC), fileno(STDOUT)); + dup2(fileno($serialC), fileno(STDERR)); + } $ENV{TMPDIR} = $self->{stateDir}; $ENV{USE_TMPDIR} = 1; $ENV{QEMU_OPTS} = |