Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

92 lines (80 sloc) 2.414 kb
#!/bin/sh
#
# testall.atom - test suite profiling on Tru 64
#
# This script creates all.Counts file that can be fed to prof(1)
# to produce various basic block counting profiles.
#
# This script needs to be run at the top level of the Perl build
# directory after the "make all" and "make test" targets have been run.
#
# You will also need to have perl.pixie built,
# which means that you will also have Configured with -Doptimize=-g.
#
# After the script has been run (this will take several minutes)
# you will have a file called all.Counts, which contains the cumulative
# basic block counting results over the whole Perl test suite.
# You can produce various reports using prof(1);
#
# prof -pixie -all -L. perl all.Counts
# prof -pixie -heavy -all -L. perl all.Counts
# prof -pixie -invocations -all -L. perl all.Counts
# prof -pixie -lines -all -L. perl all.Counts
# prof -pixie -testcoverage -all -L. perl all.Counts
# prof -pixie -zero -all -L. perl all.Counts
#
# io/openpid and op/fork core on me, I don't know why and haven't
# taken a look yet.
#
# jhi@iki.fi
#
if test ! -f /usr/bin/atom
then
echo "$0: no /usr/bin/atom"
exit 1
fi
if test ! -f perl; then echo "$0: no perl"; exit 1; fi
if test ! -f perl.pixie; then echo "$0: no perl.pixie; exit 1; fi
if test ! -f t/perl; then echo "$0: no t/perl; exit 1; fi
LD_LIBRARY_PATH=`pwd`
export LD_LIBRARY_PATH
cd t || exit 1
ln -sf ../perl.pixie .
if test $# = 0; then
the_t=`echo base/*.t comp/*.t cmd/*.t run/*.t io/*.t; echo op/*.t uni/*.t pod/*.t x2p/*.t; find ../ext ../lib -name '*.t' -print`
else
the_t=$@
fi
PERL_DESTRUCT_LEVEL=2
export PERL_DESTRUCT_LEVEL
PERL_CORE=1
export PERL_CORE
rm -f all.Counts
for t in $the_t
do
case "$t" in
ext/*|lib/*) t=../$t ;;
t/*) t=`echo $t|sed 's:^t/::'` ;;
esac
echo $t|sed 's:\.t$::'
sw=''
case "`head -1 $t|egrep -e '^#.* -.*T'`" in
*-*T*) sw="$sw -T" ;;
esac
case "`head -1 $t|egrep -e '^#.* -.*t'`" in
*-*t*) sw="$sw -t" ;;
esac
./perl.pixie -I../lib $sw $t > /dev/null
if cd ..
then
if test -f all.Counts
then
prof -pixie -merge new.Counts -L. -incobj libperl.so perl t/perl.Counts all.Counts
mv new.Counts all.Counts
else
mv t/perl.Counts all.Counts
fi
cd t
fi
done
exit 0
Jump to Line
Something went wrong with that request. Please try again.