YouCompleteMe/python/ycm/tests
zzbot 8aa617ec03 Auto merge of #2861 - puremourning:always-supply-wd, r=micbou
[READY] Always supply working directory

This allows completer servers to detect the correct directory to launch
no matter what request initialises the completer server.

# PR Prelude

Thank you for working on YCM! :)

**Please complete these steps and check these boxes (by putting an `x` inside
the brackets) _before_ filing your PR:**

- [X] I have read and understood YCM's [CONTRIBUTING][cont] document.
- [X] I have read and understood YCM's [CODE_OF_CONDUCT][code] document.
- [X] I have included tests for the changes in my PR. If not, I have included a
  rationale for why I haven't.
- [X] **I understand my PR may be closed if it becomes obvious I didn't
  actually perform all of these steps.**

# Why this change is necessary and useful

This change ensures that the client supplies the working directory to the server on each request, in particular, event notifications; the java and javascript completers use this to start the server in the `FileReadyToParse` event, rather than on construction of the completer. The subtle difference allows them to use the client's working directory, rather than the _server's_ working directory to do things like project detection.

See also:

* This is PR 1 of the set of changes related to #2827 - client changes required to support Java and other language-server protocols.
* ycmd change for javascript that makes use of this now: https://github.com/Valloric/ycmd/pull/886
* updated API doc: http://puremourning.github.io/ycmd-1

The ycmd API change is simply to allow `working_dir` on all requests.

cc for minor optional API change: @abingham @Qusic @LuckyGeck @mawww @richard1122 @jakeanq @orsonteodoro

[cont]: https://github.com/Valloric/YouCompleteMe/blob/master/CONTRIBUTING.md
[code]: https://github.com/Valloric/YouCompleteMe/blob/master/CODE_OF_CONDUCT.md

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/valloric/youcompleteme/2861)
<!-- Reviewable:end -->
2017-12-22 17:36:34 -08:00
..
client Always supply working directory 2017-12-23 00:51:21 +00:00
testdata Tests for checking that extra_conf_data sended to server from :DebugInfo and :YcmCompleter commands. 2017-03-12 19:03:07 +03:00
__init__.py Echo diagnostic asynchronously 2017-10-04 16:59:47 +02:00
base_test.py Use codepoint offsets in identifier functions 2017-06-18 20:41:30 +02:00
command_test.py Merge branch 'master' into fork_master 2017-03-30 20:26:11 +03:00
completion_test.py Rewrite completion system 2017-06-21 02:32:57 +02:00
diagnostic_filter_test.py Do not install aliases from future 2017-03-18 18:24:48 +01:00
event_notification_test.py Update BufferUnload test with Unicode paths 2017-07-08 14:19:27 +02:00
omni_completer_test.py Expect GetCompletions_Cache_List_Unicode test to fail 2017-09-10 16:33:24 +02:00
paths_test.py Accept capitalized name for Python executable 2017-03-28 02:12:15 +02:00
postcomplete_test.py Clean C# inserting namespace code 2017-05-17 19:44:02 +02:00
syntax_parse_test.py Do not install aliases from future 2017-03-18 18:24:48 +01:00
test_utils.py Use fnameescape to escape filepath 2017-12-01 17:54:45 +01:00
vimsupport_test.py Use fnameescape to escape filepath 2017-12-01 17:54:45 +01:00
youcompleteme_test.py Prompt the user to select a logfile with YcmToggleLogs 2017-12-22 19:58:29 +01:00