|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH RFC] osstest: add a cd-{insert/eject} test for Debian HVM
It could/should be expanded to other guest types, but at least it's a start.
It should also test that the guest can correctly access the disk contents.
The only supported toolstack for this test is xl.
Signed-off-by: Roger Pau Monnà <roger.pau@xxxxxxxxxx>
---
CC: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
---
Osstest/TestSupport.pm | 17 +++++++++++++++++
Osstest/Toolstack/xl.pm | 18 ++++++++++++++++++
sg-run-job | 1 +
ts-hvm-cd | 31 +++++++++++++++++++++++++++++++
4 files changed, 67 insertions(+)
create mode 100644 ts-hvm-cd
diff --git a/Osstest/TestSupport.pm b/Osstest/TestSupport.pm
index 2141905..4445a04 100644
--- a/Osstest/TestSupport.pm
+++ b/Osstest/TestSupport.pm
@@ -2508,6 +2508,23 @@ sub guest_editconfig_nocd ($$) {
});
}
+# Both the insert/eject functions hardcode 'hdc' as the virtual cdrom unit,
+# if more_prepareguest_hvm is changed to use a different unit this is doomed
+# to fail.
+sub guest_eject_cd ($) {
+ my ($gho) = @_;
+ my $ho = $gho->{Host};
+ die "xl is the only supported toolstack" if $tsname neq 'xl';
+ toolstack($ho)->cd_eject($gho);
+}
+
+sub guest_insert_cd ($) {
+ my ($gho) = @_;
+ my $ho = $gho->{Host};
+ die "xl is the only supported toolstack" if $tsname neq 'xl';
+ toolstack($ho)->cd_insert($gho);
+}
+
sub host_install_postboot_complete ($) {
my ($ho) = @_;
target_core_dump_setup($ho);
diff --git a/Osstest/Toolstack/xl.pm b/Osstest/Toolstack/xl.pm
index d956bcd..b25b19c 100644
--- a/Osstest/Toolstack/xl.pm
+++ b/Osstest/Toolstack/xl.pm
@@ -118,4 +118,22 @@ sub block_attach ($$$$) {
target_cmd_root($ho, $cmd, 100);
}
+sub cd_eject($$) {
+ my ($self,$gho) = @_;
+ my $ho = $self->{Host};
+ my $gn = $gho->{Name};
+ my $cmd = $self->{_VerboseCommand}." cd-eject $gn hdc";
+ target_cmd_root($ho, $cmd, 100);
+}
+
+sub cd_insert($$) {
+ my ($self,$gho) = @_;
+ my $ho = $self->{Host};
+ my $gn = $gho->{Name};
+ my $iso = $gho->{Rimage};
+ my $cmd = $self->{_VerboseCommand}." cd-insert $gn hdc $iso";
+ target_cmd_root($ho, $cmd, 100);
+}
+
+
1;
diff --git a/sg-run-job b/sg-run-job
index 3e0f966..43a141f 100755
--- a/sg-run-job
+++ b/sg-run-job
@@ -320,6 +320,7 @@ proc run-job/test-rhelhvm {} {
proc need-hosts/test-debianhvm {} { return host }
proc run-job/test-debianhvm {} {
run-ts . = ts-debian-hvm-install
+ run-ts . = ts-hvm-cd
test-guest debianhvm
}
diff --git a/ts-hvm-cd b/ts-hvm-cd
new file mode 100644
index 0000000..5776afd
--- /dev/null
+++ b/ts-hvm-cd
@@ -0,0 +1,31 @@
+#!/usr/bin/perl -w
+# This is part of "osstest", an automated testing framework for Xen.
+# Copyright (C) 2009-2016 Citrix Inc.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+use strict qw(vars);
+use DBI;
+use Osstest;
+use Osstest::TestSupport;
+
+tsreadconfig();
+
+our $gho;
+
+guest_eject_cd($gho)
+sleep(10)
+guest_insert_cd($gho)
+sleep(10)
+guest_eject_cd($gho)
--
2.5.4 (Apple Git-61)
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |