|
Packit |
f4e178 |
# -*- cperl -*-
|
|
Packit |
f4e178 |
|
|
Packit |
f4e178 |
use strict;
|
|
Packit |
f4e178 |
use warnings;
|
|
Packit |
f4e178 |
|
|
Packit |
f4e178 |
use Test::More tests => 18;
|
|
Packit |
f4e178 |
use Config;
|
|
Packit |
f4e178 |
use Config::AutoConf;
|
|
Packit |
f4e178 |
|
|
Packit |
f4e178 |
END { -e "config.log" and unlink "config.log"; }
|
|
Packit |
f4e178 |
|
|
Packit |
f4e178 |
ok(Config::AutoConf->check_prog("perl"), "Find perl");
|
|
Packit |
f4e178 |
|
|
Packit |
f4e178 |
ok(!Config::AutoConf->check_prog("hopingnobodyhasthiscommand"), "Don't find ''hopingnobodyhasthiscommand");
|
|
Packit |
f4e178 |
|
|
Packit |
f4e178 |
like(Config::AutoConf->check_progs("___perl___", "__perl__", "_perl_", "perl"), qr/perl(?:\.exe)?$/i, "Find perl only");
|
|
Packit |
f4e178 |
is(Config::AutoConf->check_progs("___perl___", "__perl__", "_perl_"), undef, "Find no _xn surrounded perl");
|
|
Packit |
f4e178 |
|
|
Packit |
f4e178 |
SCOPE:
|
|
Packit |
f4e178 |
{
|
|
Packit |
f4e178 |
my $ac = Config::AutoConf->new(); # avoid cache influences tests below
|
|
Packit |
f4e178 |
local $ENV{AWK} = "/somewhere/over/the/rainbow";
|
|
Packit |
f4e178 |
my $awk = $ac->check_prog_awk;
|
|
Packit |
f4e178 |
is($awk, $ENV{AWK}, "\$ENV{AWK} honored");
|
|
Packit |
f4e178 |
|
|
Packit |
f4e178 |
local $ENV{SED} = "/somewhere/over/the/rainbow";
|
|
Packit |
f4e178 |
my $sed = $ac->check_prog_sed;
|
|
Packit |
f4e178 |
is($sed, $ENV{SED}, "\$ENV{SED} honored");
|
|
Packit |
f4e178 |
|
|
Packit |
f4e178 |
local $ENV{EGREP} = "/somewhere/over/the/rainbow";
|
|
Packit |
f4e178 |
my $egrep = $ac->check_prog_egrep;
|
|
Packit |
f4e178 |
is($egrep, $ENV{EGREP}, "\$ENV{EGREP} honored");
|
|
Packit |
f4e178 |
|
|
Packit |
f4e178 |
local $ENV{YACC} = "/somewhere/over/the/rainbow";
|
|
Packit |
f4e178 |
my $yacc = $ac->check_prog_yacc;
|
|
Packit |
f4e178 |
is($yacc, $ENV{YACC}, "\$ENV{YACC} honored");
|
|
Packit |
f4e178 |
}
|
|
Packit |
f4e178 |
|
|
Packit |
f4e178 |
SCOPE:
|
|
Packit |
f4e178 |
{
|
|
Packit |
f4e178 |
my $ac = Config::AutoConf->new(); # avoid cache influences tests below
|
|
Packit |
f4e178 |
local $ENV{ac_cv_prog_AWK} = "/somewhere/over/the/rainbow";
|
|
Packit |
f4e178 |
my $awk = $ac->check_prog_awk;
|
|
Packit |
f4e178 |
is($awk, $ENV{ac_cv_prog_AWK}, "\$ENV{ac_cv_prog_AWK} honored");
|
|
Packit |
f4e178 |
|
|
Packit |
f4e178 |
local $ENV{ac_cv_prog_SED} = "/somewhere/over/the/rainbow";
|
|
Packit |
f4e178 |
my $sed = $ac->check_prog_sed;
|
|
Packit |
f4e178 |
is($sed, $ENV{ac_cv_prog_SED}, "\$ENV{ac_cv_prog_SED} honored");
|
|
Packit |
f4e178 |
|
|
Packit |
f4e178 |
local $ENV{ac_cv_prog_EGREP} = "/somewhere/over/the/rainbow";
|
|
Packit |
f4e178 |
my $egrep = $ac->check_prog_egrep;
|
|
Packit |
f4e178 |
is($egrep, $ENV{ac_cv_prog_EGREP}, "\$ENV{ac_cv_prog_EGREP} honored");
|
|
Packit |
f4e178 |
|
|
Packit |
f4e178 |
local $ENV{ac_cv_prog_YACC} = "/somewhere/over/the/rainbow";
|
|
Packit |
f4e178 |
my $yacc = $ac->check_prog_yacc;
|
|
Packit |
f4e178 |
is($yacc, $ENV{ac_cv_prog_YACC}, "\$ENV{ac_cv_prog_YACC} honored");
|
|
Packit |
f4e178 |
}
|
|
Packit |
f4e178 |
|
|
Packit |
f4e178 |
diag("Check for some progs to get an overview about world outside");
|
|
Packit |
f4e178 |
|
|
Packit |
f4e178 |
sub _is_x
|
|
Packit |
f4e178 |
{
|
|
Packit |
f4e178 |
$^O =~ m/MSWin32/i and return $_[0] =~ m/\.(?:exe|com|bat|cmd)$/;
|
|
Packit |
f4e178 |
return -x $_[0];
|
|
Packit |
f4e178 |
}
|
|
Packit |
f4e178 |
|
|
Packit |
f4e178 |
SKIP:
|
|
Packit |
f4e178 |
{
|
|
Packit |
f4e178 |
my $awk = Config::AutoConf->check_prog_awk;
|
|
Packit |
f4e178 |
$awk or skip "No awk", 1;
|
|
Packit |
f4e178 |
my $awk_bin = (map { $_ =~ s/^\s+//; $_ =~ s/\s+$//; $_ } Text::ParseWords::shellwords $awk )[0];
|
|
Packit |
f4e178 |
ok(_is_x($awk_bin), "$awk_bin is executable");
|
|
Packit |
f4e178 |
diag("Found AWK as $awk");
|
|
Packit |
f4e178 |
}
|
|
Packit |
f4e178 |
|
|
Packit |
f4e178 |
SKIP:
|
|
Packit |
f4e178 |
{
|
|
Packit |
f4e178 |
my $sed = Config::AutoConf->check_prog_sed;
|
|
Packit |
f4e178 |
$sed or skip "No sed", 1;
|
|
Packit |
f4e178 |
my $sed_bin = (map { $_ =~ s/^\s+//; $_ =~ s/\s+$//; $_ } Text::ParseWords::shellwords $sed )[0];
|
|
Packit |
f4e178 |
ok(_is_x($sed_bin), "$sed_bin is executable");
|
|
Packit |
f4e178 |
diag("Found SED as $sed");
|
|
Packit |
f4e178 |
}
|
|
Packit |
f4e178 |
|
|
Packit |
f4e178 |
SKIP:
|
|
Packit |
f4e178 |
{
|
|
Packit |
f4e178 |
my $grep = Config::AutoConf->check_prog_egrep;
|
|
Packit |
f4e178 |
$grep or skip "No egrep", 1;
|
|
Packit |
f4e178 |
my $grep_bin = (map { $_ =~ s/^\s+//; $_ =~ s/\s+$//; $_ } Text::ParseWords::shellwords $grep )[0];
|
|
Packit |
f4e178 |
ok(_is_x($grep_bin), "$grep_bin is executable");
|
|
Packit |
f4e178 |
diag("Found EGREP as $grep");
|
|
Packit |
f4e178 |
}
|
|
Packit |
f4e178 |
|
|
Packit |
f4e178 |
SKIP:
|
|
Packit |
f4e178 |
{
|
|
Packit |
f4e178 |
my $yacc = Config::AutoConf->check_prog_yacc;
|
|
Packit |
f4e178 |
$yacc or skip "No yacc", 1;
|
|
Packit |
f4e178 |
my $yacc_bin = (map { $_ =~ s/^\s+//; $_ =~ s/\s+$//; $_ } Text::ParseWords::shellwords $yacc )[0];
|
|
Packit |
f4e178 |
ok(_is_x($yacc_bin), "$yacc is executable");
|
|
Packit |
f4e178 |
diag("Found YACC as $yacc");
|
|
Packit |
f4e178 |
}
|
|
Packit |
f4e178 |
|
|
Packit |
f4e178 |
SKIP:
|
|
Packit |
f4e178 |
{
|
|
Packit |
f4e178 |
my $lex = Config::AutoConf->check_prog_lex;
|
|
Packit |
f4e178 |
$lex or skip "No lex", 1;
|
|
Packit |
f4e178 |
my $lex_bin = (map { $_ =~ s/^\s+//; $_ =~ s/\s+$//; $_ } Text::ParseWords::shellwords $lex )[0];
|
|
Packit |
f4e178 |
ok(_is_x($lex_bin), "$lex is executable");
|
|
Packit |
f4e178 |
diag("Found LEX as $lex");
|
|
Packit |
f4e178 |
}
|
|
Packit |
f4e178 |
|
|
Packit |
f4e178 |
SKIP:
|
|
Packit |
f4e178 |
{
|
|
Packit |
f4e178 |
my $pkg_config = Config::AutoConf->check_prog_pkg_config;
|
|
Packit |
f4e178 |
$pkg_config or skip "No pkg-config", 1;
|
|
Packit |
f4e178 |
ok(_is_x($pkg_config), "$pkg_config is executable");
|
|
Packit |
f4e178 |
diag("Found PKG-CONFIG as $pkg_config");
|
|
Packit |
f4e178 |
}
|