perl/Porting/testall.atom
<<
>>
Prefs
   1#!/bin/sh
   2
   3#
   4# testall.atom - test suite profiling on Tru 64
   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
  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
  55
  56PERL_DESTRUCT_LEVEL=2
  57export PERL_DESTRUCT_LEVEL
  58PERL_CORE=1
  59export PERL_CORE
  60
  61rm -f all.Counts
  62
  63for t in $the_t
  64do
  65    case "$t" in
  66    ext/*|lib/*) t=../$t ;;
  67    t/*) t=`echo $t|sed 's:^t/::'` ;;
  68    esac
  69    echo $t|sed 's:\.t$::'
  70    sw=''
  71    case "`head -1 $t|egrep -e '^#.* -.*T'`" in
  72    *-*T*) sw="$sw -T" ;;
  73    esac
  74    case "`head -1 $t|egrep -e '^#.* -.*t'`" in
  75    *-*t*) sw="$sw -t" ;;
  76    esac
  77    ./perl.pixie -I../lib $sw $t > /dev/null
  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
  86        fi
  87        cd t
  88    fi
  89done
  90
  91exit 0
  92
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.