buildroot/support/testing/tests/package/test_netsnmp.py

45 lines
1.6 KiB
Python

import os
import infra.basetest
class TestNetSNMP(infra.basetest.BRTest):
rootfs_overlay = \
infra.filepath("tests/package/test_netsnmp/rootfs-overlay")
config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \
f"""
BR2_PACKAGE_NETSNMP=y
BR2_ROOTFS_OVERLAY="{rootfs_overlay}"
BR2_TARGET_ROOTFS_CPIO=y
# BR2_TARGET_ROOTFS_TAR is not set
"""
def test_run(self):
cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio")
self.emulator.boot(arch="armv5",
kernel="builtin",
options=["-initrd", cpio_file])
self.emulator.login()
# We check the daemon and a client program can execute.
self.assertRunOk("snmpd --version")
self.assertRunOk("snmpget --version")
# The daemon is supposed to be started by the initscript,
# since we included a /etc/snmp/snmpd.conf file. We should be
# able to walk through the SNMPv2 system MIB.
self.assertRunOk("snmpwalk -v 2c -c public 127.0.0.1 system")
# We check few OIDs has the expected values. sysContact and
# sysLocation are set in the snmpd.conf file.
tests = [
("system.sysName.0", "STRING: buildroot"),
("system.sysContact.0", "STRING: Buildroot Test User"),
("system.sysLocation.0", "STRING: Buildroot Test Infra")
]
for oid, expected_out in tests:
cmd = f"snmpget -v 2c -c public -Ov 127.0.0.1 {oid}"
out, ret = self.emulator.run(cmd)
self.assertEqual(ret, 0)
self.assertEqual(out[0], expected_out)