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