d67745d755
after the changes around live-iso and qcow2 test cases the asserts used have also changed. This commit utilizes the existing test lib.
108 lines
3.8 KiB
Python
Executable File
108 lines
3.8 KiB
Python
Executable File
#!/usr/bin/python3
|
|
|
|
import tempfile
|
|
import composertest
|
|
|
|
|
|
class TestImages(composertest.ComposerTestCase):
|
|
"""
|
|
This is the "entry-point" to the test suite when
|
|
executed in Cockpit CI. If $TEST_SCENARIO=="" or
|
|
$TEST_SCENARIO="images" we end up here.
|
|
|
|
New test methods should be added here first!
|
|
When this target becomes too slow we split out into
|
|
separate scenarios!
|
|
"""
|
|
def test_blueprint_sanity(self):
|
|
self.runCliTest("/tests/cli/test_blueprints_sanity.sh")
|
|
|
|
def test_compose_sanity(self):
|
|
self.runCliTest("/tests/cli/test_compose_sanity.sh")
|
|
|
|
def test_ext4_filesystem(self):
|
|
self.runCliTest("/tests/cli/test_compose_ext4-filesystem.sh")
|
|
|
|
def test_partitioned_disk(self):
|
|
self.runCliTest("/tests/cli/test_compose_partitioned-disk.sh")
|
|
|
|
|
|
class TestQcow2(composertest.ComposerTestCase):
|
|
def tearDown(self):
|
|
super().tearDownTestMachine()
|
|
|
|
def test_qcow2(self):
|
|
self.runCliTest("/tests/cli/test_compose_qcow2.sh")
|
|
|
|
with tempfile.TemporaryDirectory(prefix="/var/tmp/lorax-test.") as tmpdir:
|
|
# Copy the resulting qcow2 image and shut down the VM
|
|
self.tearDownVirt(virt_dir="/var/tmp/test-results/*", local_dir=tmpdir)
|
|
|
|
# Boot the image
|
|
self.setUpTestMachine(tmpdir + "/disk.qcow2", tmpdir + "/id_rsa")
|
|
|
|
# Upload SSH keys to the machine so we can use the existing assertions
|
|
# by ssh'ing to localhost
|
|
self.machine.upload([tmpdir + "/id_rsa", tmpdir + "/id_rsa.pub"], "/root/.ssh")
|
|
|
|
# Upload the contents of the ./tests/ directory to the machine
|
|
self.machine.upload(["../tests"], "/")
|
|
|
|
# Run the test, on the booted image
|
|
self.runImageTest("/tests/cli/test_boot_qcow2.sh")
|
|
|
|
|
|
class TestLiveIso(composertest.ComposerTestCase):
|
|
def tearDown(self):
|
|
super().tearDownTestMachine()
|
|
|
|
def test_live_iso(self):
|
|
self.runCliTest("/tests/cli/test_compose_live-iso.sh")
|
|
|
|
with tempfile.TemporaryDirectory(prefix="/var/tmp/lorax-test.") as tmpdir:
|
|
# Copy the resulting iso and shut down the VM
|
|
self.tearDownVirt(virt_dir="/var/tmp/test-results/*", local_dir=tmpdir)
|
|
|
|
# Boot the image, login using the ssh key
|
|
self.setUpTestMachine(tmpdir + "/live.iso", tmpdir + "/id_rsa")
|
|
|
|
# Upload the contents of the ./tests/ directory to the machine
|
|
self.machine.upload(["../tests"], "/")
|
|
|
|
# Run the test, on the booted image
|
|
self.runImageTest("/tests/cli/test_boot_live-iso.sh")
|
|
|
|
|
|
class TestRepos(composertest.ComposerTestCase):
|
|
def test_repos_sanity(self):
|
|
self.runCliTest("/tests/cli/test_repos_sanity.sh")
|
|
|
|
|
|
class TestTar(composertest.ComposerTestCase):
|
|
def test_tar(self):
|
|
self.runCliTest("/tests/cli/test_compose_tar.sh")
|
|
|
|
def test_tar_kickstart(self):
|
|
self.runCliTest("/tests/cli/test_compose_tar_kickstart.sh")
|
|
|
|
with tempfile.TemporaryDirectory(prefix="/var/tmp/lorax-test.") as tmpdir:
|
|
# Copy the resulting disk image and shut down the VM
|
|
self.tearDownVirt(virt_dir="/var/tmp/test-results/*", local_dir=tmpdir)
|
|
|
|
# Boot the image, login using the ssh key
|
|
self.setUpTestMachine(tmpdir + "/disk.img", tmpdir + "/id_rsa")
|
|
|
|
# Upload SSH keys to the machine so we can use the existing assertions
|
|
# by ssh'ing to localhost
|
|
self.machine.upload([tmpdir + "/id_rsa", tmpdir + "/id_rsa.pub"], "/root/.ssh")
|
|
|
|
# Upload the contents of the ./tests/ directory to the machine
|
|
self.machine.upload(["../tests"], "/")
|
|
|
|
# Run the test, on the booted image
|
|
self.runImageTest("/tests/cli/test_boot_tar_kickstart.sh")
|
|
|
|
|
|
if __name__ == '__main__':
|
|
composertest.main()
|