[Bash-completion-devel] Improvements and bug fixes for "make" completion - plus help needed with the test suite

Tristan Wibberley tristan.wibberley at gmail.com
Sun Apr 5 14:31:37 UTC 2015


Hi,

Firstly please ignore my previous email containing a commit that adds
completion for hidden targets when the user has partially offered the name
because I've included that feature in the attached bundle along with a unit
test.

Secondly, please would you have a look at the bundle and consider applying
it?.
The contents are listed towards the end of this email. HOWEVER, please be
warned that there is a bizarre test case failure in the last change which
brings me to "Thirdly".

Thirdly, I really need some help with the last change in the bundle which
is failing its unit test but it looks like a test suite bug. Details
follow...


Help needed with a weird testcase assert failure
====================================
I wonder if somebody would be able to help with one of the changes in the
bundle - it looks like a problem in the test suite but I couldn't follow
the assertion code to figure it out.

The "Offer hidden targets" change fails its unit test where the completion
appears to offer the expected targets:

  relevant section of the test
  ====================
set test "\"make .cache/.<TAB>\" should complete hidden targets"
set dir $::srcdir/fixtures/make
set targets ".1 .2"
assert_complete_dir $targets "make .cache/." $dir $test

  relevant section of the completion.log
  ============================
/@cd ./fixtures/make
/@echo $?
0
/@make .cache/.
.1  .2
/@make .cache/.FAIL: "make .cache/.<TAB>" should complete hidden targets
^C

As you see, the log shows that ".1" and ".2" are offered and the test shows
that ".1" and ".2" are expected yet the test suite reports an assertion
failure.

Any ideas?


Changes in this bundle:
==================

commit 3fcdd733ee003f421d8e8b74653e00e7ccb2d10b
Author: Tristan Wibberley <tristan.wibberley at gmail.com>
Date:   Sun Apr 5 14:21:51 2015 +0100

    make: Offer hidden targets when it is clear that the user is trying to
complete one of them

commit 5ed19e33817e020840aeb363bf4e7e1a03dbb503
Author: Tristan Wibberley <tristan.wibberley at gmail.com>
Date:   Sun Apr 5 04:44:06 2015 +0100

    make: Add __BASH_MAKE_COMPLETION__ variable

    This variable is there so that makefiles can avoid adding targets that
shouldn't be offered.
    A typical example would be targets added to dependency files by the -MP
option to gcc.

commit e7ce9a6cc4d0664d8928e3fde8d505880a1799f4
Author: Tristan Wibberley <tristan.wibberley at gmail.com>
Date:   Sun Apr 5 04:39:51 2015 +0100

    make: Fix detection of intermediate targets where make has changed its
database whitespace
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/bash-completion-devel/attachments/20150405/ea41b6cd/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: latest-work.bundle
Type: application/octet-stream
Size: 3223 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/bash-completion-devel/attachments/20150405/ea41b6cd/attachment.obj>


More information about the Bash-completion-devel mailing list