posible, sólo un poco difícil (sin Configure
o make
necesario), que puede resultar útil:
El esquema de prueba en la distribución de cargas fuente de todo lo que fuera del directorio lib` directorio /path/to/src/distribution/lib'. The key to running your existing perl installation against this test suite is to put all of the install libraries into this
. Esto se puede hacer con algo como:
cd /path/to/src/distribution
mv lib lib-original
mkdir lib
/path/to/installed/perl -e 'system qq{cp -prv "$_/." lib/}' \
-e 'for "lib-original",grep /../,reverse(@INC)'
(es probable que haya una más robusta de comandos que utiliza perl
-MFile::Copy
, pero esto de una sola línea rápido y sucio-me consiguió que iba). Usamos reverse @INC
para que las bibliotecas del frente @INC
sobrescriban las bibliotecas posteriores y no al revés. La cláusula grep /../,...
nos impide copiar .
en lib
, lo que probablemente no sea útil.
Encontré algunas pruebas que usan rutas codificadas a perl
, psed
y s2p
en el directorio fuente. Querrá asegurarse de que estos archivos existen y que las pruebas se dirigen a las versiones instaladas de estos programas.
rm -f perl t/perl psed t/psed x2p/s2p
ln -s /path/to/installed/perl perl
ln -s /path/to/installed/perl t/perl
ln -s /path/to/installed/psed psed
ln -s /path/to/installed/psed t/psed
ln -s /path/to/installed/s2p x2p/s2p
Ahora utilice el normal Unix y lenguaje para el funcionamiento de un conjunto de pruebas Perl:
cd t
/path/to/installed/perl -MExtUtils::Command::MM \
-e 'test_harness(0,"../lib")' */*.t
Algunas pruebas pueden ser explícita sobre cómo probar la integridad del proceso de acumulación de fuente, por lo que algunos fallos son de esperar.
(este proceso probado en v5.14.0, v5.8.9, v5.10.1)
Actualización: aún más difícil. Hay muchos otros directorios t
dentro de una distribución fuente típica. Es probable que también quiere probar:
cd /path/to/source/distribution
for dir in */*/
do
if [ -d $dir/t ] ; then
pushd $dir
echo Testing $dir
/path/to/installed/perl -MExtUtils::Command::MM \
-e 'test_harness(0,"../../lib","lib")' t/*.t
popd
fi
done
Muchas de estas pruebas está probando explícitamente la integridad de la estructura, por lo que puede esperar muchas de estas pruebas a fallar.
haven; 't probado esto todavía, pero supongo que primero tengo que hacer un 'Configure' y' make' ... hmmmm .... – ErikR