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