aboutsummaryrefslogtreecommitdiff
path: root/test/functional/job
Commit message (Collapse)AuthorAge
* test: PTY descendants should not prevent exit.Justin M. Keyes2016-07-16
|
* test: output_specJustin M. Keyes2016-07-14
| | | | Reference: https://github.com/neovim/neovim/issues/3772#issuecomment-162334005
* functests: Check logs in lua codeZyX2016-06-10
| | | | | | It is otherwise impossible to determine which test failed sanitizer/valgrind check. test/functional/helpers.lua module return was changed so that tests which do not provide after_each function to get new check will automatically fail.
* Merge #4813 'runtime: clipboard: start daemons in /'.Justin M. Keyes2016-06-10
|\
| * test: add tests for cwd handlingAleksa Sarai2016-06-07
|/ | | | | | | Add both a test for cwd=/ and cwd=/tmp/nvim.XXXXX, to make sure that we don't have regressions in cwd handling. Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
* job control: add tests for 'jobpid' and 'detach'Björn Linse2016-01-20
|
* test/functional: clean up according to luacheck (part 2)Marco Hinz2015-11-23
|
* eval: Protect job callbacks from being redefinedThiago de Arruda2015-08-21
| | | | ref: #3188
* test: lower sleep value in job testThiago de Arruda2015-07-16
| | | | | Since sleep is a grandchild of nvim, it is not killed after the test ends. Using a low sleep value allows it to exit automatically after a small interval.
* tests: Use new write_file() function in tests.Lucas Hoffmann2015-06-30
|
* doc: Fix some typos and trailing whitespace. #2875Lucas Hoffmann2015-06-21
|
* unify jobstart, termopen, and system interfacesScott Prager2015-05-02
| | | | | | | | | | | | | | | | | For any of these functions, if {cmd} is a string, execute "&shell &shellcmdflag '{cmd}'", or simply {cmd} if it's a list. In termopen(), if the 'name' option is not supplied, try to guess using '{cmd}' (string) or {cmd}[0] (list). Simplify ex_terminal to use the string form of termopen(). termopen: get name from argument Convert list_to_argv to tv_to_argv. Helped-by: Björn Linse <@bfredl> Helped-by: oni-link <knil.ino@gmail.com> Helped-by: Thiago de Arruda <@tarruda>
* term: use an argument vector for termopen().Scott Prager2015-05-02
| | | | | | | | | | | | | | | | | | | | | | Old behaviour: termopen('cmd') would run `&shell &shcf "cmd"`, which caused the functional tests to fail on some systems due to the process not "owning" the terminal. Also, it is inconsistent with jobstart(). Modify termopen() so that &shell is not invoked, but maintain the old behaviour with :terminal. Factor the common code for building the argument vector from jobstart() and modify the functional tests to call termopen() instead of :terminal (fixes #2354). Also: * Add a 'name' option for termopen() so that `:terminal {cmd}` produces a buffer named "term//{cwd}/{cmd}" and termopen() users can customize the name. * Update the documentation. * Add functional tests for `:terminal` sinse its behaviour now differs from termopen(). Add "test/functional/fixtures/shell-test.c" and move "test/functional/job/tty-test.c" there, too. Helped-by: Justin M. Keyes <@justinmk>
* Remove all references to JobActivityMarco Hinz2015-04-11
| | | | | | | | | The JobActivity event got replaced by callback functions provided to jobstart() or termopen(). It got removed here: https://github.com/neovim/neovim/commit/6e7757ad51dfe3b2de857ff8a8688718ff6115ac
* test: Remove indeterminism in job_spec.lua pty testsThiago de Arruda2015-04-11
|
* eval: Fix `jobwait()`Thiago de Arruda2015-04-11
| | | | | | - Properly save job event deferring state for recursive calls - Disable breakcheck while running. Breakcheck can invoke job callbacks in unexpected places.
* test: Remove indeterminism from `jobwait` testsThiago de Arruda2015-04-02
| | | | | | | - Use on_exit instead of on_stdout since there's no guarantee that the OS will send the data in time(It fails randomly in slow environments such as travis/valgrind) - Increase the timeout gap for the "jobwait with timeout" test
* eval: Implement `jobclose()` vimscript functionThiago de Arruda2015-03-29
|
* eval: Implement `jobwait()` vimscript functionThiago de Arruda2015-03-29
|
* eval: Refactor vimscript job control APIThiago de Arruda2015-03-29
| | | | | | | | | | - Remove JobActivity autocmd and v:job_data variable - Simplify `jobstart` to receive: - An argument vector - An optional dictionary which may contain any of the current `jobstart` options plus `on_stdout`, `on_stderr` and `on_exit` callbacks. - Refactor and add more job tests - Update documentation
* test: Add terminal testsThiago de Arruda2015-03-25
| | | | | | | | | | | | - Modify tty-test to allow easier control over the terminal - Add a new directory with various terminal tests/specifications - Remove a pending job/pty test. - Flush stdout in Screen:snapshot_util() (avoid waiting for the test to finish) - Replace libuv sigwinch watcher by a sigaction handler. libuv randomly fails to deliver signals on OSX. Might be related to the problem fixed by @bbcddc55ee1e5605657592644be0102ed3a5f104 (under the hoods, libuv uses a pipe to deliver signals to the main thread, which might be blocking in some situations)
* test: Improve functional test debuggability and efficiencyThiago de Arruda2015-03-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | - Read TEST_TAG/TEST_FILTER env vars from cmake/RunTests.cmake. Setting these environment variables will pass --tags/--filter to busted, which can used to filter which tests are executed. - Remove calls to nvim msgpack-rpc API outside tests. This removes the requirement of having a static `clear` call in test/functional/helpers.lua - Use the new busted command-line option "--lazy" to ensure the setup/teardown hooks are only executed when a suite runs at least one test. Now its possible to run/debug a single test like this: ```sh TEST_FILTER='some test string' make test ``` Which will only run tests containing "some test string" in the title. Another option is: ```sh TEST_TAG=some-tag make test ``` After putting #some-tag into the test title. This also improves debugging experience because there will be no unnecessary gdbserver instances whe GDB=1 is passed.
* test: Fix tty-test programThiago de Arruda2015-03-24
| | | | | The "tty ready" string must only be printed when the process is ready to receive signals, and this only happens when the event loop has started.
* jobsend: Don't append extra newline after last itemBjörn Linse2015-03-03
| | | | This allows sending binary data that is not newline terminated
* tests: don't hardcode the path to tty-testJohn Szakmeister2015-02-28
| | | | | This fixes the build for those who drive the build directly using CMake.
* test: mark job/pty test as pending #2058Numkil2015-02-26
| | | | | - closes #2057 - see https://github.com/neovim/neovim/issues/2057 for discussion
* job: Allow spawning jobs connected to pseudo terminalsThiago de Arruda2015-02-23
|
* eval: Fix buffering of data in job autocommandsThiago de Arruda2015-02-23
| | | | | Job autocommands will no longer buffer data chunks that don't end in newlines characters.
* test: Mark unreliable test as pending in job_spec.luaThiago de Arruda2015-01-29
| | | | | | | `job_send` is non-blocking and can potentially fail due to the following `job_stop` call. Since we can't reliably verify that the "exit" event is only sent after the "stdout" event, mark the test as pending and fix after we can get a notification about `job_send` status.
* test: Fix problems in job_spec.luaThiago de Arruda2014-11-21
| | | | | | | | | Nvim wasn't exiting cleanly in some job tests due to errors. This can't be noticed until the next commit, which will perform a refactoring to selectively process K_EVENT, so the `qa!` command executed at the end of each test blocks forever if there are errors which require the user to press ENTER(in that state Nvim no longer will process events).
* job_spec: Fix bad test.Scott Prager2014-11-07
|
* job: Let vimL jobsend() accept a list.Scott Prager2014-11-07
| | | | | | | | Use save_tv_as_string(), same as vimL system(). This also makes jobsend() more liberal in what it can accept. For example, `jobsend(j, 123)` is now valid. Closes #1176
* job: Make v:job_data[2] a list.Scott Prager2014-11-07
| | | | | | | | Factor out string_to_list() from f_system()'s implementation and use that to set job_data. This has the technical advantage of preserving NULs, and may be more convenient for users. Required for #1176.
* job: Only force-close stdout/stderr when the job exitsThiago de Arruda2014-11-07
| | | | | stdout/stderr should only be closed after the job truly exits, or else we can lose data sent by it.
* test/job: Implement some basic jobs tests.Scott Prager2014-10-28