1# How to develop Lark - Guide
2
3There are many ways you can help the project:
4
5* Help solve issues
6* Improve the documentation
7* Write new grammars for Lark's library
8* Write a blog post introducing Lark to your audience
9* Port Lark to another language
10* Help me with code development
11
12If you're interested in taking one of these on, let me know and I will provide more details and assist you in the process.
13
14
15## Unit Tests
16
17Lark comes with an extensive set of tests. Many of the tests will run several times, once for each parser configuration.
18
19To run the tests, just go to the lark project root, and run the command:
20```bash
21python -m tests
22```
23
24or
25
26```bash
27pypy -m tests
28```
29
30For a list of supported interpreters, you can consult the `tox.ini` file.
31
32You can also run a single unittest using its class and method name, for example:
33```bash
34##   test_package test_class_name.test_function_name
35python -m tests TestLalrStandard.test_lexer_error_recovering
36```
37
38### tox
39
40To run all Unit Tests with tox,
41install tox and Python 2.7 up to the latest python interpreter supported (consult the file tox.ini).
42Then,
43run the command `tox` on the root of this project (where the main setup.py file is on).
44
45And, for example,
46if you would like to only run the Unit Tests for Python version 2.7,
47you can run the command `tox -e py27`
48
49### pytest
50
51You can also run the tests using pytest:
52
53```bash
54pytest tests
55```
56
57### Using setup.py
58
59Another way to run the tests is using setup.py:
60
61```bash
62python setup.py test
63```
64