blob: 802c6c2c9ed87f8e59e7be6cd8f85b90cc72ce03 [file] [log] [blame]
AT_BANNER([libkeymap unit tests])
AT_SETUP([test 01 (parse charset from keymap)])
AT_KEYWORDS([libkeymap unittest])
UNITTEST_MEMCHECK([$abs_builddir/libkeymap/libkeymap-test01])
AT_CLEANUP
AT_SETUP([test 02 (default charset without declarations)])
AT_KEYWORDS([libkeymap unittest])
UNITTEST_MEMCHECK([$abs_builddir/libkeymap/libkeymap-test02])
AT_CLEANUP
AT_SETUP([test 03 (set context options and logging)])
AT_KEYWORDS([libkeymap unittest])
UNITTEST_MEMCHECK([$abs_builddir/libkeymap/libkeymap-test03])
AT_CLEANUP
AT_SETUP([test 04 (free valid and null contexts)])
AT_KEYWORDS([libkeymap unittest])
UNITTEST_MEMCHECK([$abs_builddir/libkeymap/libkeymap-test04])
AT_CLEANUP
AT_SETUP([test 05 (resolve key symbols and codes)])
AT_KEYWORDS([libkeymap unittest])
UNITTEST_MEMCHECK([$abs_builddir/libkeymap/libkeymap-test05])
AT_CLEANUP
AT_SETUP([test 06 (read shifted key values)])
AT_KEYWORDS([libkeymap unittest])
UNITTEST_MEMCHECK([$abs_builddir/libkeymap/libkeymap-test06])
AT_CLEANUP
AT_SETUP([test 07 (propagate key across all maps)])
AT_KEYWORDS([libkeymap unittest])
UNITTEST_MEMCHECK([$abs_builddir/libkeymap/libkeymap-test07])
AT_CLEANUP
AT_SETUP([test 08 (read per-map alphabet entries)])
AT_KEYWORDS([libkeymap unittest])
UNITTEST_MEMCHECK([$abs_builddir/libkeymap/libkeymap-test08])
AT_CLEANUP
AT_SETUP([test 09 (resolve include files from env path)])
AT_KEYWORDS([libkeymap unittest])
UNITTEST_MEMCHECK([$abs_builddir/libkeymap/libkeymap-test09])
AT_CLEANUP
AT_SETUP([test 10 (iterate and delete functions)])
AT_KEYWORDS([libkeymap unittest])
UNITTEST_MEMCHECK([$abs_builddir/libkeymap/libkeymap-test10])
AT_CLEANUP
AT_SETUP([test 11 (reject missing functions)])
AT_KEYWORDS([libkeymap unittest])
UNITTEST_MEMCHECK([$abs_builddir/libkeymap/libkeymap-test11])
AT_CLEANUP
AT_SETUP([test 12 (add duplicate and large map indices)])
AT_KEYWORDS([libkeymap unittest])
UNITTEST_MEMCHECK([$abs_builddir/libkeymap/libkeymap-test12])
AT_CLEANUP
AT_SETUP([test 13 (count maps in kmap info)])
AT_KEYWORDS([libkeymap unittest])
UNITTEST_MEMCHECK([$abs_builddir/libkeymap/libkeymap-test13])
AT_CLEANUP
AT_SETUP([test 14 (accept out-of-range map and key indices)])
AT_KEYWORDS([libkeymap unittest])
UNITTEST_MEMCHECK([$abs_builddir/libkeymap/libkeymap-test14])
AT_CLEANUP
AT_SETUP([test 15 (store regular keys and holes)])
AT_KEYWORDS([libkeymap unittest])
UNITTEST_MEMCHECK([$abs_builddir/libkeymap/libkeymap-test15])
AT_CLEANUP
AT_SETUP([test 16 (roundtrip stored key value)])
AT_KEYWORDS([libkeymap unittest])
UNITTEST_MEMCHECK([$abs_builddir/libkeymap/libkeymap-test16])
AT_CLEANUP
AT_SETUP([test 17 (add function strings)])
AT_KEYWORDS([libkeymap unittest])
UNITTEST_MEMCHECK([$abs_builddir/libkeymap/libkeymap-test17])
AT_CLEANUP
AT_SETUP([test 18 (append many accent entries)])
AT_KEYWORDS([libkeymap unittest])
UNITTEST_MEMCHECK([$abs_builddir/libkeymap/libkeymap-test18])
AT_CLEANUP
AT_SETUP([test 19 (load accent table from kernel ioctl)])
AT_KEYWORDS([libkeymap unittest])
UNITTEST_MEMCHECK([$abs_builddir/libkeymap/libkeymap-test21])
AT_CLEANUP
AT_SETUP([test 20 (load function strings from kernel ioctl)])
AT_KEYWORDS([libkeymap unittest])
UNITTEST_MEMCHECK([$abs_builddir/libkeymap/libkeymap-test22])
AT_CLEANUP
AT_SETUP([test 21 (load keymap entries from kernel ioctl)])
AT_KEYWORDS([libkeymap unittest])
UNITTEST_MEMCHECK([$abs_builddir/libkeymap/libkeymap-test23])
AT_CLEANUP
AT_SETUP([test 22 (render alt-is-meta maps)])
AT_KEYWORDS([libkeymap unittest])
cp -f -- \
"$abs_srcdir/data/alt-is-meta/alt-is-meta.output" \
expout
UNITTEST_MEMCHECK([$abs_builddir/helpers/libkeymap-showmaps $abs_srcdir/data/alt-is-meta/alt-is-meta.map],
[0], [expout])
AT_CLEANUP
AT_SETUP([test 23 (dump binary defkeymap)])
AT_KEYWORDS([libkeymap unittest])
AT_SKIP_IF([ test "$(arch)" != "x86_64" ])
cp -f -- \
"$abs_srcdir/data/bkeymap-2.0.4/defkeymap.map.bin" \
expout
UNITTEST_MEMCHECK([$abs_builddir/helpers/libkeymap-bkeymap $abs_srcdir/../data/keymaps/i386/qwerty/defkeymap.map],
[0], [expout])
AT_CLEANUP
AT_SETUP([test 24 (load keymaps with manual clear fallback)])
AT_KEYWORDS([libkeymap unittest])
UNITTEST_MEMCHECK([$abs_builddir/libkeymap/libkeymap-test24])
AT_CLEANUP
AT_SETUP([test 25 (generate keymap table source)])
AT_KEYWORDS([libkeymap unittest])
cp -f -- \
"$abs_srcdir/data/dumpkeys-mktable/defkeymap.c" \
expout
UNITTEST_MEMCHECK([$abs_builddir/helpers/libkeymap-mktable $abs_srcdir/../data/keymaps/i386/qwerty/defkeymap.map],
[0], [expout])
AT_CLEANUP
AT_SETUP([test 26 (dump full table in numeric mode)])
AT_KEYWORDS([libkeymap unittest])
suffix=
case "$(arch)" in
ppc|ppc32|ppc32le|ppc64|ppc64le|ppc64*series)
suffix=".ppc"
;;
esac
cp -f -- \
"$abs_srcdir/data/dumpkeys-fulltable/ruwin_cplk-UTF-8.map$suffix" \
expout
UNITTEST_MEMCHECK([$abs_builddir/helpers/libkeymap-dumpkeys $abs_srcdir/data/dumpkeys-fulltable/ruwin_cplk-UTF-8.map FULL_TABLE TRUE],
[0], [expout])
AT_CLEANUP
AT_SETUP([test 27 (dump full table in default mode)])
AT_KEYWORDS([libkeymap unittest])
cp -f -- \
"$abs_srcdir/data/dumpkeys-fulltable/qwerty-layout.map" \
expout
UNITTEST_MEMCHECK([$abs_builddir/helpers/libkeymap-dumpkeys $abs_srcdir/data/dumpkeys-fulltable/qwerty-layout.map DEFAULT FALSE],
[0], [expout])
AT_CLEANUP
AT_SETUP([test 28 (dump full table as separate lines)])
AT_KEYWORDS([libkeymap unittest])
sed -n \
-e 's/#\(keymaps[[:space:]]\+\)/\1/p' \
"$abs_srcdir/data/dumpkeys-fulltable/ua-ws.map" > expout
AT_CHECK([$abs_builddir/helpers/libkeymap-dumpkeys $abs_srcdir/data/dumpkeys-fulltable/ua-ws.map SEPARATE_LINES FALSE |
grep '^keymaps '
],
[0], [expout])
AT_CLEANUP
AT_SETUP([test 29 (build binary keymap us.map)])
AT_KEYWORDS([libkeymap unittest])
AT_SKIP_IF([ test "$(arch)" != "x86_64" ])
cp -f -- \
"$abs_srcdir/data/bkeymap-2.0.4/us.map.bin" \
expout
UNITTEST_MEMCHECK([$abs_top_builddir/src/loadkeys -b "$abs_srcdir/data/keymaps/i386/qwerty/us.map"],
[0], [expout])
AT_CLEANUP
AT_SETUP([test 30 (build binary keymap pt-latin9.map)])
AT_KEYWORDS([libkeymap unittest])
AT_SKIP_IF([ test "$(arch)" != "x86_64" ])
cp -f -- \
"$abs_srcdir/data/bkeymap-2.0.4/pt-latin9.map.bin" \
expout
UNITTEST_MEMCHECK([$abs_top_builddir/src/loadkeys -b "$abs_srcdir/data/keymaps/i386/qwerty/pt-latin9.map"],
[0], [expout])
AT_CLEANUP
AT_SETUP([test 31 (build binary keymap cz.map)])
AT_KEYWORDS([libkeymap unittest])
AT_SKIP_IF([ test "$(arch)" != "x86_64" ])
cp -f -- \
"$abs_srcdir/data/bkeymap-2.0.4/cz.map.bin" \
expout
UNITTEST_MEMCHECK([$abs_top_builddir/src/loadkeys -b "$abs_srcdir/data/keymaps/i386/qwerty/cz.map"],
[0], [expout])
AT_CLEANUP
AT_SETUP([test 32 (render summary and symbol tables)])
AT_KEYWORDS([libkeymap unittest])
cp -f -- \
"$abs_srcdir/data/keymap0-summary.txt" \
expout
UNITTEST_MEMCHECK([$abs_builddir/libkeymap/libkeymap-test19], [0], [expout])
AT_CLEANUP
AT_SETUP([test 33 (edit compose table entries)])
AT_KEYWORDS([libkeymap unittest])
cp -f -- \
"$abs_srcdir/data/keymap7-compose-as-usual.txt" \
expout
UNITTEST_MEMCHECK([$abs_builddir/libkeymap/libkeymap-test20], [0], [expout])
AT_CLEANUP
AT_SETUP([test 34 (switch keyboard mode during Unicode load)])
AT_KEYWORDS([libkeymap unittest])
UNITTEST_MEMCHECK([$abs_builddir/libkeymap/libkeymap-test25])
AT_CLEANUP
AT_SETUP([test 35 (abort when Unicode mode switch fails)])
AT_KEYWORDS([libkeymap unittest])
UNITTEST_MEMCHECK([$abs_builddir/libkeymap/libkeymap-test26])
AT_CLEANUP
AT_SETUP([test 36 (abort on KDSKBENT permission errors)])
AT_KEYWORDS([libkeymap unittest])
UNITTEST_MEMCHECK([$abs_builddir/libkeymap/libkeymap-test27])
AT_CLEANUP
AT_SETUP([test 37 (abort on KDSKBENT I/O errors)])
AT_KEYWORDS([libkeymap unittest])
UNITTEST_MEMCHECK([$abs_builddir/libkeymap/libkeymap-test28])
AT_CLEANUP
AT_SETUP([test 38 (load and clear function strings)])
AT_KEYWORDS([libkeymap unittest])
UNITTEST_MEMCHECK([$abs_builddir/libkeymap/libkeymap-test29])
AT_CLEANUP
AT_SETUP([test 39 (load compose definitions through KDSKBDIACR)])
AT_KEYWORDS([libkeymap unittest])
UNITTEST_MEMCHECK([$abs_builddir/libkeymap/libkeymap-test30])
AT_CLEANUP
AT_SETUP([test 40 (parse valid in-memory keymap definitions)])
AT_KEYWORDS([libkeymap unittest])
UNITTEST_MEMCHECK([$abs_builddir/libkeymap/libkeymap-test31])
AT_CLEANUP
AT_SETUP([test 41 (reject invalid in-memory keymap definitions)])
AT_KEYWORDS([libkeymap unittest])
UNITTEST_MEMCHECK([$abs_builddir/libkeymap/libkeymap-test32])
AT_CLEANUP
AT_SETUP([test 42 (dump keymaps in supported output formats)])
AT_KEYWORDS([libkeymap unittest])
UNITTEST_MEMCHECK([$abs_builddir/libkeymap/libkeymap-test43])
AT_CLEANUP
AT_SETUP([test 43 (exercise helper and kernel-backed keymap paths)])
AT_KEYWORDS([libkeymap unittest])
UNITTEST_MEMCHECK([$abs_builddir/libkeymap/libkeymap-test44])
AT_CLEANUP
AT_SETUP([test 44 (parse lexer-driven positive keymap edge cases)])
AT_KEYWORDS([libkeymap unittest])
UNITTEST_MEMCHECK([$abs_builddir/libkeymap/libkeymap-test50])
AT_CLEANUP
AT_SETUP([test 45 (reject lexer-driven malformed keymap input)])
AT_KEYWORDS([libkeymap unittest])
UNITTEST_MEMCHECK([$abs_builddir/libkeymap/libkeymap-test51])
AT_CLEANUP
AT_SETUP([test 46 (resolve include files across override and symlink cases)])
AT_KEYWORDS([libkeymap unittest])
UNITTEST_MEMCHECK([$abs_builddir/libkeymap/libkeymap-test52])
AT_CLEANUP
AT_SETUP([test 47 (round-trip parse and canonical dump representative keymaps)])
AT_KEYWORDS([libkeymap unittest])
UNITTEST_MEMCHECK([$abs_builddir/libkeymap/libkeymap-test53])
AT_CLEANUP