diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2020-01-01 06:36:10 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-01 06:36:10 -0800 |
commit | a251b588acb3a561e5da695280774b9b6fbcd0ea (patch) | |
tree | e361e0c201d04c304e5c188bf7a9f295a318c0d2 | |
parent | 070bd3ea231b6b98c9e9f1057fdbcf31d1877a70 (diff) | |
parent | 0da7774cf0e503efc93c15033a94ff756d5252e1 (diff) | |
download | rneovim-a251b588acb3a561e5da695280774b9b6fbcd0ea.tar.gz rneovim-a251b588acb3a561e5da695280774b9b6fbcd0ea.tar.bz2 rneovim-a251b588acb3a561e5da695280774b9b6fbcd0ea.zip |
Merge #11642 'CI: test powershell core'
-rw-r--r-- | .travis.yml | 5 | ||||
-rwxr-xr-x | ci/run_tests.sh | 4 | ||||
-rw-r--r-- | runtime/doc/options.txt | 5 | ||||
-rw-r--r-- | test/functional/helpers.lua | 6 | ||||
-rw-r--r-- | test/functional/ui/output_spec.lua | 3 |
5 files changed, 17 insertions, 6 deletions
diff --git a/.travis.yml b/.travis.yml index 0417b67a5f..4bb5c00251 100644 --- a/.travis.yml +++ b/.travis.yml @@ -86,6 +86,8 @@ addons: - xclip homebrew: update: false + casks: + - powershell packages: - ccache - ninja @@ -115,9 +117,12 @@ jobs: apt: sources: - sourceline: 'ppa:ubuntu-toolchain-r/test' + - sourceline: 'deb [arch=amd64] https://packages.microsoft.com/ubuntu/16.04/prod xenial main' + key_url: 'https://packages.microsoft.com/keys/microsoft.asc' packages: - *common-apt-packages - gcc-9 + - powershell - if: branch = master AND commit_message !~ /\[skip.lint\]/ name: lint os: linux diff --git a/ci/run_tests.sh b/ci/run_tests.sh index 844e9559ef..97f380b7b9 100755 --- a/ci/run_tests.sh +++ b/ci/run_tests.sh @@ -17,12 +17,12 @@ build_nvim exit_suite --continue -enter_suite tests - source ~/.nvm/nvm.sh nvm use 10 export TREE_SITTER_DIR=$HOME/tree-sitter-build/ +enter_suite tests + if test "$CLANG_SANITIZER" != "TSAN" ; then # Additional threads are only created when the builtin UI starts, which # doesn't happen in the unit/functional tests diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index 494a265338..e32a52cdbb 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -5202,8 +5202,9 @@ A jump table for the options with a short description can be found at |Q_op|. Note that such processing is done after |:set| did its own round of unescaping, so to keep yourself sane use |:let-&| like shown above. *shell-powershell* - To use powershell (on Windows): > - set shell=powershell shellquote= shellpipe=\| shellxquote= + To use powershell: > + let &shell = has('win32') ? 'powershell' : 'pwsh' + set shellquote= shellpipe=\| shellxquote= set shellcmdflag=-NoLogo\ -NoProfile\ -ExecutionPolicy\ RemoteSigned\ -Command set shellredir=\|\ Out-File\ -Encoding\ UTF8 diff --git a/test/functional/helpers.lua b/test/functional/helpers.lua index eead1ea3e0..0fdfcd70ba 100644 --- a/test/functional/helpers.lua +++ b/test/functional/helpers.lua @@ -504,9 +504,13 @@ function module.source(code) return fname end +function module.has_powershell() + return module.eval('executable("'..(iswin() and 'powershell' or 'pwsh')..'")') == 1 +end + function module.set_shell_powershell() local shell = iswin() and 'powershell' or 'pwsh' - assert(module.eval('executable("'..shell..'")')) + assert(module.has_powershell()) local cmd = 'Remove-Item -Force '..table.concat(iswin() and {'alias:cat', 'alias:echo', 'alias:sleep'} or {'alias:echo'}, ',')..';' diff --git a/test/functional/ui/output_spec.lua b/test/functional/ui/output_spec.lua index 9b1e803649..d7dde6345f 100644 --- a/test/functional/ui/output_spec.lua +++ b/test/functional/ui/output_spec.lua @@ -10,6 +10,7 @@ local iswin = helpers.iswin local clear = helpers.clear local command = helpers.command local nvim_dir = helpers.nvim_dir +local has_powershell = helpers.has_powershell local set_shell_powershell = helpers.set_shell_powershell describe("shell command :!", function() @@ -228,7 +229,7 @@ describe("shell command :!", function() ]]) end) end) - if iswin() or eval('executable("pwsh")') == 1 then + if has_powershell() then it('powershell supports literal strings', function() set_shell_powershell() local screen = Screen.new(30, 4) |