From dd3884b7360f610fb2e01ce690f344188bf48cd4 Mon Sep 17 00:00:00 2001 From: Franciszek Stachura Date: Thu, 5 Feb 2026 19:48:01 +0100 Subject: [PATCH] support/testing: add memcached test Add a basic runtime test for memcached. The test starts memcached and checks if it responds to a basic set/get request. Signed-off-by: Franciszek Stachura Signed-off-by: Julien Olivain (cherry picked from commit aa2d71ac38711b3e13505f48bc2b466c708991b9) Signed-off-by: Thomas Perale --- DEVELOPERS | 3 ++ .../testing/tests/package/test_memcached.py | 35 +++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 support/testing/tests/package/test_memcached.py diff --git a/DEVELOPERS b/DEVELOPERS index 9fab580775..03e10f8a7b 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -1121,6 +1121,9 @@ F: package/tbb/ N: Francisco Gonzalez F: package/ser2net/ +N: Franciszek Stachura +F: support/testing/tests/package/test_memcached.py + N: Francois Dugast F: board/sipeed/licheepi_nano/ F: board/visionfive2/ diff --git a/support/testing/tests/package/test_memcached.py b/support/testing/tests/package/test_memcached.py new file mode 100644 index 0000000000..2d00e47ab4 --- /dev/null +++ b/support/testing/tests/package/test_memcached.py @@ -0,0 +1,35 @@ +import os + +import infra.basetest + + +class TestMemcached(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + """ + BR2_TARGET_ROOTFS_CPIO=y + BR2_PACKAGE_MEMCACHED=y + BR2_PACKAGE_NETCAT=y + BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y + """ + + 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() + + output, exit_code = self.emulator.run("memcached -u root &") + + set_key_cmd = "set test_key 0 100 10\\r\\ntest_value\\r\\nquit\\r\\n" + output, exit_code = self.emulator.run( + f"echo -ne '{set_key_cmd}' | nc localhost 11211" + ) + self.assertEqual(exit_code, 0) + self.assertEqual(output[0].strip(), 'STORED') + + get_key_cmd = "get test_key\\r\\nquit\\r\\n" + output, exit_code = self.emulator.run( + f"echo -ne '{get_key_cmd}' | nc localhost 11211" + ) + self.assertEqual(exit_code, 0) + self.assertEqual(output[2].strip(), 'test_value')