# This file is part of the Mageia project # Copyright (C) 2011 Damien Lallement # (C) 2011 Romain d'Alverny # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public License # along with this library; see the file COPYING.LIB. If not, write to # the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, # Boston, MA 02110-1301, USA. # #!/usr/bin/perl -w use 5.010; use MDK::Common; use TAP::Harness; use Tools; my ($image_path) = @ARGV; if (!defined $image_path) { print "Usage: ./test_iso.pl [ISO file]\nTry `./test_iso.pl --help' for more information.\n"; exit; } my $harness = TAP::Harness->new({ formatter_class => 'TAP::Formatter::Console', merge => 1, verbosity => 1, normalize => 1, color => 1, test_args => [ $image_path, "Testing" ] }); print "# Date: ", `date --rfc-3339='ns' -u`; print "# Testing: $image_path\n"; print "# Host: ", `uname -n`; $harness->runtests(<./t/*.t>); # Mounting the ISO print "# Mounting ISO in /media/iso_check"; -r "/media/iso_check" or system 'mkdir /media/iso_check'; system "mount -r " . if_(!-b $image_path, "-o loop ") . "$image_path /media/iso_check/"; print "... ok\n"; my $name = basename($image_path); my %info = Tools::parse_mageia_iso_name($name); # FIXME the difference is actually regular versus LiveCD if ($info{"medium"} eq "DVD") { $harness->runtests(<./t_install_iso/*.t>); } elsif ($info{"medium"} eq "CD") { # LiveCD specific # CD specific } # Umounting the ISO print "# Umounting ISO\n"; # FIXME this fails sometimes; no idea why. Force umount? system 'umount /media/iso_check'; system 'rm -r /media/iso_check'; print "... ok\n"; print "# Date: ", `date --rfc-3339='ns' -u`; print "# Test is over.\n";