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