Mac OS X: tweak once again the installation directories.
[p5sagit/p5-mst-13.2.git] / Porting / testall.atom
CommitLineData
b4324e9b 1#!/bin/sh
2
3#
4# testall.atom
5#
6# This script creates all.Counts file that can be fed to prof(1)
7# to produce various basic block counting profiles.
8#
9# This script needs to be run at the top level of the Perl build
10# directory after the "make all" and "make test" targets have been run.
11#
12# You will also need to have perl.pixie built,
13# which means that you will also have Configured with -Doptimize=-g.
14#
15# After the script has been run (this will take several minutes)
16# you will have a file called all.Counts, which contains the cumulative
17# basic block counting results over the whole Perl test suite.
18# You can produce various reports using prof(1);
19#
20# prof -pixie -all -L. perl all.Counts
21# prof -pixie -heavy -all -L. perl all.Counts
22# prof -pixie -invocations -all -L. perl all.Counts
23# prof -pixie -lines -all -L. perl all.Counts
24# prof -pixie -testcoverage -all -L. perl all.Counts
25# prof -pixie -zero -all -L. perl all.Counts
26#
27# io/openpid and op/fork core on me, I don't know why and haven't
28# taken a look yet.
29#
30# jhi@iki.fi
31#
32
33if test ! -f /usr/bin/atom
34then
35 echo "$0: no /usr/bin/atom"
36 exit 1
37fi
38
39if test ! -f perl; then echo "$0: no perl"; exit 1; fi
40if test ! -f perl.pixie; then echo "$0: no perl.pixie; exit 1; fi
41if test ! -f t/perl; then echo "$0: no t/perl; exit 1; fi
42
43LD_LIBRARY_PATH=`pwd`
44export LD_LIBRARY_PATH
45
46cd t || exit 1
47
48ln -sf ../perl.pixie .
49
88b37237 50if test $# = 0; then
51 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`
52else
53 the_t=$@
54fi
b4324e9b 55
56PERL_DESTRUCT_LEVEL=2
57export PERL_DESTRUCT_LEVEL
84cecde1 58PERL_CORE=1
59export PERL_CORE
b4324e9b 60
61rm -f all.Counts
62
63for t in $the_t
64do
88b37237 65 case "$t" in
66 ext/*|lib/*) t=../$t ;;
67 t/*) t=`echo $t|sed 's:^t/::'` ;;
68 esac
84cecde1 69 echo $t|sed 's:\.t$::'
70 sw=''
88b37237 71 case "`head -1 $t|egrep -e '^#.* -.*T'`" in
72 *-*T*) sw="$sw -T" ;;
b4324e9b 73 esac
88b37237 74 case "`head -1 $t|egrep -e '^#.* -.*t'`" in
75 *-*t*) sw="$sw -t" ;;
84cecde1 76 esac
77 ./perl.pixie -I../lib $sw $t > /dev/null
b4324e9b 78 if cd ..
79 then
80 if test -f all.Counts
81 then
82 prof -pixie -merge new.Counts -L. -incobj libperl.so perl t/perl.Counts all.Counts
83 mv new.Counts all.Counts
84 else
85 mv t/perl.Counts all.Counts
84cecde1 86 fi
b4324e9b 87 cd t
88 fi
89done
90
91exit 0