.github/workflows/coverage.yml | 39 +++++++++++++++++++++++++++++++++++++++ autoload/handlers.vim | 3 +-- test/unit_tests.vim | 12 ++++++++++++ diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml new file mode 100644 index 0000000000000000000000000000000000000000..cca3fd2f537f4610f35c9a521f2ddd1e6d98c60c --- /dev/null +++ b/.github/workflows/coverage.yml @@ -0,0 +1,39 @@ +name: coverage +on: [push, pull_request] +jobs: + linux: + name: linux + runs-on: ubuntu-18.04 + steps: + - name: Checkout Code + uses: actions/checkout@v2 + - name: Run Tests + run: | + uname -a + export LSP_PROFILE=1 + export VIMPRG=vim + $VIMPRG --version + cd ./test + ./run_tests.sh + - name: Install Python + uses: actions/setup-python@v2 + with: + python-version: 3.5 + - name: Install covimerage + run: | + pip install covimerage + covimerage --version + - name: Run covimerage + run: | + cd ./test + covimerage write_coverage lsp_profile.txt + - name: Take coverage + run: | + cd ./test + coverage report + coverage xml + - name: Upload coverage to codecov + uses: codecov/codecov-action@v2 + with: + token: ${{ secrets.CODECOV_TOKEN }} + file: ./test/coverage.xml diff --git a/autoload/handlers.vim b/autoload/handlers.vim index a83f9cdb3b38291731f6d1e330d87b7734e39f15..3e8dacdc1ffcfb6a483f4f2eb2e63780b2a6c369 100644 --- a/autoload/handlers.vim +++ b/autoload/handlers.vim @@ -833,8 +833,7 @@ if lspRequestHandlers->has_key(request.method) lspRequestHandlers[request.method](lspserver, request) else - util.ErrMsg('Error: Unsupported request received from LSP server ' .. - request->string()) + util.ErrMsg('Error: Unsupported request message received from the LSP server (' .. lspserver.path .. '), message = ' .. request->string()) endif enddef diff --git a/test/unit_tests.vim b/test/unit_tests.vim index 89337098f0051892214e60060caf15b29e1ceb45..fceb9c21b57ca085487a0221fc7c77f6eb1c9739 100644 --- a/test/unit_tests.vim +++ b/test/unit_tests.vim @@ -6,6 +6,18 @@ filetype on filetype plugin on filetype indent on +# Set the $LSP_PROFILE environment variable to profile the LSP plugin +var do_profile: bool = false +if exists('$LSP_PROFILE') + do_profile = true +endif + +if do_profile + # profile the LSP plugin + profile start lsp_profile.txt + profile! file */lsp/* +endif + set rtp+=../ source ../plugin/lsp.vim var lspServers = [{