Files
buildroot/support/testing/tests/package/test_haproxy.py
Peter Korsgaard 211cfafa16 support/testing: add haproxy test
Based on the lighttpd test case.  Verify that we can download index.html
from haproxy in front of lighttpd.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2026-08-27 23:01:15 +02:00

39 lines
1.2 KiB
Python

import os
import infra.basetest
class TestHaproxy(infra.basetest.BRTest):
config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \
"""
BR2_ROOTFS_POST_BUILD_SCRIPT="{}"
BR2_ROOTFS_POST_SCRIPT_ARGS="{}"
BR2_PACKAGE_HAPROXY=y
BR2_PACKAGE_LIGHTTPD=y
BR2_TARGET_ROOTFS_CPIO=y
# BR2_TARGET_ROOTFS_TAR is not set
""".format(
infra.filepath("tests/package/copy-sample-script-to-target.sh"),
infra.filepath("conf/haproxy.cfg")
)
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()
msg = "Hello Buildroot!"
# sanity check
self.assertRunOk("haproxy -v")
self.assertRunOk("haproxy -c -f .")
# proxy to lighttpd
self.assertRunOk("haproxy -D -f .")
self.assertRunOk(f"echo '{msg}' > /var/www/index.html")
self.assertRunOk("wget http://localhost:81/index.html")
self.assertRunOk(f"grep -F '{msg}' index.html")