mirror of
https://github.com/libguestfs/libguestfs.git
synced 2026-03-21 22:53:37 +00:00
bash completion: Add a simple test that the 'complete' command is not missing.
This commit is contained in:
@@ -54,7 +54,8 @@ symlinks = \
|
||||
# Note: Don't distribute the symbolic links, only the real files.
|
||||
EXTRA_DIST = \
|
||||
README \
|
||||
$(scripts)
|
||||
$(scripts) \
|
||||
$(TESTS)
|
||||
|
||||
CLEANFILES = \
|
||||
$(symlinks)
|
||||
@@ -96,3 +97,13 @@ clean-local:
|
||||
-test $(srcdir) != $(builddir) && rm -f $(scripts)
|
||||
|
||||
endif
|
||||
|
||||
# Tests.
|
||||
TESTS_ENVIRONMENT = \
|
||||
scripts="$(scripts)" \
|
||||
symlinks="$(scripts)" \
|
||||
commands="$(scripts) $(symlinks)" \
|
||||
$(top_builddir)/run --test
|
||||
|
||||
TESTS = \
|
||||
test-complete-in-script.sh
|
||||
|
||||
45
bash/test-complete-in-script.sh
Executable file
45
bash/test-complete-in-script.sh
Executable file
@@ -0,0 +1,45 @@
|
||||
#!/bin/bash -
|
||||
# libguestfs bash completion test script
|
||||
# Copyright (C) 2016 Red Hat Inc.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
# Test that the correct 'complete' command is included in the script.
|
||||
# Mainly prevents symlinking errors and some omissions.
|
||||
|
||||
unset CDPATH
|
||||
export LANG=C
|
||||
|
||||
if [ -n "$SKIP_TEST_COMPLETE_IN_SCRIPT_SH" ]; then
|
||||
echo "$0: test skipped because environment variable is set"
|
||||
exit 77
|
||||
fi
|
||||
|
||||
if [ -z "$commands" ]; then
|
||||
echo "$0: \$commands is not defined. Use 'make check' to run this test."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
for cmd in $commands; do
|
||||
if [ ! -f $cmd ]; then
|
||||
echo "$0: script or symlink '$cmd' is missing"
|
||||
exit 1
|
||||
fi
|
||||
if ! grep "^complete.*$cmd\$" $cmd; then
|
||||
echo "$0: script or symlink '$cmd' does not have"
|
||||
echo "a 'complete' rule for '$cmd'"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
Reference in New Issue
Block a user