xref: /OK3568_Linux_fs/buildroot/support/testing/tests/package/test_openssh.py (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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