Merge pull request #30 from fendor/readme-how-to-test
authorLuke Lau <luke_lau@icloud.com>
Sun, 31 Mar 2019 05:09:30 +0000 (06:09 +0100)
committerGitHub <noreply@github.com>
Sun, 31 Mar 2019 05:09:30 +0000 (06:09 +0100)
Update README to include instructions on how to run tests

README.md

index 7cce8e55f1c8ca6c22b240b4549b5de6d0589662..797f46082d9255ab0439530f5489584db07ddc21 100644 (file)
--- a/README.md
+++ b/README.md
@@ -41,3 +41,14 @@ For more examples check the [Wiki](https://github.com/bubba/lsp-test/wiki/Introd
 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)
+
+## How to run tests
+
+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.3. This can be done by cloning [Haskell-IDE-Engine](https://github.com/haskell/haskell-ide-engine) and invoking `stack install.hs hie-8.6.3`. This will create the executables `hie`, `hie-8.6` and `hie-8.6.3` 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` or `cabal new-test`.