AT_BANNER([utilities unit tests]) AT_PREPARE_EACH_TEST([ LOADKEYS_KEYMAP_PATH="$abs_top_srcdir/tests/data/keymaps" ]) AT_SETUP([loadkeys mutually exclusive options]) AT_KEYWORDS([utils unittest]) AT_SKIP_IF([ ! $abs_top_builddir/src/kbdinfo getmode >/dev/null 2>&1 ]) cat >experr </dev/null 2>&1 ]) echo > defkeymap.map AT_CHECK([$abs_top_builddir/src/loadkeys --default --parse]) AT_CLEANUP AT_SETUP([loadkeys prefer unicode with keymap file]) AT_KEYWORDS([utils unittest]) AT_SKIP_IF([ ! $abs_top_builddir/src/kbdinfo getmode >/dev/null 2>&1 ]) AT_CHECK([$abs_top_builddir/src/loadkeys -q -c -s -u --parse "$LOADKEYS_KEYMAP_PATH/i386/qwerty/cz.map"]) AT_CLEANUP AT_SETUP([loadkeys prefer unicode with stdin]) AT_KEYWORDS([utils unittest]) AT_SKIP_IF([ ! $abs_top_builddir/src/kbdinfo getmode >/dev/null 2>&1 ]) AT_CHECK([$abs_top_builddir/src/loadkeys -q -c -s -u --parse < "$LOADKEYS_KEYMAP_PATH/i386/qwerty/cz.map"]) AT_CLEANUP AT_SETUP([loadkeys prefer unicode with stdin file]) AT_KEYWORDS([utils unittest]) AT_SKIP_IF([ ! $abs_top_builddir/src/kbdinfo getmode >/dev/null 2>&1 ]) AT_CHECK([$abs_top_builddir/src/loadkeys -q -c -s -u --parse - < "$LOADKEYS_KEYMAP_PATH/i386/qwerty/cz.map"]) AT_CLEANUP AT_SETUP([loadkeys roundtrip]) AT_KEYWORDS([utils unittest]) AT_SKIP_IF([ ! $abs_top_builddir/src/kbdinfo getmode >/dev/null 2>&1 ]) for keymap in "qwerty/us" "qwerty/cz" "qwerty/ru3"; do for shape in 2 4 8 16; do echo "Testing $keymap, shape: $shape" AT_CHECK([$abs_top_builddir/src/loadkeys -q -u --tkeymap="$shape" "$LOADKEYS_KEYMAP_PATH/i386/$keymap.map"], [0], [stdout]) AT_CHECK([test -s stdout]) cp -f -- stdout expout AT_CHECK([$abs_top_builddir/src/loadkeys -q -u --tkeymap="$shape" stdout], [0], [expout]) done done AT_CLEANUP AT_SETUP([loadkeys pipe tkeymap to mktable]) AT_KEYWORDS([utils unittest]) AT_SKIP_IF([ ! $abs_top_builddir/src/kbdinfo getmode >/dev/null 2>&1 ]) for keymap in "qwerty/us" "qwerty/cz" "qwerty/ru3"; do for shape in 2 4 8 16; do echo "Testing $keymap, shape: $shape" AT_CHECK([$abs_top_builddir/src/loadkeys -q -u --mktable "$LOADKEYS_KEYMAP_PATH/i386/$keymap.map"], [0], [stdout]) AT_CHECK([test -s stdout]) cp -f -- stdout expout AT_CHECK([ $abs_top_builddir/src/loadkeys -q -u --tkeymap="$shape" "$LOADKEYS_KEYMAP_PATH/i386/$keymap.map" | $abs_top_builddir/src/loadkeys -q -u --mktable - ], [0], [expout]) done done AT_CLEANUP AT_SETUP([check parsing and restoration of alt_is_meta]) AT_KEYWORDS([utils unittest]) AT_SKIP_IF([ ! $abs_top_builddir/src/kbdinfo getmode >/dev/null 2>&1 ]) AT_CHECK([ printf '%s\n' 'alt_is_meta' 'include "qwerty-layout"' | LOADKEYS_INCLUDE_PATH="$LOADKEYS_KEYMAP_PATH/i386/include" \ $abs_top_builddir/src/loadkeys -q -u --tkeymap=2 - ], [0], [stdout]) cp -f -- stdout expout AT_CHECK([grep -qs alt_is_meta stdout]) AT_CHECK([LOADKEYS_KEYMAP_PATH="$PWD" $abs_top_builddir/src/loadkeys -q -u --tkeymap=2 stdout], [0], [expout]) AT_CLEANUP