1#!/bin/sh
2# category file load/save test
3PATH=/bin:/usr/bin
4DBACL=$TESTBIN/dbacl
5ICHECK=$TESTBIN/icheck
6
7LC_ALL="C" # this test assumes C locale
8export LC_ALL
9
10prerequisite_command() {
11    type $2 2>&1 > /dev/null
12    if [ 0 -ne $? ]; then
13        echo "$1: $2 not found, test will be skipped"
14        exit 77
15    fi
16}
17
18prerequisite_command $0 grep
19prerequisite_command $0 awk
20prerequisite_command $0 sort
21prerequisite_command $0 diff
22
23DBACL_PATH="`pwd`/`basename $0 .sh`_`date +"%Y%m%dT%H%M%S"`"
24export DBACL_PATH
25
26mkdir "$DBACL_PATH"
27
28echo "The quick brown fox jumped over the lazy dog" \
29    | $DBACL -l dummy -L uniform -d \
30    | grep -v '^#' \
31    | awk '{print $1, $4}' \
32    | sort -k 2 \
33    > "$DBACL_PATH/out1"
34
35$ICHECK -d -u "$DBACL_PATH/dummy" \
36    | grep -v '^#' \
37    | awk '{print $1, $2}' \
38    | sort -k 2 \
39    > "$DBACL_PATH/out2"
40
41diff "$DBACL_PATH/out1" "$DBACL_PATH/out2"
42
43RESULT=$?
44rm -rf "$DBACL_PATH"
45
46exit $RESULT