]> CyberLeo.Net >> Repos - FreeBSD/releng/10.2.git/blob - usr.sbin/sa/tests/legacy_test.sh
- Copy stable/10@285827 to releng/10.2 in preparation for 10.2-RC1
[FreeBSD/releng/10.2.git] / usr.sbin / sa / tests / legacy_test.sh
1 #!/bin/sh
2 #
3 # $FreeBSD$
4 #
5
6 DIR=`dirname $0`
7 LCDIR=`dirname $0`/../../usr.bin/lastcomm
8 ARCH=`uname -m`
9
10 collapse_whitespace()
11 {
12         sed -E 's,[     ]+, ,g'
13 }
14
15 check()
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
28 install -c -m 644 $LCDIR/v1-$ARCH-acct.in v1-$ARCH-acct.in
29 install -c -m 644 $LCDIR/v2-$ARCH-acct.in v2-$ARCH-acct.in
30
31 echo 1..13
32
33 # Command listings of the two acct versions
34 sa -u v1-$ARCH-acct.in | check 1 $DIR/v1-$ARCH-u.out
35 sa -u v2-$ARCH-acct.in | check 2 $DIR/v2-$ARCH-u.out
36
37 # Plain summaries of user/process
38 sa -i v1-$ARCH-acct.in | check 3 $DIR/v1-$ARCH-sav.out
39 sa -im v1-$ARCH-acct.in | check 4 $DIR/v1-$ARCH-usr.out
40
41 # Backward compatibility of v1 summary files
42 sa -P $DIR/v1-$ARCH-sav.in -U $DIR/v1-$ARCH-usr.in /dev/null |
43         check 5 $DIR/v1-$ARCH-sav.out
44 sa -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 
48 install -c -m 644 $DIR/v1-$ARCH-sav.in v2c-$ARCH-sav.in
49 install -c -m 644 $DIR/v1-$ARCH-usr.in v2c-$ARCH-usr.in
50 sa -s -P v2c-$ARCH-sav.in -U v2c-$ARCH-usr.in /dev/null >/dev/null
51 sa -P v2c-$ARCH-sav.in -U v2c-$ARCH-usr.in /dev/null |
52         check 7 $DIR/v1-$ARCH-sav.out
53 sa -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
57 sa -P $DIR/v2-$ARCH-sav.in -U $DIR/v2-$ARCH-usr.in /dev/null |
58         check 9 $DIR/v1-$ARCH-sav.out
59 sa -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
63 sa -is -P v2c-$ARCH-sav.in -U v2c-$ARCH-usr.in v1-$ARCH-acct.in >/dev/null
64 sa -P v2c-$ARCH-sav.in -U v2c-$ARCH-usr.in /dev/null |
65         check 11 $DIR/v1-$ARCH-sav.out
66 sa -m -P v2c-$ARCH-sav.in -U v2c-$ARCH-usr.in /dev/null |
67         check 12 $DIR/v1-$ARCH-usr.out
68
69 # Accumulate
70 install -c -m 644 $LCDIR/v1-$ARCH-acct.in v1-$ARCH-acct.in
71 sa -is -P v2c-$ARCH-sav.in -U v2c-$ARCH-usr.in v1-$ARCH-acct.in >/dev/null
72 install -c -m 644 $LCDIR/v1-$ARCH-acct.in v1-$ARCH-acct.in
73 sa -s -P v2c-$ARCH-sav.in -U v2c-$ARCH-usr.in v1-$ARCH-acct.in \
74     | collapse_whitespace >double
75 cp $LCDIR/v1-$ARCH-acct.in v1-$ARCH-acct.in
76 sa -i v1-$ARCH-acct.in v1-$ARCH-acct.in | check 13 double
77
78 exit 0