Add generate script for completion tests
This commit is contained in:
parent
90fc7be011
commit
466fc03e28
68
test/generate
Executable file
68
test/generate
Executable file
@ -0,0 +1,68 @@
|
|||||||
|
#!/bin/bash -eu
|
||||||
|
# Generate skeleton files for completion of specified command.
|
||||||
|
# Test skeleton files are generated as well.
|
||||||
|
# @param $1 string Command, e.g. 'make'
|
||||||
|
# @param $2 string Completion function, e.g. _command
|
||||||
|
# @param $3 string Completion arguments, e.g. '-o filenames'
|
||||||
|
|
||||||
|
|
||||||
|
# Generate test code
|
||||||
|
# @param $1 string Command, e.g. 'make'
|
||||||
|
generate_test_completion() {
|
||||||
|
local path="completion/$1.exp"
|
||||||
|
# Does file already exist?
|
||||||
|
#if [ ! -f "$path" ]; then
|
||||||
|
# No, file doesn't exist; generate file
|
||||||
|
cat <<EXPECT > "$path"
|
||||||
|
if {[assert_bash_type $1]} {
|
||||||
|
source "lib/completions/$1.exp"
|
||||||
|
}; # if
|
||||||
|
EXPECT
|
||||||
|
#fi
|
||||||
|
} # generate_test_completion()
|
||||||
|
|
||||||
|
|
||||||
|
# Generate test code
|
||||||
|
# @param $1 string Command, e.g. 'make'
|
||||||
|
# @param $2 string Completion function, e.g. _command
|
||||||
|
# @param $3 string Completion arguments, e.g. ' -o filenames'
|
||||||
|
generate_test_lib_completions() {
|
||||||
|
local path="lib/completions/$1.exp"
|
||||||
|
# Does file already exist?
|
||||||
|
#if [ ! -f "$path" ]; then
|
||||||
|
# No, file doesn't exist; generate file
|
||||||
|
cat <<EXPECT > "$path"
|
||||||
|
proc setup {} {
|
||||||
|
save_env
|
||||||
|
}; # setup()
|
||||||
|
|
||||||
|
|
||||||
|
proc teardown {} {
|
||||||
|
assert_env_unmodified
|
||||||
|
}; # teardown()
|
||||||
|
|
||||||
|
|
||||||
|
setup
|
||||||
|
|
||||||
|
|
||||||
|
assert_complete_any "$1 "
|
||||||
|
|
||||||
|
|
||||||
|
sync_after_int
|
||||||
|
|
||||||
|
|
||||||
|
teardown
|
||||||
|
EXPECT
|
||||||
|
#fi
|
||||||
|
} # generate_test_lib_completions()
|
||||||
|
|
||||||
|
|
||||||
|
# If argument count is wrong, show help
|
||||||
|
if [ $# -ne 1 ]; then
|
||||||
|
echo "Usage: $0 command"
|
||||||
|
echo "Example: $0 make"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
generate_test_completion "$1"
|
||||||
|
generate_test_lib_completions "$1"
|
Loading…
x
Reference in New Issue
Block a user