qpsmtpd/t/packaging.t

37 lines
820 B
Perl

#!/usr/bin/perl
use strict;
use warnings;
use Test::More;
ok(my $qp_version = get_qp_version(), 'get_qp_version');
ok(my $rpm_version = get_rpm_version(), "get_rpm_version");
cmp_ok($rpm_version, 'eq', $qp_version, "RPM version is up-to-date");
done_testing();
sub get_qp_version {
my $rvfile = get_file_contents('lib/Qpsmtpd.pm')
or return;
my ($ver_line) = grep { $_ =~ /^our \$VERSION/ } @$rvfile;
my ($ver) = $ver_line =~ /['"]([0-9\.]+)['"]/;
return $ver;
}
sub get_rpm_version {
my $rvfile = get_file_contents('packaging/rpm/VERSION')
or return;
chomp @$rvfile;
return $rvfile->[0];
}
sub get_file_contents {
my $file = shift;
open my $fh, '<', $file or do {
warn "failed to open $file";
return;
};
my @r = <$fh>;
return \@r;
}