| import os |
| |
| import infra.basetest |
| |
| |
| class TestOpensshBase(infra.basetest.BRTest): |
| passwd = "testpwd" |
| opensshconfig = \ |
| """ |
| BR2_TARGET_GENERIC_ROOT_PASSWD="{}" |
| BR2_PACKAGE_OPENSSH=y |
| BR2_PACKAGE_SSHPASS=y |
| BR2_ROOTFS_POST_BUILD_SCRIPT="{}" |
| # BR2_TARGET_ROOTFS_TAR is not set |
| """.format( |
| passwd, |
| infra.filepath("tests/package/test_openssh/post-build.sh")) |
| |
| def openssh_test(self): |
| img = os.path.join(self.builddir, "images", "rootfs.cpio") |
| self.emulator.boot(arch="armv5", |
| kernel="builtin", |
| options=["-initrd", img, |
| "-net", "none"]) |
| self.emulator.login(self.passwd) |
| |
| cmd = "netstat -ltn 2>/dev/null | grep 0.0.0.0:22" |
| self.assertRunOk(cmd) |
| |
| cmd = "sshpass -p {} ssh -oStrictHostKeyChecking=no localhost /bin/true".format(self.passwd) |
| self.assertRunOk(cmd) |
| |
| |
| class TestOpenSshuClibc(TestOpensshBase): |
| config = \ |
| TestOpensshBase.opensshconfig + \ |
| """ |
| BR2_arm=y |
| BR2_TOOLCHAIN_EXTERNAL=y |
| BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y |
| BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_UCLIBC_STABLE=y |
| BR2_TARGET_ROOTFS_CPIO=y |
| """ |
| |
| def test_run(self): |
| self.openssh_test() |
| |
| |
| class TestOpenSshGlibc(TestOpensshBase): |
| |
| config = \ |
| TestOpensshBase.opensshconfig + \ |
| """ |
| BR2_arm=y |
| BR2_TOOLCHAIN_EXTERNAL=y |
| BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y |
| BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_BLEEDING_EDGE=y |
| BR2_PACKAGE_RNG_TOOLS=y |
| BR2_TARGET_ROOTFS_CPIO=y |
| """ |
| |
| def test_run(self): |
| self.openssh_test() |