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