`_known_hosts_real' will add hosts from HOSTFILE (compgen -A hostname), unless
`COMP_KNOWN_HOSTS_WITH_HOSTFILE' is set to an empty value.
To run the unit tests:
$ cd test && ./runUnit _known_hosts_real.exp
- -F<TAB> (without a space) now also completes.
- Fixed error when completion -F with file containing spaces
- Call _filedir instead of _filedirs in sftp
NOTE: Because the ssh & sftp completions don't have `-o filenames' in
effect, _filedir won't escape spaces in filenames. This can be seen in
the tests as "expected failures (XFAIL)". See also:
http://lists.alioth.debian.org/pipermail/bash-completion-devel/2009-July/001766.html
To run the tests:
cd test && ./runCompletion ssh.exp scp.exp sftp.exp
This mimics the old behaviour where you could reuse `_known_hosts()' as
a helper function and pass it `-a' or `-c'.
NOTE: Using `_known_hosts' as a helper function and passing options to
`_known_hosts' is deprecated: Use `_known_hosts_real' instead.
Fixed `assert_complete()' to remove an optional (partial) argument from
`cmd' when expecting `cmd + longestCommonPrefix'.
Added `prompt' argument to procs `assert_bash_exec()' &
`sync_after_int()'
Some tests failed with label `failed', which is incorrect because the
completions just weren't installed. Completions weren't installed
because the commands to complete weren't installed.
Fixed so that if commands aren't available, the tests fail with label
`unsupported'.
The local timeout settings `-timeout 1' in some loops seemed to cause
inpredictable results, e.g. with `./runCompletion dkpg.exp' since this
test has a long list to match. Sometimes the `spawn_id' was gone before
the `teardown' method was called.
Removing the short timeout seems to give more predictable results.
Fix `assert_complete' to expect the longest common prefix to be presented as completion.
When trying to do a:
package require textutil::string
it appeared DejaGnu overwrites `unknown', the tcl function that is called to attempt autoloading. A workaround is used for tcl auto-loading to work: `init.tcl' is reloaded to restore the original `unknown' function:
source [file join [info library] init.tcl]
See also: http://fvue.nl/wiki/DejaGnu:_proc_"tclPkgUnknown_..."_does_not_exist
`match_items()' now uses bash sort instead of tcl lsort.
The difference in sorting happens because bash and tcl use a different sorting order:
* bash sort uses the current locale's collating sequence and character set
* tcl lsort uses a C-like sort order where each character is sorted according to its numeric value
See also: http://fvue.nl/wiki/Tcl:_Lsort_output_differs_from_bash_sort
This fix allows the `dpkg -L' test to compare all packages. To run the test:
./runCompletion dpkg.exp