#!/bin/bash -u
modules=(
bigint
bigfloat
bigrat
bignum
)
backends=(
#FastCalc
GMP
Pari
#GMPz
#BitVect
#LTM
)
dirname=$( dirname -- "$0" ) || exit
cd "$dirname" || exit
gitroot=$( git rev-parse --show-toplevel ) || exit
cd "$gitroot" || exit
for backend in ${backends[@]}; do
for module in ${modules[@]}; do
file=t/backend-${backend,,}-$module.t
cat <<EOF >$file
# -*- mode: perl; -*-
use strict;
use warnings;
use Test::More;
BEGIN {
eval { require Math::BigInt::$backend; };
if (\$@) {
plan skip_all => "Math::BigInt::$backend not installed";
} else {
plan tests => "1";
}
}
use $module only => "$backend";
my \$x = 1;
is(\$x -> config("lib"), "Math::BigInt::$backend",
"backend is Math::BigInt::$backend");
EOF
echo "Wrote '$file'"
done
done