diff options
author | Romain d'Alverny <rda@mageia.org> | 2012-02-17 17:54:36 +0000 |
---|---|---|
committer | Romain d'Alverny <rda@mageia.org> | 2012-02-17 17:54:36 +0000 |
commit | 7a5cac718aa056abe96eafe8e910ec256dd3793d (patch) | |
tree | 3be419acbcd840864d045826ae6e33904e0785bc /t/001_check_file.t | |
parent | 10afa7f61593c6ee82f7256c5dfa29104ba19e52 (diff) | |
download | isocheck-7a5cac718aa056abe96eafe8e910ec256dd3793d.tar isocheck-7a5cac718aa056abe96eafe8e910ec256dd3793d.tar.gz isocheck-7a5cac718aa056abe96eafe8e910ec256dd3793d.tar.bz2 isocheck-7a5cac718aa056abe96eafe8e910ec256dd3793d.tar.xz isocheck-7a5cac718aa056abe96eafe8e910ec256dd3793d.zip |
Move all image-related tests in a separate place.
Diffstat (limited to 't/001_check_file.t')
-rw-r--r-- | t/001_check_file.t | 118 |
1 files changed, 0 insertions, 118 deletions
diff --git a/t/001_check_file.t b/t/001_check_file.t deleted file mode 100644 index edbf7ba..0000000 --- a/t/001_check_file.t +++ /dev/null @@ -1,118 +0,0 @@ -# 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. -# - - -use Test::Most; -use File::Basename; -use Tools; - -my ($image_path) = @ARGV; - -my $name = basename($image_path); -my %info; - -bail_on_fail; - -%info = Tools::parse_mageia_iso_name($name); -if (scalar %info) { - pass 'ISO has valid filename.'; - while (my ($k, $v) = each %info) { - note uc($k), "=$v\n" if defined $v; - } -} else { - fail 'ISO has valid filename.'; - diag 'See https://wiki.mageia.org/en/Product_naming for more information.'; -} - -# is file size correct? -my $du = `du --apparent-size --block-size=MB $image_path`; -my @size_name = split(/\t/, $du); -my $size = $size_name[0]; - -# Correct sizes: CD == 700MB & DVD == 4,700.373MB -my %max_sizes = ("CD" => "700MB", "DVD" => "4700MB"); -ok($size le $max_sizes{$info{medium}}, - sprintf("File has a working size (%s) for its medium type (%s, max %s).", - $size, $info{medium}, $max_sizes{$info{medium}})); - -TODO: { - local $TODO = ".idx & .lst" if 1; - - ok(-r $image_path, '.idx list file is available.'); - ok(-r $image_path, '.lst list file is available.'); -} - - -# verify checksums -my $md5file = $image_path . '.md5'; -my $sha1file = $image_path . '.sha1'; - -my @ts = split(/ /, `md5sum $image_path`); -my $md5 = $ts[0]; -@ts = split(/ /, `cat $md5file`); -$md5file = $ts[0]; -is($md5, $md5file, 'MD5/.md5 checksums match.'); - -@ts = split(/ /, `sha1sum $image_path`); -my $sha1 = $ts[0]; -@ts = split(/ /, `cat $sha1file`); -$sha1file = $ts[0]; -is($sha1, $sha1file, 'SHA1/.sha1 checksums match.'); - - -# check ISO header info -# Check (see http://wiki.mandriva.com/en/Product_id) -my $isoinfo = `isoinfo -d -i $image_path`; -my %isoValues = ( - "System id", "LINUX", - "Volume id", "$info{name} $info{version} $info{release}", # TODO not defined for sure yet - "Volume set id", "$info{name} $info{version} $info{release} $info{variant} $info{arch} $info{medium}", # TODO $info{'build'} ? - "Publisher id", "Mageia.Org", - "Data preparer id", "", # ? - "Copyright File id", "http://www.mageia.org/2/license/", - "Abstract File id", "http://www.mageia.org/2/" -); - -my $testval; -while (my ($k, $v) = each(%isoValues)) { - $testval = `printf "%s\n" "$isoinfo" | grep -i "$k:" |tr -d '\n'`; - - # not testing right now, all expected values are not sure yet. - # is $testval, "$k: $v", "$k is correct. Found $testval."; - note "Found: $testval - expecting: $k: $v"; -} - - -# bootable? -ok(`isoinfo -d -i $image_path | grep bootable`, 'ISO is bootable.'); - -# TODO check burnable? -my $burner = "/dev/sr0"; - -# FIXME is -eject really needed? -my $_burning = `cdrecord -dummy speed=42 dev=$burner -v -eject -data $image_path 2> is_burnable.log`; -my $result = `cat is_burnable.log | grep overburn | wc -l | tr -d '\n'`; - --r "is_burnable.log" and system "rm is_burnable.log"; - -is($result, 0, "ISO can be burnt."); - - -done_testing(); |