support/testing: add nano test

Add a basic runtime test for nano. The test attempts to write a file
using the editor.

Signed-off-by: Franciszek Stachura <fbstachura@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Franciszek Stachura
2026-08-31 23:43:52 +02:00
committed by Thomas Petazzoni
parent 967380b316
commit 0e631348db
2 changed files with 42 additions and 0 deletions

View File

@@ -1170,6 +1170,7 @@ F: package/ser2net/
N: Franciszek Stachura <fbstachura@gmail.com>
F: support/testing/tests/package/test_memcached.py
F: support/testing/tests/package/test_nano.py
N: Francois Dugast <francois.dugast.foss@gmail.com>
F: board/sipeed/licheepi_nano/

View File

@@ -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)