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