curl/tests/libtest/test1022.pl
Daniel Stenberg 82ecc85d9e curl-config: fix --version
curl-config --version didn't output the correct version string (bug
introduced in commit 0355e33b5f), and unfortunately the test
case 1022 that was supposed to check for this was broken.

This change fixes the test to detect this problem and it fixes the
output.

Bug: http://curl.haxx.se/bug/view.cgi?id=3288727
2011-04-18 09:03:12 +02:00

55 lines
1.3 KiB
Perl
Executable File

#!/usr/bin/env perl
# Determine if curl-config --version matches the curl --version
if ( $#ARGV != 2 )
{
print "Usage: $0 curl-config-script curl-version-output-file version|vernum\n";
exit 3;
}
my $what=$ARGV[2];
# Read the output of curl --version
open(CURL, "$ARGV[1]") || die "Can't open curl --version list in $ARGV[1]\n";
$_ = <CURL>;
chomp;
/libcurl\/([\.\d]+(-DEV)?)/;
my $version = $1;
close CURL;
my $curlconfigversion;
# Read the output of curl-config --version/--vernum
open(CURLCONFIG, "sh $ARGV[0] --$what|") || die "Can't get curl-config --$what list\n";
$_ = <CURLCONFIG>;
chomp;
my $filever=$_;
if ( $what eq "version" ) {
if($filever =~ /^libcurl ([\.\d]+(-DEV)?)$/) {
$curlconfigversion = $1;
}
else {
$curlconfigversion = "illegal value";
}
}
else {
# Convert hex version to decimal for comparison's sake
if($filever =~ /^(..)(..)(..)$/) {
$curlconfigversion = hex($1) . "." . hex($2) . "." . hex($3);
}
else {
$curlconfigversion = "illegal value";
}
# Strip off the -DEV from the curl version if it's there
$version =~ s/-DEV$//;
}
close CURLCONFIG;
my $different = $version ne $curlconfigversion;
if ($different || !$version) {
print "Mismatch in --version:\n";
print "curl: $version\n";
print "curl-config: $curlconfigversion\n";
exit 1;
}