1169854Sdds#!/bin/sh
2169854Sdds#
3169854Sdds# $FreeBSD$
4169854Sdds#
5169854Sdds
6169854SddsDIR=`dirname $0`
7169854SddsLCDIR=`dirname $0`/../../usr.bin/lastcomm
8169854SddsARCH=`uname -m`
9169854Sdds
10263083Sjmmvcollapse_whitespace()
11263083Sjmmv{
12263083Sjmmv	sed -E 's,[ 	]+, ,g'
13263083Sjmmv}
14263083Sjmmv
15169854Sddscheck()
16169854Sdds{
17169854Sdds	NUM=$1
18169854Sdds	shift
19263083Sjmmv	collapse_whitespace | \
20169854Sdds	if diff -q - $1
21169854Sdds	then
22169854Sdds		echo "ok $NUM"
23169854Sdds	else
24169854Sdds		echo "not ok $NUM"
25169854Sdds	fi
26169854Sdds}
27169854Sdds
28263226Sjmmvinstall -c -m 644 $LCDIR/v1-$ARCH-acct.in v1-$ARCH-acct.in
29263226Sjmmvinstall -c -m 644 $LCDIR/v2-$ARCH-acct.in v2-$ARCH-acct.in
30169854Sdds
31169854Sddsecho 1..13
32169854Sdds
33169854Sdds# Command listings of the two acct versions
34263226Sjmmvsa -u v1-$ARCH-acct.in | check 1 $DIR/v1-$ARCH-u.out
35263226Sjmmvsa -u v2-$ARCH-acct.in | check 2 $DIR/v2-$ARCH-u.out
36169854Sdds
37169854Sdds# Plain summaries of user/process
38263226Sjmmvsa -i v1-$ARCH-acct.in | check 3 $DIR/v1-$ARCH-sav.out
39263226Sjmmvsa -im v1-$ARCH-acct.in | check 4 $DIR/v1-$ARCH-usr.out
40169854Sdds
41169854Sdds# Backward compatibility of v1 summary files
42169854Sddssa -P $DIR/v1-$ARCH-sav.in -U $DIR/v1-$ARCH-usr.in /dev/null |
43169854Sdds	check 5 $DIR/v1-$ARCH-sav.out
44169854Sddssa -m -P $DIR/v1-$ARCH-sav.in -U $DIR/v1-$ARCH-usr.in /dev/null |
45169854Sdds	check 6 $DIR/v1-$ARCH-usr.out
46169854Sdds
47169854Sdds# Convert old summary format to new 
48263226Sjmmvinstall -c -m 644 $DIR/v1-$ARCH-sav.in v2c-$ARCH-sav.in
49263226Sjmmvinstall -c -m 644 $DIR/v1-$ARCH-usr.in v2c-$ARCH-usr.in
50263226Sjmmvsa -s -P v2c-$ARCH-sav.in -U v2c-$ARCH-usr.in /dev/null >/dev/null
51263226Sjmmvsa -P v2c-$ARCH-sav.in -U v2c-$ARCH-usr.in /dev/null |
52169854Sdds	check 7 $DIR/v1-$ARCH-sav.out
53263226Sjmmvsa -m -P v2c-$ARCH-sav.in -U v2c-$ARCH-usr.in /dev/null |
54169854Sdds	check 8 $DIR/v1-$ARCH-usr.out
55169854Sdds
56169854Sdds# Reading v2 summary files
57169854Sddssa -P $DIR/v2-$ARCH-sav.in -U $DIR/v2-$ARCH-usr.in /dev/null |
58169854Sdds	check 9 $DIR/v1-$ARCH-sav.out
59169854Sddssa -m -P $DIR/v2-$ARCH-sav.in -U $DIR/v2-$ARCH-usr.in /dev/null |
60169854Sdds	check 10 $DIR/v1-$ARCH-usr.out
61169854Sdds
62169854Sdds# Summarize
63263226Sjmmvsa -is -P v2c-$ARCH-sav.in -U v2c-$ARCH-usr.in v1-$ARCH-acct.in >/dev/null
64263226Sjmmvsa -P v2c-$ARCH-sav.in -U v2c-$ARCH-usr.in /dev/null |
65169854Sdds	check 11 $DIR/v1-$ARCH-sav.out
66263226Sjmmvsa -m -P v2c-$ARCH-sav.in -U v2c-$ARCH-usr.in /dev/null |
67169854Sdds	check 12 $DIR/v1-$ARCH-usr.out
68169854Sdds
69169854Sdds# Accumulate
70263226Sjmmvinstall -c -m 644 $LCDIR/v1-$ARCH-acct.in v1-$ARCH-acct.in
71263226Sjmmvsa -is -P v2c-$ARCH-sav.in -U v2c-$ARCH-usr.in v1-$ARCH-acct.in >/dev/null
72263226Sjmmvinstall -c -m 644 $LCDIR/v1-$ARCH-acct.in v1-$ARCH-acct.in
73263226Sjmmvsa -s -P v2c-$ARCH-sav.in -U v2c-$ARCH-usr.in v1-$ARCH-acct.in \
74263226Sjmmv    | collapse_whitespace >double
75263226Sjmmvcp $LCDIR/v1-$ARCH-acct.in v1-$ARCH-acct.in
76263226Sjmmvsa -i v1-$ARCH-acct.in v1-$ARCH-acct.in | check 13 double
77169854Sdds
78169854Sddsexit 0
79