1import os 2 3import infra.basetest 4 5 6class TestOpensshBase(infra.basetest.BRTest): 7 passwd = "testpwd" 8 opensshconfig = \ 9 """ 10 BR2_TARGET_GENERIC_ROOT_PASSWD="{}" 11 BR2_PACKAGE_OPENSSH=y 12 BR2_PACKAGE_SSHPASS=y 13 BR2_ROOTFS_POST_BUILD_SCRIPT="{}" 14 # BR2_TARGET_ROOTFS_TAR is not set 15 """.format( 16 passwd, 17 infra.filepath("tests/package/test_openssh/post-build.sh")) 18 19 def openssh_test(self): 20 img = os.path.join(self.builddir, "images", "rootfs.cpio") 21 self.emulator.boot(arch="armv5", 22 kernel="builtin", 23 options=["-initrd", img, 24 "-net", "none"]) 25 self.emulator.login(self.passwd) 26 27 cmd = "netstat -ltn 2>/dev/null | grep 0.0.0.0:22" 28 self.assertRunOk(cmd) 29 30 cmd = "sshpass -p {} ssh -oStrictHostKeyChecking=no localhost /bin/true".format(self.passwd) 31 self.assertRunOk(cmd) 32 33 34class TestOpenSshuClibc(TestOpensshBase): 35 config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ 36 TestOpensshBase.opensshconfig + \ 37 """ 38 BR2_TARGET_ROOTFS_CPIO=y 39 """ 40 41 def test_run(self): 42 self.openssh_test() 43 44 45class TestOpenSshGlibc(TestOpensshBase): 46 config = \ 47 TestOpensshBase.opensshconfig + \ 48 """ 49 BR2_arm=y 50 BR2_TOOLCHAIN_EXTERNAL=y 51 BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y 52 BR2_PACKAGE_RNG_TOOLS=y 53 BR2_TARGET_ROOTFS_CPIO=y 54 """ 55 56 def test_run(self): 57 self.openssh_test() 58