3 #shell test suite for kdb command
9 if [ "z$srcdir" = 'z' ]; then
17 ROOT="user/tests/script"
18 FILE="$HOME/.kdb/$ROOT/value"
19 DIR="$HOME/.kdb/$ROOT"
22 DATE="`date \"+%b %d %H:%M\"`"
26 #define succeed_if(x,y) nbTest++; if (!(x)) { nbError++; printf("%s:%d: error in %s: %s\n", __FILE__, __LINE__, __FUNCTION__, y);}
27 #succeed if the previous command was successful
32 nbError=$(( $nbError + 1 ))
35 nbTest=$(( $nbTest + 1 ))
38 #define exit_if_fail(x,y) nbTest++; if (!(x)) { printf("%s:%d: fatal in %s: %s\n", __FILE__, __LINE__, __FUNCTION__, y); exit(1); }
39 #fails and exits the program if the previous command failed
47 nbTest=$(( $nbTest + 1 ))
51 echo ELEKTRA SCRIPTS TESTS
54 echo "testing set and get keys"
56 kdb -m "775" set $ROOT
57 exit_if_fail "could not set root"
60 succeed_if "Directory not existing"
62 kdb set "$ROOT/value" "$VALUE"
63 exit_if_fail "could not set value"
66 succeed_if "File not existing"
68 #echo "testing ls subcommand"
70 #[ "x`kdb ls $ROOT 2> /dev/null`" = "x$ROOT/value" ]
71 #succeed_if "cant ls $ROOT (may mean that $ROOT folder is not clean)"
73 #[ "x`kdb get $ROOT/value 2> /dev/null`" = "x$VALUE" ]
74 #exit_if_fail "cant get $ROOT/value"
76 #[ "x`kdb get -f $ROOT/value 2> /dev/null`" = "x$VALUE" ]
77 #succeed_if "-f option"
79 #[ "x`kdb get -d $ROOT/value 2> /dev/null`" = "x$ROOT/value=$VALUE" ]
80 #succeed_if "-d option"
82 #[ "x`kdb get -l $ROOT/value 2> /dev/null`" = "x$ROOT/value=$VALUE" ]
83 #succeed_if "-l option"
85 #[ "x`kdb get -s $ROOT/value 2> /dev/null`" = "xvalue=\"$VALUE\"" ]
86 #succeed_if "-s option"
89 succeed_if "can remove user/test/value"
92 succeed_if "File yet existing after delete"
97 succeed_if "Directory yet existing after delete"
104 echo "testing xml importing and exporting"
107 succeed_if "importing fstab.xml failed"
109 kdb export user/tests/fstab > fstab-gen.xml
110 succeed_if "exporting user/tests/fstab failed"
112 diff fstab-gen.xml fstab-cmp.xml
113 succeed_if "xml files are not the same"
116 succeed_if "could not rm key-gen.xml"
118 kdb rm -r user/tests/fstab
120 echo test_script.sh RESULTS: $nbTest "test(s)" done $nbError "error(s)".