Age | Commit message (Collapse) | Author |
|
Problem: When a json message arrives in pieces, the start is dropped and
the decoding fails.
Solution: Do not drop the start when it is still needed. (Kay Zheng) Add a
test. Reset the timeout when something is received.
|
|
Problem: Running the channel test creates channellog.
Solution: Delete the debug line.
|
|
Problem: Channel test is still flaky on OS X.
Solution: Set the drop argument to "never".
|
|
Problem: The channel "drop" option is not tested.
Solution: Add a test.
|
|
Problem: When using ch_read() with zero timeout, can't tell the difference
between reading an empty line and nothing available.
Solution: Add ch_canread().
|
|
Problem: When the channel callback gets job info the job may already have
been deleted. (lifepillar)
Solution: Do not delete the job when the channel is still useful. (ichizok,
closes #1242, closes #1245)
|
|
Problem: An exiting job is detected with a large latency.
Solution: Check for pending job more often. (Ozaki Kiichi) Change the
double loop in mch_inchar() into one.
|
|
Problem: Calling job_stop() right after job_start() does not work.
Solution: Block signals while fork is still busy. (Ozaki Kiichi, closes
#1155)
|
|
Problem: Detecting that a job has finished may take a while.
Solution: Check for a finished job more often (Ozaki Kiichi)
|
|
Problem: A channel is closed when reading on stderr or stdout fails, but
there may still be something to read on another part.
Solution: Turn ch_to_be_closed into a bitfield. (Ozaki Kiichi)
|
|
Problem: If a channel in NL mode is missing the NL at the end the remaining
characters are dropped.
Solution: When the channel is closed use the remaining text. (Ozaki Kiichi)
|
|
Problem: Can't tell which part of a channel has "buffered" status.
Solution: Add an optional argument to ch_status(). Let ch_info() also
return "buffered" for out_status and err_status.
|
|
Problem: The "Reading from channel output..." message can be unwanted.
Appending to a buffer leaves an empty first line behind.
Solution: Add the "out_msg" and "err_msg" options. Writing the first line
overwrites the first, empty line.
|
|
Problem: Channel sort test is flaky.
Solution: Add a check the output has been read.
|
|
Problem: MS-Windows: some files remain after testing.
Solution: Close the channel output file. Wait for the file handle to be
closed before deleting the file.
|
|
Problem: It is not possible to close the "in" part of a channel.
Solution: Add ch_close_in().
|
|
Problem: When starting a job that reads from a buffer and reaching the end,
the job hangs.
Solution: Close the pipe or socket when all lines were read.
|
|
Problem: The callback passed to ch_sendraw() is not used.
Solution: Pass the read part, not the send part. (haya14busa, closes #1019)
|
|
Problem: Insufficient testing for NUL bytes on a raw channel.
Solution: Add a test for writing and reading.
|
|
Problem: Channel test is flaky.
Solution: Add a newline to separate JSON messages.
|
|
Problem: Two JSON messages are sent without a separator.
Solution: Separate messages with a NL. (closes #1001)
|
|
Problem: Various tiny issues.
Solution: Update comments, white space, etc.
|
|
Problem: Netbeans test fails once in a while. Leaving log file behind.
Solution: Add it to the list of flaky tests. Disable logfile.
|
|
Problem: Using the system default encoding makes tests unpredictable.
Solution: Always use utf-8 or latin1 in the new style tests. Remove setting
encoding and scriptencoding where it is not needed.
|
|
Problem: The return value of type() is difficult to use.
Solution: Define v:t_ constants. (Ken Takata)
|
|
Problem: filter() and map() either require a string or defining a function.
Solution: Support lambda, a short way to define a function that evaluates an
expression. (Yasuhiro Matsumoto, Ken Takata)
|
|
Problem: The Netbeans integration is not tested.
Solution: Add a first Netbeans test.
|
|
Problem: When using a job in raw mode to append to a buffer garbage
characters are added.
Solution: Do not replace the trailing NUL with a NL. (Ozaki Kiichi)
|
|
Problem: No proper test for what 7.4.1906 fixes.
Solution: Add a test for reading many lines.
|
|
Problem: No test for collapsing buffers for a channel. Some text is lost.
Solution: Add a simple test. Set rq_buflen correctly.
|
|
Problem: Channel test is flaky.
Solution: Wait for close_cb to be invoked.
|
|
Problem: No test for invoking "close_cb" when writing to a buffer.
Solution: Add using close_cb to a test case.
|
|
Problem: When a channel appends to a buffer that is 'nomodifiable' there is
an error but appending is done anyway.
Solution: Add the 'modifiable' option. Refuse to write to a 'nomodifiable'
when the value is 1.
|
|
Problem: Functions specifically for testing do not sort together.
Solution: Rename garbagecollect_for_testing() to test_garbagecollect_now().
Add test_null_list(), test_null_dict(), etc.
|
|
Problem: Sending DETACH after a channel was closed isn't useful.
Solution: Only add DETACH for a netbeans channel.
|
|
Problem: Test_out_close_cb sometimes fails.
Solution: Always write DETACH to out, not err.
|
|
Problem: Cannot use ch_read() in the close callback.
Solution: Do not discard the channel if there is readahead. Do not discard
readahead if there is a close callback.
|
|
Problem: When a job ends the close callback is invoked before other
callbacks. On Windows the close callback is not called.
Solution: First invoke out/err callbacks before the close callback.
Make the close callback work on Windows.
|
|
Problem: Cannot detect a crash in tests when caused by garbagecollect().
Solution: Add garbagecollect_for_testing(). Do not free a job if is still
useful.
|
|
Problem: Leaking memory when opening a channel fails.
Solution: Unreference partials in job options.
|
|
Problem: The channel close_cb option does not work.
Solution: Use jo_close_partial instead of jo_err_partial. (Damien)
|
|
Problem: When writing buffer lines to a pipe Vim may block.
Solution: Avoid blocking, write more lines later.
|
|
Problem: Crash when calling job_start() with a NULL string. (Dominique)
Solution: Check for an invalid argument.
|
|
Problem: In tests it's often useful to check if a pattern matches.
Solution: Add assert_match().
|
|
Problem: No test for an invalid Ex command on a channel.
Solution: Test handling an invalid command gracefully. Avoid getting an
error message, do write it to the channel log.
|
|
Problem: No test for special characters in channel eval command.
Solution: Testing sending and receiving text with special characters.
|
|
Problem: Channel test is a bit flaky.
Solution: Remove 'DETACH' if it's there.
|
|
Problem: Channel out_cb and err_cb are not tested.
Solution: Add a test.
|
|
Problem: Can't get info about a channel.
Solution: Add ch_info().
|
|
Problem: When a JSON message is split it isn't decoded.
Solution: Wait a short time for the rest of the message to arrive.
|