136 Commits

Author SHA1 Message Date
Ville Skyttä
51a772f99f (testsuite) assert_exec() default test title grammar fix. 2010-01-14 20:19:52 +02:00
Ville Skyttä
9f49a10117 (testsuite) Escape more regexp metacharacters. 2010-01-09 12:46:49 +02:00
Ville Skyttä
66f5c11ab7 (testsuite) Add simple rpm completion tests. 2010-01-09 12:24:19 +02:00
Ville Skyttä
eb70bc8431 (testsuite) Fix ypmatch test case.
Completion is done for ypmatch's 2nd arg only at the moment.
2010-01-06 13:20:28 +02:00
Ville Skyttä
77dee3a323 (testsuite) FreeBSD and Solaris sed compatibility fixes.
The linefeed between the final "d" and "}" seems to be significant for
these versions of sed.  And they are quite anal about comments, so
move them outside of the sed statement here.
2010-01-03 23:49:19 +02:00
Ville Skyttä
25a0fcf1b4 Hook up openssl tests, do env modification checks. 2010-01-03 16:25:33 +02:00
Ville Skyttä
360b3dbe19 (testsuite) Indentation fixes. 2010-01-03 15:56:00 +02:00
Ville Skyttä
3d43cdfd2b (testsuite) Remove some obsolete comments. 2010-01-03 15:52:18 +02:00
Ville Skyttä
ec3227366a (testsuite) Make diff_env() compatible with Solaris sed.
It appears to tolerate comments only at beginning of line.
2010-01-03 15:42:32 +02:00
Guillaume Rousse
38516ee431 Merge branch 'master' of git+ssh://git.debian.org/git/bash-completion/bash-completion 2009-12-31 17:36:20 +01:00
Freddy Vulto
3f0bfbc5ae Fix __reassemble_comp_words_by_ref()
Completing "a b " returned cur=b instead of cur=nothing if a wordbreak
character was specified.
2009-12-31 11:12:15 +01:00
Ville Skyttä
9c402241c4 Add rtcwake completion. 2009-12-30 22:59:17 +02:00
Freddy Vulto
f321c377af (testsuite) Delete directory fixtures/_filedir/a\b
Directories `a\b' and `a*b' are now created run-time on a
non-Cygwin/Windows system only.  Tests concerning these directories will
also be run only on a non-Cygwin/Windows system.
(Alioth #312191)
2009-12-30 14:48:17 +01:00
Freddy Vulto
3251038c9d Fix __reassemble_comp_words_by_ref()
On bash-3, completing a b c: with COMP_WORDBREAKS -= : would result in the
current word being bc: (Alioth #312190)

Added unit test, run via:

    ./run unit/_get_cword.exp
2009-12-30 09:43:16 +01:00
Guillaume Rousse
2e1b780d84 remove individual authorship notices, I'm already present in the AUTHORS file 2009-12-30 00:00:55 +01:00
Guillaume Rousse
4d4b6e9ba6 add support for test suite 2009-12-29 23:39:06 +01:00
Guillaume Rousse
3d584c94cb set BASH_COMPLETION_COMPAT_DIR to BASH_COMPLETION_DIR, to avoid sourcing actual /etc/completion.d directory before tests 2009-12-29 23:07:06 +01:00
Guillaume Rousse
84c20852a3 ensure HOME is changed before running test, to avoid polluting known_hosts result with tester environment 2009-12-29 23:05:28 +01:00
Raphaël Droz
14588b8491 Add xsltproc completion (Alioth: #311843). 2009-12-29 00:10:13 +02:00
Ville Skyttä
d15c096f0b Add cvsps completion. 2009-12-28 23:45:03 +02:00
Ville Skyttä
c6ce22ae44 (testsuite) _vncviewer_bootstrap getting unset is expected, don't fail on it. 2009-12-26 12:58:46 +02:00
Freddy Vulto
c9c98da36e Fixed `quote_readline'.
This fixes completing filenames containing single quote (') on bash-4.

Also added emulation of `-o filenames' to _filedir.

Added tests for _filedir.

Fixed array assignment within __reassemble_comp_words_by_ref().
2009-12-24 10:00:29 +01:00
Freddy Vulto
f9db6abdc1 (testsuite) Added shell script `run'
This allows tab-completion of test scripts to run, e.g.:

    $ ./run unit/comp<TAB>
    $ ./run unit/compgen.exp

Instead of the old way:

    $ ./runUnit compgen.exp
2009-12-24 09:43:24 +01:00
Freddy Vulto
fec41f3c74 (testsuite) Added function `assert_bash_list_dir' 2009-12-24 09:41:22 +01:00
Ville Skyttä
8caddc47cf Protect grep invocations from user aliases (Alioth: 312143). 2009-12-15 23:48:10 +02:00
Freddy Vulto
359d242a49 (testsuite) Unset COMP_ variables at setup()
The COMP_ settings of the last test of _count_args() were falling through to
the first test of _get_cword(), causing it to fail.

Unset COMP_ variables within the unit tests setup & teardown.

Fixed last test at `_count_args.exp' by solving conflicting settings of
COMP_CWORD and COMP_POINT.

Steps to reproduce the problem:

    $ ./runUnit _count_args.exp _get_cword.exp
    ...
    Running ./unit/_count_args.exp ...
    Running ./unit/_get_cword.exp ...
    ERROR Unexpected output from bash command "_get_cword should run without errors":
    bash: $index: substring expression < 0
    ...
2009-12-12 12:36:38 +01:00
Freddy Vulto
736fa43e9f (testsuite) Fix comment 2009-12-12 12:08:07 +01:00
Ville Skyttä
b8ffa2dc48 Add some unit tests for _count_args. 2009-12-11 00:14:02 +02:00
Ville Skyttä
d1da93448f Comment spelling fixes. 2009-12-10 23:53:22 +02:00
Freddy Vulto
b1e58b1a0e Fix __reassemble_comp_words_by_ref()
If a word is made up of multiple word separator characters:

   $ a b::<TAB>  # CWORDS are: a, b, and :: (correct)

__reassemble_comp_words_by_ref() couldn't handle this.  It assumed CWORDS were:

   $ a b::<TAB>  # CWORDS: a, b, : and : (but they're not)

Added test case for this.  To run the automated tests:

   ./runUnit _get_cword.exp
2009-12-10 21:28:24 +01:00
Freddy Vulto
6fe53ef0e6 Fixed completing perl modules containing colons
The solution for bash-4 is to remove the colon from COMP_WORDBREAKS:

   COMP_WORDBREAKS=${COMP_WORDBREAKS//:}

The workaround for bash-3, or bash-4 with a colon in COMP_WORDBREAKS,
is to call:

  __ltrim_colon_completions "$cur"

after completions have been put in COMPREPLY.

See also: E13) Why does filename completion misbehave if a colon appears
in the filename? - Bash FAQ, http://tiswww.case.edu/php/chet/bash/FAQ
2009-12-09 22:13:56 +01:00
Freddy Vulto
08c5878483 Merged __get_cword3 & __get_cword4 to _get_cword
Actually enhanced __get_cword3 to _get_cword, and removed __get_cword4.
__get_cword4 could handle chars to exclude from COMP_WORDBREAKS, but
failed with partial quoted arguments (e.g. "a 'b c|", | = cursor
position).  This was no problem till bash-4.0.35, because bash < 4.0.35
also returned partial quoted arguments incorrectly.  See also:
http://www.mail-archive.com/bug-bash@gnu.org/msg06094.html

Now that bash-4.0.35 returns quoted arguments ok, __get_cword3 is
enhanced to also handle chars to exclude from COMP_WORDBREAKS.  Because
__get_cword3 also handles partial quoted arguments correctly, this makes
__get_cword3 suitable for bash-4 as well.
2009-12-06 23:16:31 +01:00
Freddy Vulto
8a70568066 (testsuite) Centralized test start functions
Code in `unit_start()' and `completion_start()' is merged and put central in
lib/library.exp:
- start_bash()
- source_bash_completion()
- init_tcl_bash_globals()

Global string variable `bash_versinfo_0' is replaced with list variable
`BASH_VERSINFO'.
2009-12-05 14:53:47 +01:00
Freddy Vulto
c4f3e907cd (testsuite) Fix screen test
Completing directories after `screen -c' passes on bash-4 now that
_filedir does a `compopt -o filenames'.
The test yields an expected failure on bash-3.
2009-12-04 22:12:54 +01:00
Freddy Vulto
932a4db5df (testsuite) Fix scp completions
match_items() now does a better job at maintaining a tcl list, that's
probably why the double escaping at scp isn't necessary anymore.
2009-12-03 18:44:30 +01:00
Freddy Vulto
eb860b7b9f Added helper function __expand_tilde_by_ref()
Expands only tilde (~), if first char, in variable.
This function displays bash's capabilities of passing a variable by
reference (variable indirection) which allows us to avoid using a
subshell.  As far as I can see it works surprisingly well?

To run the automated test:

    ./runUnit __expand_tilde_by_ref.exp

Also fixed some testsuite issues regarding list splitting.
2009-12-02 22:38:30 +01:00
Freddy Vulto
048e27bf28 Merge branch 'master' of git+ssh://fvu-guest@git.debian.org/git/bash-completion/bash-completion 2009-12-02 21:15:50 +01:00
Freddy Vulto
c920661b5e (testsuite) Fix ssh test with colon completions
Function `assert_complete()' is becoming hairy but let's wait untill
other completions with other special characters come along before
refactoring.
2009-12-02 21:12:40 +01:00
Ville Skyttä
a6f79a9a69 Add jarsigner, pack200, and unpack200 completions. 2009-11-30 23:01:32 +02:00
Freddy Vulto
a07b5c5ffd Fix expanding quoted tilde in _known_hosts_real.
- Added unit test "Files starting with tilde (~) should work" to
  unit/_known_hosts_real.exp
2009-11-29 14:42:42 +01:00
Freddy Vulto
511b7c7f35 (testsuite) Fix `assert_complete_partial()'
Make sure items are unique before assembling list of completions.
2009-11-29 14:40:46 +01:00
Freddy Vulto
0209fbde2c (testsuite) Detailed _known_hosts_real test for consecutive spaces 2009-11-28 17:35:01 +01:00
Freddy Vulto
a9717be57b (testsuite) Moved location of making-list-unique
Moved making-expected-list-unique out of `match_items()' & `get_hosts()'
into `assert_complete()' because the former are low level functions and
items need not necessarily be unique.  They only need to be unique when
we're actually testing *completions*.
2009-11-25 22:31:29 +01:00
Freddy Vulto
8c94bf6944 (testsuite) Fix superfluous `&&' in get_hosts_avahi() 2009-11-25 21:47:58 +01:00
Ville Skyttä
ef025a78ab Try to install/test arch completion only for the mailman one, not coreutils/util-linux-ng. 2009-11-23 00:29:16 +02:00
Freddy Vulto
75969454c0 (testsuite) Make expected lists unique 2009-11-21 10:18:54 +01:00
Freddy Vulto
2a506ec3f7 (testsuite) Set TERM=dummy only for non-cron
Err, TERM=linux also causes errors when tests are run via cron.
Reset TERM=dummy.
Workaround is to do a CRON=running from within the cron job and only set
TERM=dummy when not run via cron.
2009-11-18 23:45:16 +01:00
Ville Skyttä
2888874fa9 Testsuite: don't use pidof to check if avahi-daemon is running, cf. commit bb8912b06ff09f8fed253e7e5b14916e38a48733. 2009-11-18 23:33:06 +02:00
Freddy Vulto
1bb351e227 (testsuite) Set TERM=linux
The TERM=dummy setting causes backspaces (^H) to appear in stdout when running
from cron.  Changing to TERM=linux should fix the ^H's in stdout AND the bug of
`meta_on' or `meta_off' escape sequences in stdout, caused by a bug in
supposedly libreadline5:

http://old.nabble.com/-PATCH-:-fix-libreadline5-linked-applications-sending-meta_on-or-meta_off-to-stdout-td25557585.html

Steps to reproduce output of ^H with TERM=dummy:

    $ batch
    warning: commands will be executed using /bin/sh
    at> ./runUnit _known_hosts_real.exp --debug < /dev/tty40
    at> ^D

NOTE: You need to connect a terminal (< /dev/tty..) to the test suite
      when running from cron.  See also doc/testing.txt, "Running tests via
      cron".
2009-11-15 21:51:46 +01:00
Ville Skyttä
571e2fb7e1 Testsuite: avoid readline escape junk at beginning of line.
See e.g. http://bugs.gentoo.org/246091
2009-11-10 20:45:59 +02:00