xref: /PHP-7.4/ext/snmp/tests/README.md (revision 38f388fb)
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* Install package `net-snmpd` (name may differ based on your distribution).
38* Replace config file (by default this is `/etc/snmp/snmpd.conf` on Linux and
39  `/usr/local/etc/snmp/snmpd.conf` on FreeBSD) with `snmpd.conf` supplied.
40
41Before launching daemon make sure that there is no file
42`/var/net-snmp/snmpd.conf`. Delete it if exists. Forgetting to do so will fail
43SNMPv3 tests.
44
45* Place `ext/snmp/tests/bigtest` near `snmpd.conf`, tune path to it in
46  `snmpd.conf`.
47* Launch snmpd (service snmpd start or /etc/init.d/snmpd start). Alternatively
48  you can start snmpd daemon using following command line:
49
50    ```bash
51    sudo snmpd -C -c ./snmpd.conf -f -Le
52    ```
53