diff options
Diffstat (limited to 'image_tests/install_iso/010_check_autorun.t')
-rw-r--r-- | image_tests/install_iso/010_check_autorun.t | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/image_tests/install_iso/010_check_autorun.t b/image_tests/install_iso/010_check_autorun.t new file mode 100644 index 0000000..0b23faa --- /dev/null +++ b/image_tests/install_iso/010_check_autorun.t @@ -0,0 +1,83 @@ +# This file is part of the Mageia project +# Copyright (C) 2011 Damien Lallement <dams@mageia.org> +# (C) 2011 Romain D'Alverny <rda@mageia.org> +# +# 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. +# +# +# Check autorun +# +use Test::Most tests => 12; +use File::Basename; + +my ($image_path) = @ARGV; + +my $name = basename($image_path); + +bail_on_fail; + +set_failure_handler(sub { + print "umount iso\n"; + system 'umount /media/iso_check; rm -r /media/iso_check'; +}); + +# +ok(-r "/media/iso_check/autorun.inf", 'autorun.inf is there'); + +BAIL_OUT('Autorun stuff is missing anyway.') if !(-r "/media/iso_check/autorun.inf"); + +# TODO check media name in autorun.inf (for Windows) + +# +my $lines = `cat -e /media/iso_check/autorun.inf | wc -l`; +my $num = `cat -e /media/iso_check/autorun.inf | grep "\\^M" | wc -l`; +chomp($num); +chomp($lines); +my $last = `cat -e /media/iso_check/autorun.inf | tail -n 1 | grep "\\^M" | wc -l`; + +# TODO rewrite this +if ($lines != $num && $lines - 1 != $num + || $lines == 0 + || $lines - 1 == $num && $last == 1) { + fail('autorun.inf valid EOL chars'); +} else { + pass('autorun.inf valid EOL chars'); +} + +# +my $directory; +$directory = "/media/iso_check/autorun/" if -r "/media/iso_check/autorun"; +$directory = "/media/iso_check/dosutils/autorun/" if -r "/media/iso_check/dosutils/autorun"; +ok(-r $directory, 'dosutils directory is there'); + +# +my $exe = $directory . "autorun.exe"; +ok(-r $exe, 'autorun.exe is there'); + +BAIL_OUT('autorun.exe is not here.') if !(-r $exe); + +# +my $file = $directory . "autorun.ico"; +$file = $directory . "mageia.ico" if !(-r $file); +ok(-r $file, 'autorun.ico is there'); + +# +foreach my $a ("de-DE/", "es-ES/", "fr-FR/", "it-IT/", "pt-BR/", "ru-RU/", "zh-CN/") { + $file = $directory . $a . "autorun.resources.dll"; + ok(-r $file, "$file is there"); +} + +done_testing(); |