makekeys: clear const and shadow warnings
[profile/ivi/libxkbcommon.git] / test / canonicalise.sh
1 #!/bin/sh -x
2
3 srcdir=${srcdir-.}
4 builddir=${builddir-.}
5
6 name=canonicalise
7 prog="$builddir/$name$EXEEXT"
8 log="$builddir/$name.log"
9
10 log_kccgst()
11 {
12     echo "  keycodes: $1" >>"$log"
13     echo "  compat: $2" >>"$log"
14     echo "  geometry: $3" >>"$log"
15     echo "  symbols: $4" >>"$log"
16     echo "  types: $5" >>"$log"
17 }
18
19 rm -f "$log"
20
21 test() {
22     ret=`$prog $2 $3`
23     echo "Input (new):" >>"$log"
24     log_kccgst $2
25     echo >>"$log"
26     echo "Input (old):" >>"$log"
27     log_kccgst $3
28     echo >>"$log"
29     echo "Expecting:" >>"$log"
30     log_kccgst $1
31     echo >>"$log"
32     echo "Received:" >>"$log"
33     log_kccgst $ret
34     echo >>"$log"
35
36     ret=`echo "$ret" | sed -e 's/[  ]*/ /g;'`
37     exp=`echo "$1" | sed -e 's/[  ]*/ /g;'`
38
39     if ! [ "$ret" = "$exp" ]; then
40         echo "Error: Return and expectations different" >>"$log"
41         exit 1
42     fi
43 }
44
45 # This is a bit of a horror, but I can't really remember how to properly
46 # handle arrays in shell, and I'm offline.
47 twopart_new="+inet(pc104)        %+complete     pc104   pc(pc104)+%+ctrl(nocaps)          |complete"
48 twopart_old="xfree86             basic          invalid us(dvorak)                        xfree86"
49 twopart_exp="xfree86+inet(pc104) basic+complete pc104   pc(pc104)+us(dvorak)+ctrl(nocaps) xfree86|complete"
50
51 onepart_new="evdev               complete       pc104   pc(pc104)+us+compose(ralt)        complete"
52 onepart_exp="evdev               complete       pc104   pc(pc104)+us+compose(ralt)        complete"
53
54 test "$twopart_exp" "$twopart_new" "$twopart_old"
55 echo >>"$log"
56 echo >>"$log"
57 test "$onepart_exp" "$onepart_new"