aboutsummaryrefslogtreecommitdiffstats
path: root/image_tests/install_iso/010_check_autorun.t
diff options
context:
space:
mode:
Diffstat (limited to 'image_tests/install_iso/010_check_autorun.t')
-rw-r--r--image_tests/install_iso/010_check_autorun.t83
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();