From 7a5cac718aa056abe96eafe8e910ec256dd3793d Mon Sep 17 00:00:00 2001 From: Romain d'Alverny Date: Fri, 17 Feb 2012 17:54:36 +0000 Subject: Move all image-related tests in a separate place. --- image_tests/000_test_env.t | 62 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 image_tests/000_test_env.t (limited to 'image_tests/000_test_env.t') diff --git a/image_tests/000_test_env.t b/image_tests/000_test_env.t new file mode 100644 index 0000000..eea336c --- /dev/null +++ b/image_tests/000_test_env.t @@ -0,0 +1,62 @@ +# 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. +# +# +# These tests check that the testing environment is complete. +# + +use Test::Most; + +bail_on_fail; + +my ($image_path) = @ARGV; + +# FIXME root is needed for mount/umount of the ISO. Find another way. +is($ENV{USERNAME}, 'root', "Current user is root. FIXME."); + +# TODO remove this once packaged +sub pkg_check { my ($pkg) = @_; return system("rpm -q $pkg >/dev/null") } + +my @packages = qw(cdrkit cdrkit-isotools gnupg); + +foreach my $p (@packages) { + is(pkg_check($p), 0, sprintf("%s is installed.", $p)); +} + +# check if all necessary files are available - FIXME not to use if not final release +ok -r $image_path . '.md5', 'MD5 checksum is available.'; +ok -r $image_path . '.sha1', 'SHA1 checkum is available.'; +ok -r $image_path . '.md5.gpg', 'MD5.gpg is available.'; +ok -r $image_path . '.sha1.gpg', 'SHA1.gpg is available.'; +ok -r $image_path . '.idx', 'IDX is available.'; +# TODO check if LiveCD or not, so .idx or .lst +#ok -r $image_path . '.lst', 'LST is available.'; + +# is ISO mount point readable? +ok -r $image_path, 'ISO mount point is readable.' + or diag("$image_path: $!"); + +# is network available? +# will be needed in a near future. +my $nb_packet = 2; +my $server = "google.com"; +my $result = `ping -c $nb_packet $server | grep received | sed 's/ //g' | cut -d, -f 2 | cut -c 1 | tr -d '\n'`; +is ($result, $nb_packet, "Network available"); + +done_testing(); -- cgit v1.2.1