Skip to content

Commit 0f835b5

Browse files
henrikbrixandersencarlescufi
authored andcommitted
scripts: west: commands: completion: add bash completion for twister
Add bash shell completion for the "west twister" command. Signed-off-by: Henrik Brix Andersen <[email protected]>
1 parent 32b69f5 commit 0f835b5

File tree

1 file changed

+170
-0
lines changed

1 file changed

+170
-0
lines changed

scripts/west_commands/completion/west-completion.bash

+170
Original file line numberDiff line numberDiff line change
@@ -930,6 +930,175 @@ __comp_west_blobs()
930930
esac
931931
}
932932

933+
__comp_west_twister()
934+
{
935+
local bool_opts="
936+
--aggressive-no-clean
937+
--all -l
938+
--all-deltas -D
939+
--allow-installed-plugin
940+
--build-only -b
941+
--clobber-output -c
942+
--cmake-only
943+
--coverage -C
944+
--create-rom-ram-report
945+
--detailed-skipped-report
946+
--detailed-test-id
947+
--device-flash-with-test
948+
--device-testing
949+
--disable-suite-name-check
950+
--disable-unrecognized-section-test
951+
--disable-warnings-as-errors -W
952+
--dry-run -y
953+
--emulation-only
954+
--enable-asan
955+
--enable-coverage
956+
--enable-lsan
957+
--enable-size-report
958+
--enable-slow -S
959+
--enable-slow-only
960+
--enable-ubsan
961+
--enable-valgrind
962+
--flash-before
963+
--footprint-from-buildlog
964+
--force-color
965+
--force-platform -K
966+
--force-toolchain
967+
--ignore-platform-key
968+
--inline-logs -i
969+
--integration -G
970+
--last-metrics -m
971+
--list-tags
972+
--list-tests
973+
--make -k
974+
--ninja -N
975+
--no-clean -n
976+
--no-detailed-test-id
977+
--no-update -u
978+
--only-failed -f
979+
--overflow-as-errors
980+
--persistent-hardware-map
981+
--platform-reports
982+
--prep-artifacts-for-testing
983+
--quarantine-verify
984+
--retry-build-errors
985+
--short-build-path
986+
--show-footprint
987+
--shuffle-tests
988+
--test-only
989+
--test-tree
990+
--timestamps
991+
--verbose -v
992+
"
993+
994+
local dir_opts="
995+
--alt-config-root
996+
--board-root -A
997+
--coverage-basedir
998+
--outdir -O
999+
--report-dir -o
1000+
--testsuite-root -T
1001+
"
1002+
1003+
local file_opts="
1004+
--compare-report
1005+
--device-serial
1006+
--device-serial-pty
1007+
--gcov-tool
1008+
--generate-hardware-map
1009+
--hardware-map
1010+
--load-tests -F
1011+
--log-file
1012+
--package-artifacts
1013+
--pre-script
1014+
--quarantine-list
1015+
--save-tests -E
1016+
--size -z
1017+
--test-config
1018+
"
1019+
1020+
local special_opts="
1021+
--coverage-platform
1022+
--coverage-tool
1023+
--exclude-platform -P
1024+
--filter
1025+
--platform -p
1026+
--runtime-artifact-cleanup -M
1027+
"
1028+
1029+
local other_opts="
1030+
--arch -a
1031+
--coverage-formats
1032+
--device-flash-timeout
1033+
--device-serial-baud
1034+
--exclude-tag -e
1035+
--extra-args -x
1036+
--fixture -X
1037+
--footprint-threshold -H
1038+
--jobs -j
1039+
--level
1040+
--pytest-args
1041+
--report-name
1042+
--report-suffix
1043+
--retry-failed
1044+
--retry-interval
1045+
--scenario --test -s
1046+
--seed
1047+
--shuffle-tests-seed
1048+
--sub-test
1049+
--subset -B
1050+
--tag -t
1051+
--timeout-multiplier
1052+
--vendor
1053+
--west-flash
1054+
--west-runner
1055+
"
1056+
1057+
all_opts="$bool_opts $dir_opts $file_opts $special_opts $other_opts"
1058+
1059+
case "$prev" in
1060+
--platform|-p|--exclude-platform|-P|--coverage-platform)
1061+
__set_comp_west_boards
1062+
return
1063+
;;
1064+
1065+
--coverage-tool)
1066+
__set_comp "gcovr lcov"
1067+
return
1068+
;;
1069+
1070+
--filter)
1071+
__set_comp "buildable runnable"
1072+
return
1073+
;;
1074+
1075+
--runtime-artifact-cleanup|-M)
1076+
__set_comp "all pass"
1077+
return
1078+
;;
1079+
1080+
$(__west_to_extglob "$dir_opts") )
1081+
__set_comp_dirs
1082+
return
1083+
;;
1084+
1085+
$(__west_to_extglob "$file_opts") )
1086+
__set_comp_files
1087+
return
1088+
;;
1089+
1090+
# We don't know how to autocomplete those
1091+
$(__west_to_extglob "$other_opts") )
1092+
return
1093+
;;
1094+
esac
1095+
1096+
case "$cur" in
1097+
-*)
1098+
__set_comp $all_opts
1099+
;;
1100+
esac
1101+
}
9331102

9341103
__comp_west()
9351104
{
@@ -963,6 +1132,7 @@ __comp_west()
9631132
zephyr-export
9641133
spdx
9651134
blobs
1135+
twister
9661136
)
9671137

9681138
local cmds=(${builtin_cmds[*]} ${zephyr_ext_cmds[*]})

0 commit comments

Comments
 (0)