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