]> git.openstreetmap.org Git - nominatim.git/blob - docs/develop/Setup.md
Merge pull request #1836 from lonvia/rework-large-location-II
[nominatim.git] / docs / develop / Setup.md
1 # Setup Test Environment
2
3 To test changes and contribute to Nominatim you should be able to run
4 the test suite(s). For many usecases it's enough to create a Vagrant
5 virtual machine (see `VAGRANT.md`), import one small country into the
6 database.
7
8 ## Prerequisites
9
10 Nominatim supports a range of PHP versions and PHPUnit versions also
11 move fast. We try to test against the newest stable PHP release and
12 PHPUnit version even though we expect many Nominatim users will install
13 older version on their production servers.
14
15 #### Ubuntu 20
16
17     sudo apt-get install -y phpunit php-codesniffer php-cgi
18     pip3 install --user behave nose
19
20 #### Ubuntu 18
21
22     pip3 install --user behave nose
23
24     sudo apt-get install -y composer php-cgi php-cli php-mbstring php-xml zip unzip
25
26     composer global require "squizlabs/php_codesniffer=*"
27     sudo ln -s ~/.config/composer/vendor/bin/phpcs /usr/bin/
28
29     composer global require "phpunit/phpunit=8.*"
30     sudo ln -s ~/.config/composer/vendor/bin/phpunit /usr/bin/
31
32
33 #### CentOS 7 or 8
34
35     sudo dnf install -y php-dom php-mbstring
36     pip3 install --user behave nose
37
38     composer global require "squizlabs/php_codesniffer=*"
39     sudo ln -s ~/.config/composer/vendor/bin/phpcs /usr/bin/
40
41     composer global require "phpunit/phpunit=^7"
42     sudo ln -s ~/.config/composer/vendor/bin/phpunit /usr/bin/
43
44 ## Run tests, code linter, code coverage
45
46 See `README.md` in `test` subdirectory.