import os import infra.basetest class TestS6Networking(infra.basetest.BRTest): config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ """ BR2_PACKAGE_S6_NETWORKING=y BR2_TARGET_ROOTFS_CPIO=y # BR2_TARGET_ROOTFS_TAR is not set """ def test_run(self): img = os.path.join(self.builddir, "images", "rootfs.cpio") self.emulator.boot(arch="armv5", kernel="builtin", options=["-initrd", img]) self.emulator.login() # Test the TAICLOCK server and client _, exit_code = self.emulator.run("s6-taiclockd &") self.emulator.run("sleep 2") cmd = "s6-taiclock 127.0.0.1 | s6-clockview" output, exit_code = self.emulator.run(cmd) self.assertEqual(exit_code, 0) self.assertEqual(output[0][0:6], "before") self.assertEqual(output[1][0:5], "after") # Test the TCP server and client _, exit_code = self.emulator.run("s6-tcpserver4 127.0.0.1 1024 cat &") self.emulator.run("sleep 2") cmd = "echo foobar | s6-tcpclient 127.0.0.1 1024 s6-ioconnect -67" output, exit_code = self.emulator.run(cmd) self.assertEqual(exit_code, 0) self.assertEqual(output[0], "foobar")