#!/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;
};