aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPer Øyvind Karlsen <peroyvind@mandriva.org>2011-05-06 23:54:48 +0000
committerPer Øyvind Karlsen <peroyvind@mandriva.org>2011-05-06 23:54:48 +0000
commita06ce7869a437f4be4c5a9c974ea3917ebe2fd55 (patch)
tree9e908849a60961986eb5ac163d8e9d36fc19b21a
parent9985cbf100e00d577d7fb550b20f7e9073201b22 (diff)
downloadperl-URPM-a06ce7869a437f4be4c5a9c974ea3917ebe2fd55.tar
perl-URPM-a06ce7869a437f4be4c5a9c974ea3917ebe2fd55.tar.gz
perl-URPM-a06ce7869a437f4be4c5a9c974ea3917ebe2fd55.tar.bz2
perl-URPM-a06ce7869a437f4be4c5a9c974ea3917ebe2fd55.tar.xz
perl-URPM-a06ce7869a437f4be4c5a9c974ea3917ebe2fd55.zip
add a test for src.rpm synthesis
-rw-r--r--t/res/synthesis.hdlist_src.xzbin0 -> 132680 bytes
-rw-r--r--t/synthesis.t186
2 files changed, 95 insertions, 91 deletions
diff --git a/t/res/synthesis.hdlist_src.xz b/t/res/synthesis.hdlist_src.xz
new file mode 100644
index 0000000..2e53304
--- /dev/null
+++ b/t/res/synthesis.hdlist_src.xz
Binary files differ
diff --git a/t/synthesis.t b/t/synthesis.t
index 2281267..e2bd9a8 100644
--- a/t/synthesis.t
+++ b/t/synthesis.t
@@ -2,7 +2,7 @@
use strict ;
use warnings ;
-use Test::More tests => 95;
+use Test::More tests => 96;
use URPM;
chdir 't' if -d 't';
@@ -151,101 +151,105 @@ ok(@provides == 1);
ok($provides[0] eq 'glibc-devel');
SKIP: {
- my $synthesis = "res/synthesis.hdlist_distepoch.xz";
- if (!(-r $synthesis)) {
- skip "$synthesis missing, only found in svn", 1;
- }
-
- my $urpm = new URPM;
-
- $urpm->parse_synthesis($synthesis);
-
- my $errors = 0;
- $urpm->traverse( sub {
- my ($pkg) = @_;
- my @fullname = $pkg->fullname;
- my $epoch = $pkg->epoch;
- my $name = $pkg->name;
- my $version = $pkg->version;
- my $release = $pkg->release;
- my $disttag = $pkg->disttag;
- my $distepoch = $pkg->distepoch;
- my $arch = $pkg->arch;
-
- if ($name ne $fullname[0]) {
- print "name[" . $pkg->fullname . "]: $name != " . $fullname[0] . "\n";
- $errors++;
- }
- if ($version ne $fullname[1]) {
- print "version[" . $pkg->fullname . "]: $version != " . $fullname[1] . "\n";
- $errors++;
- }
- if ($release ne $fullname[2]) {
- print "release[" . $pkg->fullname . "]: $release != " . $fullname[2] . "\n";
- $errors++;
- }
- if ($disttag ne $fullname[3]) {
- print "disttag[" . $pkg->fullname . "]: $name != " . $fullname[3] . "\n";
- $errors++;
- }
- if ($distepoch ne $fullname[4]) {
- print "distepoch[" . $pkg->fullname . "]: $distepoch != " . $fullname[4] . "\n";
- $errors++;
- }
- if ($arch ne $fullname[5]) {
- print "arch[" . $pkg->fullname . "]: $arch != " . $fullname[5] . "\n";
- $errors++;
- }
- if ($pkg->fullname . ".rpm" ne $pkg->filename) {
- print "filename[" . $pkg->fullname . "]: " . $pkg->filename . "\n";
- $errors++;
- }
-
- if (!$pkg->group) {
- print $pkg->fullname . ": no group\n";
- $errors++;
- }
- if (!$pkg->filesize) {
- print $pkg->fullname . ": no filesize\n";
- $errors++;
- }
- if (!$pkg->summary) {
- print $pkg->fullname . ": no summary\n";
- $errors++;
- }
- if (!$name) {
- print $pkg->fullname . ": no name\n";
- $errors++;
- }
- if (!$version and $version ne "0") {
- print $pkg->version . ": no version\n";
- $errors++;
- }
- if (!$release and $release ne "0") {
- print $pkg->fullname . ": no release\n";
- $errors++;
- }
- if (!$arch and $pkg->group ne "Public Keys") {
- print $pkg->fullname . ": no arch\n";
- $errors++;
- }
-
- if ($pkg->name ne "gpg-pubkey") {
-
- my $expectedevr = $pkg->version . "-" . $pkg->release . ($pkg->distepoch ? ":" . $pkg->distepoch : "");
- if ($expectedevr ne $pkg->evr and "$epoch:$expectedevr" ne $pkg->evr and $pkg->name ne "gpg-pubkey") {
- print "evr[" . $pkg->fullname . "]: $expectedevr != " . $pkg->evr . "\n";
+ sub syntcheck {
+ my ($synthesis) = @_;
+ if (!(-r $synthesis)) {
+ skip "$synthesis missing, only found in svn", 1;
+ }
+
+ my $urpm = new URPM;
+
+ $urpm->parse_synthesis($synthesis);
+
+ my $errors = 0;
+ $urpm->traverse( sub {
+ my ($pkg) = @_;
+ my @fullname = $pkg->fullname;
+ my $epoch = $pkg->epoch;
+ my $name = $pkg->name;
+ my $version = $pkg->version;
+ my $release = $pkg->release;
+ my $disttag = $pkg->disttag;
+ my $distepoch = $pkg->distepoch;
+ my $arch = $pkg->arch;
+
+ if ($name ne $fullname[0]) {
+ print "name[" . $pkg->fullname . "]: $name != " . $fullname[0] . "\n";
+ $errors++;
+ }
+ if ($version ne $fullname[1]) {
+ print "version[" . $pkg->fullname . "]: $version != " . $fullname[1] . "\n";
+ $errors++;
+ }
+ if ($release ne $fullname[2]) {
+ print "release[" . $pkg->fullname . "]: $release != " . $fullname[2] . "\n";
+ $errors++;
+ }
+ if ($disttag ne $fullname[3]) {
+ print "disttag[" . $pkg->fullname . "]: $name != " . $fullname[3] . "\n";
+ $errors++;
+ }
+ if ($distepoch ne $fullname[4]) {
+ print "distepoch[" . $pkg->fullname . "]: $distepoch != " . $fullname[4] . "\n";
+ $errors++;
+ }
+ if ($arch ne $fullname[5]) {
+ print "arch[" . $pkg->fullname . "]: $arch != " . $fullname[5] . "\n";
+ $errors++;
+ }
+ if ($pkg->fullname . ".rpm" ne $pkg->filename) {
+ print "filename[" . $pkg->fullname . "]: " . $pkg->filename . "\n";
$errors++;
}
- my $expectedfullname = "$name-$version-$release" . ($disttag ? "-$disttag" : "") . ($distepoch ? $distepoch : "") . ($arch ? ".$arch" : "");
- if($pkg->fullname ne $expectedfullname) {
- print "fullname: " . $pkg->fullname . " != $expectedfullname\n";
+ if (!$pkg->group) {
+ print $pkg->fullname . ": no group\n";
+ $errors++;
+ }
+ if (!$pkg->filesize) {
+ print $pkg->fullname . ": no filesize\n";
+ $errors++;
+ }
+ if (!$pkg->summary) {
+ print $pkg->fullname . ": no summary\n";
+ $errors++;
+ }
+ if (!$name) {
+ print $pkg->fullname . ": no name\n";
+ $errors++;
+ }
+ if (!$version and $version ne "0") {
+ print $pkg->version . ": no version\n";
+ $errors++;
+ }
+ if (!$release and $release ne "0") {
+ print $pkg->fullname . ": no release\n";
+ $errors++;
+ }
+ if (!$arch and $pkg->group ne "Public Keys") {
+ print $pkg->fullname . ": no arch\n";
$errors++;
}
- }
- });
- is($errors, 0, "fields check");
+ if ($pkg->name ne "gpg-pubkey") {
+ my $expectedevr = $pkg->version . "-" . $pkg->release . ($pkg->distepoch ? ":" . $pkg->distepoch : "");
+ if ($expectedevr ne $pkg->evr and "$epoch:$expectedevr" ne $pkg->evr and $pkg->name ne "gpg-pubkey") {
+ print "evr[" . $pkg->fullname . "]: $expectedevr != " . $pkg->evr . "\n";
+ $errors++;
+ }
+
+ my $expectedfullname = "$name-$version-$release" . ($disttag ? "-$disttag" : "") . ($distepoch ? $distepoch : "") . ($arch ? ".$arch" : "");
+ if($pkg->fullname ne $expectedfullname) {
+ print "fullname: " . $pkg->fullname . " != $expectedfullname\n";
+ $errors++;
+ }
+ }
+ });
+
+ is($errors, 0, "$synthesis fields check");
+
+ }
+ syntcheck("res/synthesis.hdlist_distepoch.xz");
+ syntcheck("res/synthesis.hdlist_src.xz");
}