- Move __gcov_flush to process_spawn, for more reliable coverage
tracking of subprocesses
- Travis: use GCOV_ERROR_FILE
- codecov: use "-X fix" to skip "fixing" uploaded coverage data; it
should be handled by codecov's backend instead.
- AppVeyor: no $PATH mangling, which breaks with the improved coverage tracking
due to missing .dll in PATH.
* ci: AppVeyor: set GCOV_ERROR_FILE
This prevents the warnings/errors to be spilled into test results,
causing them to fail them, e.g.:
[ FAILED ] C:/projects/neovim/test/functional\core\main_spec.lua @ 97: Command-line option -s errors out when trying to use nonexistent file with -s
C:/projects/neovim/test/functional\core\main_spec.lua:98: Expected objects to be the same.
Passed in:
(string) 'Cannot open for reading: "Xtest-functional-core-main-s.nonexistent": no such file or directory
profiling:C:\projects\neovim\build/src/nvim/CMakeFiles/nvim.dir/buffer.c.gcda:Data file mismatch - some data files may have been concurrently updated without locking support
'
Expected:
(string) 'Cannot open for reading: "Xtest-functional-core-main-s.nonexistent": no such file or directory
'
stack traceback:
C:/projects/neovim/test/functional\core\main_spec.lua:98: in function <C:/projects/neovim/test/functional\core\main_spec.lua:97>
For reference, the locking appears to have been reworked for gcc 9.1 [1].
1: https://github.com/gcc-mirror/gcc/commit/56621355b
helpers.clear: keep GCOV_ERROR_FILE in environment
* ci: AppVeyor: remove MINGW_64 config (used with cov now)
Also:
- run MINGW_64-gcov first, and with PRs, since it provides coverage.
pacman log says:
Total Download Size: 17.06 MiB
So this takes very little of the quota. But it also takes only a few
seconds to install, so caching it saves little or no time.
appveyor.yml: set cache to an absolute path.
Desperate attempt to get AppVeyor cache to work.
My assumption in a7a56293aa#9852 that that different jobs were
overwriting each other's cache is probably wrong: AppVeyor
docs/discussions hint that the cache is per-config (though I haven't
found a clear, unambiguous statement as such).
The MSVC_32 currently hangs. When MSVC becomes the primary Windows
target, we can enable MSVC_32 and retire one of the mingw builds. In
the meantime it adds too much time.
ci: install nodejs 8 in Appveyor, Travis
provider: check node version for debug support
Resolve https://github.com/neovim/neovim/pull/7577#issuecomment-350590592 for Unix.
provider: test if nodejs in ci supports --inspect-brk
nodejs host for neovim requires nodejs 6+ to work properly.
nodejs 6.12+ or 7.6+ is required for debug support via `node --inspect-brk`.
provider: run cli.js of nodejs host directly
npm shims are useless because the user cannot set node to debug mode via
--inspect-brk. This is problematic on Windows which use batchfiles and
shell scripts to compensate for not supporting shebang.
The patch uses `npm root -g` to get the absolute path of the global npm
modules. If that fails, then the user did not install neovim npm package
globally. Use that absolute path to find `neovim/bin/cli.js`, which is
what the npm shim actually runs with node. glob() is for a simple file
check in case bin/ is removed because the npm shims are ignored now.
Build the default CMake target now that helptag generation is
working again.
For build artifacts create a zip file with an instalation of
Neovim (generated by cpack).
- Build for MinGW x86/x86_64. Move build scripts out of the yml file into
separate batch files.
- The MinGW builds use MSYS to get runtime dependencies, but they do not
link against the POSIX adaptation layer.
- For now only build the nvim.exe binary, but not the helptags.