]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/blob - tools/regression/usr.sbin/sa/regress.t
MFC: r264832
[FreeBSD/stable/10.git] / tools / regression / usr.sbin / sa / regress.t
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 cp $LCDIR/v1-$ARCH-acct.in $DIR/v1-$ARCH-acct.in
29 cp $LCDIR/v2-$ARCH-acct.in $DIR/v2-$ARCH-acct.in
30
31 echo 1..13
32
33 # Command listings of the two acct versions
34 sa -u $DIR/v1-$ARCH-acct.in | check 1 $DIR/v1-$ARCH-u.out
35 sa -u $DIR/v2-$ARCH-acct.in | check 2 $DIR/v2-$ARCH-u.out
36
37 # Plain summaries of user/process
38 sa -i $DIR/v1-$ARCH-acct.in | check 3 $DIR/v1-$ARCH-sav.out
39 sa -im $DIR/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 cp $DIR/v1-$ARCH-sav.in $DIR/v2c-$ARCH-sav.in
49 cp $DIR/v1-$ARCH-usr.in $DIR/v2c-$ARCH-usr.in
50 sa -s -P $DIR/v2c-$ARCH-sav.in -U $DIR/v2c-$ARCH-usr.in /dev/null >/dev/null
51 sa -P $DIR/v2c-$ARCH-sav.in -U $DIR/v2c-$ARCH-usr.in /dev/null |
52         check 7 $DIR/v1-$ARCH-sav.out
53 sa -m -P $DIR/v2c-$ARCH-sav.in -U $DIR/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 $DIR/v2c-$ARCH-sav.in -U $DIR/v2c-$ARCH-usr.in $DIR/v1-$ARCH-acct.in >/dev/null
64 sa -P $DIR/v2c-$ARCH-sav.in -U $DIR/v2c-$ARCH-usr.in /dev/null |
65         check 11 $DIR/v1-$ARCH-sav.out
66 sa -m -P $DIR/v2c-$ARCH-sav.in -U $DIR/v2c-$ARCH-usr.in /dev/null |
67         check 12 $DIR/v1-$ARCH-usr.out
68
69 # Accumulate
70 cp $LCDIR/v1-$ARCH-acct.in $DIR/v1-$ARCH-acct.in
71 sa -is -P $DIR/v2c-$ARCH-sav.in -U $DIR/v2c-$ARCH-usr.in $DIR/v1-$ARCH-acct.in >/dev/null
72 cp $LCDIR/v1-$ARCH-acct.in $DIR/v1-$ARCH-acct.in
73 sa -s -P $DIR/v2c-$ARCH-sav.in -U $DIR/v2c-$ARCH-usr.in $DIR/v1-$ARCH-acct.in \
74     | collapse_whitespace >$DIR/double
75 cp $LCDIR/v1-$ARCH-acct.in $DIR/v1-$ARCH-acct.in
76 sa -i $DIR/v1-$ARCH-acct.in $DIR/v1-$ARCH-acct.in | check 13 $DIR/double
77
78 # Clean up
79 rm $DIR/double $DIR/v2c-$ARCH-usr.in $DIR/v2c-$ARCH-sav.in $DIR/v1-$ARCH-acct.in $DIR/v2-$ARCH-acct.in
80
81 exit 0