1169854Sdds#!/bin/sh
2169854Sdds#
3169854Sdds# $FreeBSD$
4169854Sdds#
5169854Sdds
6169854SddsDIR=`dirname $0`
7169854SddsLCDIR=`dirname $0`/../../usr.bin/lastcomm
8169854SddsARCH=`uname -m`
9169854Sdds
10169854Sddscheck()
11169854Sdds{
12169854Sdds	NUM=$1
13169854Sdds	shift
14169854Sdds	if diff -q - $1
15169854Sdds	then
16169854Sdds		echo "ok $NUM"
17169854Sdds	else
18169854Sdds		echo "not ok $NUM"
19169854Sdds	fi
20169854Sdds}
21169854Sdds
22169854Sddscp $LCDIR/v1-$ARCH-acct.in $DIR/v1-$ARCH-acct.in
23169854Sddscp $LCDIR/v2-$ARCH-acct.in $DIR/v2-$ARCH-acct.in
24169854Sdds
25169854Sddsecho 1..13
26169854Sdds
27169854Sdds# Command listings of the two acct versions
28169854Sddssa -u $DIR/v1-$ARCH-acct.in | check 1 $DIR/v1-$ARCH-u.out
29169854Sddssa -u $DIR/v2-$ARCH-acct.in | check 2 $DIR/v2-$ARCH-u.out
30169854Sdds
31169854Sdds# Plain summaries of user/process
32169854Sddssa -i $DIR/v1-$ARCH-acct.in | check 3 $DIR/v1-$ARCH-sav.out
33169854Sddssa -im $DIR/v1-$ARCH-acct.in | check 4 $DIR/v1-$ARCH-usr.out
34169854Sdds
35169854Sdds# Backward compatibility of v1 summary files
36169854Sddssa -P $DIR/v1-$ARCH-sav.in -U $DIR/v1-$ARCH-usr.in /dev/null |
37169854Sdds	check 5 $DIR/v1-$ARCH-sav.out
38169854Sddssa -m -P $DIR/v1-$ARCH-sav.in -U $DIR/v1-$ARCH-usr.in /dev/null |
39169854Sdds	check 6 $DIR/v1-$ARCH-usr.out
40169854Sdds
41169854Sdds# Convert old summary format to new 
42169854Sddscp $DIR/v1-$ARCH-sav.in $DIR/v2c-$ARCH-sav.in
43169854Sddscp $DIR/v1-$ARCH-usr.in $DIR/v2c-$ARCH-usr.in
44169854Sddssa -s -P $DIR/v2c-$ARCH-sav.in -U $DIR/v2c-$ARCH-usr.in /dev/null >/dev/null
45169854Sddssa -P $DIR/v2c-$ARCH-sav.in -U $DIR/v2c-$ARCH-usr.in /dev/null |
46169854Sdds	check 7 $DIR/v1-$ARCH-sav.out
47169854Sddssa -m -P $DIR/v2c-$ARCH-sav.in -U $DIR/v2c-$ARCH-usr.in /dev/null |
48169854Sdds	check 8 $DIR/v1-$ARCH-usr.out
49169854Sdds
50169854Sdds# Reading v2 summary files
51169854Sddssa -P $DIR/v2-$ARCH-sav.in -U $DIR/v2-$ARCH-usr.in /dev/null |
52169854Sdds	check 9 $DIR/v1-$ARCH-sav.out
53169854Sddssa -m -P $DIR/v2-$ARCH-sav.in -U $DIR/v2-$ARCH-usr.in /dev/null |
54169854Sdds	check 10 $DIR/v1-$ARCH-usr.out
55169854Sdds
56169854Sdds# Summarize
57169854Sddssa -is -P $DIR/v2c-$ARCH-sav.in -U $DIR/v2c-$ARCH-usr.in $DIR/v1-$ARCH-acct.in >/dev/null
58169854Sddssa -P $DIR/v2c-$ARCH-sav.in -U $DIR/v2c-$ARCH-usr.in /dev/null |
59169854Sdds	check 11 $DIR/v1-$ARCH-sav.out
60169854Sddssa -m -P $DIR/v2c-$ARCH-sav.in -U $DIR/v2c-$ARCH-usr.in /dev/null |
61169854Sdds	check 12 $DIR/v1-$ARCH-usr.out
62169854Sdds
63169854Sdds# Accumulate
64169854Sddscp $LCDIR/v1-$ARCH-acct.in $DIR/v1-$ARCH-acct.in
65169854Sddssa -is -P $DIR/v2c-$ARCH-sav.in -U $DIR/v2c-$ARCH-usr.in $DIR/v1-$ARCH-acct.in >/dev/null
66169854Sddscp $LCDIR/v1-$ARCH-acct.in $DIR/v1-$ARCH-acct.in
67169854Sddssa -s -P $DIR/v2c-$ARCH-sav.in -U $DIR/v2c-$ARCH-usr.in $DIR/v1-$ARCH-acct.in >$DIR/double
68169854Sddscp $LCDIR/v1-$ARCH-acct.in $DIR/v1-$ARCH-acct.in
69169854Sddssa -i $DIR/v1-$ARCH-acct.in $DIR/v1-$ARCH-acct.in | check 13 $DIR/double
70169854Sdds
71169854Sdds# Clean up
72169854Sddsrm $DIR/double $DIR/v2c-$ARCH-usr.in $DIR/v2c-$ARCH-sav.in $DIR/v1-$ARCH-acct.in $DIR/v2-$ARCH-acct.in
73169854Sdds
74169854Sddsexit 0
75