1
0
mirror of https://github.com/php/php-src.git synced 2026-03-30 04:02:19 +02:00
Files
archived-php-src/ext/snmp/tests
Christoph M. Becker 580435354e Support bug64159.phpt on Windows CI (GH-15895)
This test queries `extOutput` for the first line of output of the
command which was executed when snmpd started (`HexTest` in snmpd.conf).
Since there is no `/bin/sh` on Windows, no command would be run, and as
such we received an empty string.  We fix that by dynamically adjusting
snmpd.conf to run a JScript which has the same output as bigtest.

We also make the test diff more helpful in case of failures, where so
far we only would have known that the output had a different message
digest.
2024-09-21 16:03:25 +02:00
..
2021-07-20 15:01:51 +02:00
2020-09-09 11:24:06 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2020-02-03 22:52:20 +01:00
2022-05-11 13:24:23 +02:00

The snmp extension tests

To enable these tests, you must have:

  • PHP compiled with SNMP --with-snmp
  • An SNMP server running.

How to test

You need to give credentials with environment vars if default ones are not suitable (see snmp_include.inc for more info):

SNMP_HOSTNAME : IPv4 of remote SNMP agent
SNMP_HOSTNAME : IPv6 or remote SNMP agent
SNMP_PORT : SNMP port for queries
SNMP_COMMUNITY : community name
SNMP_COMMUNITY_WRITE : community used for write tests (snmpset()).
SNMP_MIBDIR : Directory containing MIBS

To run test suite you may use this command (presuming that you pwd is where this README file is located):

make -C ../../.. test TESTS="`cd ../../..; /bin/ls -1 ext/snmp/tests/*.phpt | xargs echo`"

Running run-tests.php directly will clear your environment and therefore tests will fail if your SNMP configuration does not fit into default values specified in snmp_include.inc.

Configuring the SNMPD server

On Linux/FreeBSD

  • On Ubuntu, install snmpd and snmp-mibs-downloader. (May be net-snmpd on other distributions.)
  • Replace config file (by default this is /etc/snmp/snmpd.conf on Linux and /usr/local/etc/snmp/snmpd.conf on FreeBSD) with snmpd.conf supplied.

Before launching daemon make sure that there is no file /var/net-snmp/snmpd.conf. Delete it if exists. Forgetting to do so will fail SNMPv3 tests.

  • Place ext/snmp/tests/bigtest near snmpd.conf, tune path to it in snmpd.conf.

  • Launch snmpd (service snmpd start or /etc/init.d/snmpd start). Alternatively you can start snmpd daemon using following command line:

    sudo snmpd -C -c ./snmpd.conf -f -Le