1*d14afb2aSJulio Merino#!/bin/sh 2*d14afb2aSJulio Merino# 3*d14afb2aSJulio Merino# 4*d14afb2aSJulio Merino 5*d14afb2aSJulio MerinoDIR=`dirname $0` 6*d14afb2aSJulio MerinoLCDIR=`dirname $0`/../../usr.bin/lastcomm 7*d14afb2aSJulio MerinoARCH=`uname -m` 8*d14afb2aSJulio Merino 9*d14afb2aSJulio Merinocollapse_whitespace() 10*d14afb2aSJulio Merino{ 11*d14afb2aSJulio Merino sed -E 's,[ ]+, ,g' 12*d14afb2aSJulio Merino} 13*d14afb2aSJulio Merino 14*d14afb2aSJulio Merinocheck() 15*d14afb2aSJulio Merino{ 16*d14afb2aSJulio Merino NUM=$1 17*d14afb2aSJulio Merino shift 18*d14afb2aSJulio Merino collapse_whitespace | \ 19*d14afb2aSJulio Merino if diff -q - $1 20*d14afb2aSJulio Merino then 21*d14afb2aSJulio Merino echo "ok $NUM" 22*d14afb2aSJulio Merino else 23*d14afb2aSJulio Merino echo "not ok $NUM" 24*d14afb2aSJulio Merino fi 25*d14afb2aSJulio Merino} 26*d14afb2aSJulio Merino 27*d14afb2aSJulio Merinoinstall -c -m 644 $LCDIR/v1-$ARCH-acct.in v1-$ARCH-acct.in 28*d14afb2aSJulio Merinoinstall -c -m 644 $LCDIR/v2-$ARCH-acct.in v2-$ARCH-acct.in 29*d14afb2aSJulio Merino 30*d14afb2aSJulio Merinoecho 1..13 31*d14afb2aSJulio Merino 32*d14afb2aSJulio Merino# Command listings of the two acct versions 33*d14afb2aSJulio Merinosa -u v1-$ARCH-acct.in | check 1 $DIR/v1-$ARCH-u.out 34*d14afb2aSJulio Merinosa -u v2-$ARCH-acct.in | check 2 $DIR/v2-$ARCH-u.out 35*d14afb2aSJulio Merino 36*d14afb2aSJulio Merino# Plain summaries of user/process 37*d14afb2aSJulio Merinosa -i v1-$ARCH-acct.in | check 3 $DIR/v1-$ARCH-sav.out 38*d14afb2aSJulio Merinosa -im v1-$ARCH-acct.in | check 4 $DIR/v1-$ARCH-usr.out 39*d14afb2aSJulio Merino 40*d14afb2aSJulio Merino# Backward compatibility of v1 summary files 41*d14afb2aSJulio Merinosa -P $DIR/v1-$ARCH-sav.in -U $DIR/v1-$ARCH-usr.in /dev/null | 42*d14afb2aSJulio Merino check 5 $DIR/v1-$ARCH-sav.out 43*d14afb2aSJulio Merinosa -m -P $DIR/v1-$ARCH-sav.in -U $DIR/v1-$ARCH-usr.in /dev/null | 44*d14afb2aSJulio Merino check 6 $DIR/v1-$ARCH-usr.out 45*d14afb2aSJulio Merino 46*d14afb2aSJulio Merino# Convert old summary format to new 47*d14afb2aSJulio Merinoinstall -c -m 644 $DIR/v1-$ARCH-sav.in v2c-$ARCH-sav.in 48*d14afb2aSJulio Merinoinstall -c -m 644 $DIR/v1-$ARCH-usr.in v2c-$ARCH-usr.in 49*d14afb2aSJulio Merinosa -s -P v2c-$ARCH-sav.in -U v2c-$ARCH-usr.in /dev/null >/dev/null 50*d14afb2aSJulio Merinosa -P v2c-$ARCH-sav.in -U v2c-$ARCH-usr.in /dev/null | 51*d14afb2aSJulio Merino check 7 $DIR/v1-$ARCH-sav.out 52*d14afb2aSJulio Merinosa -m -P v2c-$ARCH-sav.in -U v2c-$ARCH-usr.in /dev/null | 53*d14afb2aSJulio Merino check 8 $DIR/v1-$ARCH-usr.out 54*d14afb2aSJulio Merino 55*d14afb2aSJulio Merino# Reading v2 summary files 56*d14afb2aSJulio Merinosa -P $DIR/v2-$ARCH-sav.in -U $DIR/v2-$ARCH-usr.in /dev/null | 57*d14afb2aSJulio Merino check 9 $DIR/v1-$ARCH-sav.out 58*d14afb2aSJulio Merinosa -m -P $DIR/v2-$ARCH-sav.in -U $DIR/v2-$ARCH-usr.in /dev/null | 59*d14afb2aSJulio Merino check 10 $DIR/v1-$ARCH-usr.out 60*d14afb2aSJulio Merino 61*d14afb2aSJulio Merino# Summarize 62*d14afb2aSJulio Merinosa -is -P v2c-$ARCH-sav.in -U v2c-$ARCH-usr.in v1-$ARCH-acct.in >/dev/null 63*d14afb2aSJulio Merinosa -P v2c-$ARCH-sav.in -U v2c-$ARCH-usr.in /dev/null | 64*d14afb2aSJulio Merino check 11 $DIR/v1-$ARCH-sav.out 65*d14afb2aSJulio Merinosa -m -P v2c-$ARCH-sav.in -U v2c-$ARCH-usr.in /dev/null | 66*d14afb2aSJulio Merino check 12 $DIR/v1-$ARCH-usr.out 67*d14afb2aSJulio Merino 68*d14afb2aSJulio Merino# Accumulate 69*d14afb2aSJulio Merinoinstall -c -m 644 $LCDIR/v1-$ARCH-acct.in v1-$ARCH-acct.in 70*d14afb2aSJulio Merinosa -is -P v2c-$ARCH-sav.in -U v2c-$ARCH-usr.in v1-$ARCH-acct.in >/dev/null 71*d14afb2aSJulio Merinoinstall -c -m 644 $LCDIR/v1-$ARCH-acct.in v1-$ARCH-acct.in 72*d14afb2aSJulio Merinosa -s -P v2c-$ARCH-sav.in -U v2c-$ARCH-usr.in v1-$ARCH-acct.in \ 73*d14afb2aSJulio Merino | collapse_whitespace >double 74*d14afb2aSJulio Merinocp $LCDIR/v1-$ARCH-acct.in v1-$ARCH-acct.in 75*d14afb2aSJulio Merinosa -i v1-$ARCH-acct.in v1-$ARCH-acct.in | check 13 double 76*d14afb2aSJulio Merino 77*d14afb2aSJulio Merinoexit 0 78