X-Git-Url: https://git.lukelau.me/?p=lsp-test.git;a=blobdiff_plain;f=README.md;h=ce452fe715d8858a995bf5a19230a394e8700492;hp=eb5250a8a36b512492ec3d597e1e115636370ca0;hb=2a1a602d8f21a042e6db4dce211a23cb138b8398;hpb=fa383bac05f88cae81a2c4caaa8814ca24be8add diff --git a/README.md b/README.md index eb5250a..ce452fe 100644 --- a/README.md +++ b/README.md @@ -38,17 +38,14 @@ Try out the example tests in the `example` directory with `cabal new-test`. For more examples check the [Wiki](https://github.com/bubba/lsp-test/wiki/Introduction) ## Developing -To test make sure you have the following language servers installed: -- [haskell-ide-engine](https://github.com/haskell/haskell-ide-engine) -- [javascript-typescript-langserver](https://github.com/sourcegraph/javascript-typescript-langserver) +The tests are integration tests, so make sure you have the following language servers installed and on your PATH: +### [haskell-ide-engine](https://github.com/haskell/haskell-ide-engine) +- Check out a relatively recent version of the repo, or see `.travis.yml` to get the exact commit used for CI. +- `stack install` +### [javascript-typescript-langserver](https://github.com/sourcegraph/javascript-typescript-langserver) +`npm i -g javascript-typescript-langserver` -## How to run tests +Then run the tests with `stack test` or `cabal new-test`. -The present tests are integration tests. Thus, it is required that that the executables `hie` and `javascript-typescript-langserver` are on the path. - -The executable `hie` has to have been built using GHC 8.6.2. This can be done by cloning [Haskell-IDE-Engine](https://github.com/haskell/haskell-ide-engine) and invoking `stack install.hs hie-8.6.2`. This will create the executables `hie`, `hie-8.6` and `hie-8.6.2` in your `$HOME/.local/bin`, or respective `stack path --local-bin` location. -To make sure the test environment is identical to the travis setup, in `.travis.yml` you can find the exact git hash that has been used to execute the tests and build `hie` from that snapshot. - -The language server `javascript-typescript-langserver` can be installed by invoking `npm i -g javascript-typescript-langserver`. - -When all prerequisites have been met, the tests can be executed by running `stack test`. \ No newline at end of file +## Troubleshooting +Seeing funny stuff when running lsp-test via stack? If your server is built upon Haskell tooling, [keep in mind that stack sets some environment variables related to GHC, and you may want to unset them.](https://github.com/alanz/haskell-ide-engine/blob/bfb16324d396da71000ef81d51acbebbdaa854ab/test/utils/TestUtils.hs#L290-L298)