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