[devel] test perl packages [2]

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Ср Авг 4 03:18:57 MSD 2004


У меня созрела ещё одна процедура, которая до некоторой степени
позволяет убдиться в том, что после обновления перла ничего не
сломается.

0) будем использовать макрос myrpm, который работает с каталогом ~/MYRPM
вместо ~/RPM.

$ alias myrpm='rpm --define "_topdir %homedir/MYRPM"'

1) Ставим в систему (почти) все перловые модули, примерно вот так вот:

$ cd ~Sisyphus/files/i586/RPMS
$ sudo apt-get install `rpm -qp --qf '%{NAME}\n' perl-*.rpm | grep -v GD1 | grep -v LibXML-Common`

2) Распаковываем все перловые исходные пакеты:
$ cd ~Sisyphus/files/SRPMS
$ myrpm -ivh perl-*.rpm

3) Разворачиваем исходники:

$ cd ~/MYRPM/SPECS
$ rm -f perl58.spec
$ myrpm -bp --nodeps *.spec

4) Запускаем скрипт run-perl-tests и сохраняем его вывод.

$ cd ~/MYRPM/BUILD
$ DISPLAY=:0 run-perl-tests 2>&1 | tee perl-tests-5.8.4

5) Обновлям перл.

6) Запускаем скрипт run-perl-tests и сохраняем его вывод.

$ cd ~/MYRPM/BUILD
$ DISPLAY=:0 run-perl-tests 2>&1 | tee perl-tests-5.8.5

7) Смотрим, отвалилось ли что-нибудь, на основе diff'а от двух выводов скрипта 

$ cd ~/MYRPM/BUILD
$ vimdiff perl-tests-5.8.{4,5}

Скрипт run-perl-tests ищет каталоги t, файлы test.pl и выполняет
соответствующие тестовые процедуры.
----------- следующая часть -----------
#!/usr/bin/perl

use strict;
use File::Find qw(find);

$ENV{PERL_DL_NONLAZY} = $ENV{LD_BIND_NOW} = 1;
my $RC;

sub wanted {
	my $rc;
	if ($_ eq "t" && -d $_) {
		my @tests = <t/*.t>;
		@tests or return;
		print "TestDir $File::Find::name\n";
		system "mkdir -p blib/lib blib/arch";
		$rc = system $^X,
			qw(-MExtUtils::Command::MM -e test_harness) , @tests;
	} elsif ($_ eq "test.pl" && -f $_) {
		print "TestFile $File::Find::name\n";
		system "mkdir -p blib/lib blib/arch";
		$rc = system $^X, "test.pl";
	}
	$RC ||= $rc;
}

find \&wanted => ".";
exit $RC;
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20040804/ad83050e/attachment-0001.bin>


Подробная информация о списке рассылки Devel