From 51bf18c88b5d6d6504122526db07b3039e883e04 Mon Sep 17 00:00:00 2001 From: Franciszek Stachura Date: Mon, 31 Aug 2026 23:43:52 +0200 Subject: [PATCH] support/testing: add nano test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a basic runtime test for nano. The test attempts to write a file using the editor. Signed-off-by: Franciszek Stachura Signed-off-by: Thomas Petazzoni (cherry picked from commit 0e631348db15df28d5b576c17097a3ea8a38387c) Signed-off-by: Raphaël Mélotte --- DEVELOPERS | 1 + support/testing/tests/package/test_nano.py | 41 ++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 support/testing/tests/package/test_nano.py diff --git a/DEVELOPERS b/DEVELOPERS index 0db13f27b9..ace77932f1 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -1157,6 +1157,7 @@ F: package/ser2net/ N: Franciszek Stachura F: support/testing/tests/package/test_memcached.py +F: support/testing/tests/package/test_nano.py N: Francois Dugast F: board/sipeed/licheepi_nano/ diff --git a/support/testing/tests/package/test_nano.py b/support/testing/tests/package/test_nano.py new file mode 100644 index 0000000000..c1cc56d031 --- /dev/null +++ b/support/testing/tests/package/test_nano.py @@ -0,0 +1,41 @@ +import os + +import infra.basetest + + +class TestNano(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + """ + BR2_TARGET_ROOTFS_CPIO=y + BR2_PACKAGE_NANO=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() + + cmd = "nano -V | grep 'GNU nano'" + self.assertRunOk(cmd) + + self.emulator.qemu.sendline("nano") + + # send file contents + self.emulator.qemu.send("test") + # ^X for exit + self.emulator.qemu.send(chr(0x18)) + # y for 'Save modified buffer?' + self.emulator.qemu.send("y") + # target filename + self.emulator.qemu.send("file") + # ^M for enter + self.emulator.qemu.send(chr(0xd)) + + self.emulator.qemu.sendline("clear; reset") + + # wait for prompt + self.emulator.qemu.expect("# ") + + cmd = "cat file | grep '^test$'" + self.assertRunOk(cmd)