xref: /PHP-8.1/ext/snmp/tests/README.md (revision e9d1893f)
1# The snmp extension tests
2
3To enable these tests, you must have:
4
5* PHP compiled with SNMP `--with-snmp`
6* An SNMP server running.
7
8## How to test
9
10You need to give credentials with environment vars if default ones are not
11suitable (see `snmp_include.inc` for more info):
12
13```txt
14SNMP_HOSTNAME : IPv4 of remote SNMP agent
15SNMP_HOSTNAME : IPv6 or remote SNMP agent
16SNMP_PORT : SNMP port for queries
17SNMP_COMMUNITY : community name
18SNMP_COMMUNITY_WRITE : community used for write tests (snmpset()).
19SNMP_MIBDIR : Directory containing MIBS
20```
21
22To run test suite you may use this command (presuming that you pwd is where this
23README file is located):
24
25```bash
26make -C ../../.. test TESTS="`cd ../../..; /bin/ls -1 ext/snmp/tests/*.phpt | xargs echo`"
27```
28
29Running `run-tests.php` directly will clear your environment and therefore tests
30will fail if your SNMP configuration does not fit into default values specified
31in `snmp_include.inc`.
32
33## Configuring the SNMPD server
34
35### On Linux/FreeBSD
36
37* On Ubuntu, install `snmpd` and `snmp-mibs-downloader`. (May be `net-snmpd`
38  on other distributions.)
39* Replace config file (by default this is `/etc/snmp/snmpd.conf` on Linux and
40  `/usr/local/etc/snmp/snmpd.conf` on FreeBSD) with `snmpd.conf` supplied.
41
42Before launching daemon make sure that there is no file
43`/var/net-snmp/snmpd.conf`. Delete it if exists. Forgetting to do so will fail
44SNMPv3 tests.
45
46* Place `ext/snmp/tests/bigtest` near `snmpd.conf`, tune path to it in
47  `snmpd.conf`.
48* Launch snmpd (service snmpd start or /etc/init.d/snmpd start). Alternatively
49  you can start snmpd daemon using following command line:
50
51    ```bash
52    sudo snmpd -C -c ./snmpd.conf -f -Le
53    ```
54