-
Notifications
You must be signed in to change notification settings - Fork 270
/
klltest.bash
executable file
·100 lines (70 loc) · 2.21 KB
/
klltest.bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#!/usr/bin/env bash
# This is a build and test script used to test KLL functionality
# It runs on the host system and doesn't require a device to flash onto
# Jacob Alexander 2016-2018
#################
# Configuration #
#################
# Feel free to change the variables in this section to configure your keyboard
BuildPath="klltest"
## KLL Configuration ##
# Generally shouldn't be changed, this will affect every layer
BaseMap="scancode_map"
# This is the default layer of the keyboard
# NOTE: To combine kll files into a single layout, separate them by spaces
# e.g. DefaultMap="mylayout mylayoutmod"
DefaultMap="ic60/macro_test animation_test klltest_default stdFuncMap"
# This is where you set the additional layers
# NOTE: Indexing starts at 1
# NOTE: Each new layer is another array entry
# e.g. PartialMaps[1]="layer1 layer1mod"
# PartialMaps[2]="layer2"
# PartialMaps[3]="layer3"
PartialMaps[1]="ic60/hhkbpro2"
PartialMaps[2]="colemak"
PartialMaps[3]="klltest"
##########################
# Advanced Configuration #
##########################
# Don't change the variables in this section unless you know what you're doing
# These are useful for completely custom keyboards
# NOTE: Changing any of these variables will require a force build to compile correctly
# Keyboard Module Configuration
ScanModule="TestIn"
#MacroModule="PartialMap"
MacroModule="PixelMap"
OutputModule="TestOut"
DebugModule="full"
# Microcontroller
Chip="host"
# Compiler Selection
Compiler="gcc"
# Enable run-time sanitizers
EnableSanitizer=true
CMakeExtraArgs="-DSANITIZER=1"
########################
# Bash Library Include #
########################
# Shouldn't need to touch this section
# Check if the library can be found
if [ ! -f ../cmake.bash ]; then
echo "ERROR: Cannot find 'cmake.bash'"
exit 1
fi
# Override CMakeLists path
CMakeListsPath="../../.."
# Not Supported on Cygwin
if [[ $(uname -s) == MINGW32_NT* ]] || [[ $(uname -s) == CYGWIN* ]]; then
echo "macrotest.bash is unsupported on Cygwin. As are any host-side kll tests."
exit 0
fi
# Load the library
source "../cmake.bash"
# Load common functions
source "../common.bash"
# Run tests
cd "${BuildPath}"
cmd python3 Tests/kll.py
# Tally results
result
exit $?