@@ -143,6 +143,54 @@ Click [here](https://github.com/SonarSource/sonarlint-vscode/blob/master/telemet
143143* [ treemacs] ( https://github.com/Alexander-Miller/treemacs ) : Project viewer.
144144* [ lsp-treemacs] ( https://github.com/emacs-lsp/lsp-treemacs ) : ` lsp-mode ` GUI controls implemented using treemacs.
145145
146+ ## Development
147+
148+ ### Prerequisites
149+
150+ You will need ` make ` and [ ` eask ` ] ( https://emacs-eask.github.io/ ) to run ` lsp-sonarlint ` tests.
151+ See also (Requirements)(#requirements) section.
152+
153+ If you do not have ` eask ` installed, you can install it locally with:
154+
155+ ``` shell
156+ npm install @emacs-eask/cli
157+ export EASK=" $PWD /node_modules/@emacs-eask/cli/eask"
158+ ```
159+
160+ Or globally with:
161+
162+ ``` shell
163+ npm install -g @emacs-eask/cli
164+ ```
165+
166+ ### Testing
167+
168+ We use [ Emacs ERT] ( https://www.gnu.org/software/emacs/manual/html_node/ert/ ) for testing.
169+ You can run tests with:
170+
171+ ``` shell
172+ make package
173+ make install
174+ make compile
175+ make download-sonarlint
176+ make test
177+ ```
178+
179+ #### Interactive Testing
180+
181+ You can also run the tests one-by-one interactively.
182+
183+ Open a test file from tests/* .el in Emacs.
184+ Evaluate the file contents (` eval-buffer ` ) to load test definitions into the session.
185+ Run ` ert ` command to run all or selected tests.
186+ To run the integration tests, you will have to shut down all your lsp workspaces
187+ to ensure consistent starting state.
188+
189+ Check out ` *lsp-log* ` , ` *lsp-log: sonarlint:NNNNNNNN* ` , ` *sonarlint* ` , ` *sonarlint:stderr* `
190+ for logs when troubleshooting a test.
191+
192+ You can start with test/trivial-test.el to check that your testing harness works.
193+
146194## Contributions
147195
148196Contributions are very much welcome.
0 commit comments