1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- import os
- import shutil
- import tests.download.sshd
- import infra
- class SSHTestBase(infra.basetest.BRConfigTest):
- config = infra.basetest.MINIMAL_CONFIG + '''
- BR2_BACKUP_SITE=""
- '''
- sshd_test_dir = infra.filepath("tests/download/sshd")
- sshd = None
- def setUp(self):
- super(SSHTestBase, self).setUp()
- self.show_msg("Generating keys")
- tests.download.sshd.generate_keys(self.builddir, self.logtofile)
- self.show_msg("Starting sshd")
- self.sshd = tests.download.sshd.OpenSSHDaemon(self.builddir,
- self.logtofile)
- def tearDown(self):
- self.show_msg("Stopping sshd")
- if self.sshd:
- self.sshd.stop()
- super(SSHTestBase, self).tearDown()
- def download_package(self, package):
- self.show_msg("Downloading {}".format(package))
- # store downloaded tarball inside the output dir so the test infra
- # cleans it up at the end
- dl_dir = os.path.join(self.builddir, "dl")
- ssh_identity = os.path.join(self.builddir,
- tests.download.sshd.SSH_CLIENT_KEY)
- # enforce that we test the download
- if os.path.exists(dl_dir):
- shutil.rmtree(dl_dir)
- env = {"BR2_DL_DIR": dl_dir,
- "SSHD_PORT_NUMBER": str(self.sshd.port),
- "SSHD_TEST_DIR": self.sshd_test_dir,
- "SSH_IDENTITY": ssh_identity}
- self.b.build(["{}-dirclean".format(package),
- "{}-source".format(package)],
- env)
- class TestSCP(SSHTestBase):
- br2_external = [infra.filepath("tests/download/br2-external/ssh")]
- def test_run(self):
- self.download_package("scp")
- class TestSFTP(SSHTestBase):
- br2_external = [infra.filepath("tests/download/br2-external/ssh")]
- def test_run(self):
- self.download_package("sftp")
|