Merge pull request #181 from robertbaldyga/update-example

tests: Update example using new utils
This commit is contained in:
Katarzyna Łapińska 2019-11-07 11:00:03 +01:00 committed by GitHub
commit 7be7264f1a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 61 additions and 29 deletions

@ -1 +1 @@
Subproject commit b3f62cb3d65ea42c05f297340ca5a1e9ef70fab0 Subproject commit 731227cfb6dad0916a4761da26042b45801bece3

View File

@ -19,37 +19,69 @@ def setup_module():
@pytest.mark.require_disk("cache", DiskTypeSet([DiskType.optane, DiskType.nand])) @pytest.mark.require_disk("cache", DiskTypeSet([DiskType.optane, DiskType.nand]))
def test_create_example_partitions(): def test_create_example_partitions():
TestRun.LOGGER.info("Test run") """
TestRun.LOGGER.info(f"DUT info: {TestRun.dut}") title: Example test creating partitions and filesystems.
test_disk = TestRun.disks['cache'] description: Create 6 partitions and create filesystem on each of them.
part_sizes = [] pass_criteria:
for i in range(1, 6): - Partitions are created with no error.
part_sizes.append(Size(10 * i + 100, Unit.MebiByte)) - Filesystems are created successfully.
test_disk.create_partitions(part_sizes) """
TestRun.LOGGER.info(f"DUT info: {TestRun.dut}") with TestRun.step("Prepare"):
test_disk.partitions[0].create_filesystem(Filesystem.ext3) test_disk = TestRun.disks['cache']
with TestRun.group("Repartition disk"):
with TestRun.step("Genetare partitions table"):
part_sizes = []
for i in range(1, 6):
part_sizes.append(Size(10 * i + 100, Unit.MebiByte))
with TestRun.step("Create partitions"):
test_disk.create_partitions(part_sizes)
for i in TestRun.iteration(range(0, 5)):
with TestRun.step(f"Create filesystem on partition {i}"):
test_disk.partitions[i].create_filesystem(Filesystem.ext3)
def test_create_example_files(): def test_create_example_files():
TestRun.LOGGER.info("Test run") """
file1 = File.create_file("example_file") title: Example test manipulating on filesystem.
file1.write("Test file\ncontent line\ncontent") description: Perform various operaations on filesystem.
content_before_change = file1.read() pass_criteria:
TestRun.LOGGER.info(f"File content: {content_before_change}") - System does not crash.
fs_utils.replace_in_lines(file1, 'content line', 'replaced line') - All operations complete successfully.
- Data consistency is being preserved.
"""
with TestRun.step("Create file with content"):
file1 = File.create_file("example_file")
file1.write("Test file\ncontent line\ncontent")
with TestRun.step("Read file content"):
content_before_change = file1.read()
TestRun.LOGGER.info(f"File content: {content_before_change}")
with TestRun.step("Replace single line in file"):
fs_utils.replace_in_lines(file1, 'content line', 'replaced line')
with TestRun.step("Read file content and check if it changed"):
content_after_change = file1.read()
if content_before_change == content_after_change:
TestRun.fail("Content didn't changed as expected")
content_after_change = file1.read() with TestRun.step("Make copy of the file and check if md5 sum matches"):
assert content_before_change != content_after_change file2 = file1.copy('/tmp', force=True)
if file1.md5sum() != file2.md5sum():
TestRun.fail("md5 sum doesn't match!")
with TestRun.step("Change permissions of second file"):
file2.chmod_numerical(123)
with TestRun.step("Remove second file"):
fs_utils.remove(file2.full_path, True)
file2 = file1.copy('/tmp', force=True) with TestRun.step("List contents of home directory"):
assert file1.md5sum() == file2.md5sum() dir1 = Directory("~")
dir_content = dir1.ls()
file2.chmod_numerical(123) with TestRun.step("Change permissions of file"):
fs_utils.remove(file2.full_path, True) file1.chmod(fs_utils.Permissions['r'] | fs_utils.Permissions['w'],
dir1 = Directory("~") fs_utils.PermissionsUsers(7))
dir_content = dir1.ls() with TestRun.step("Log home directory content"):
file1.chmod(fs_utils.Permissions['r'] | fs_utils.Permissions['w'], fs_utils.PermissionsUsers(7)) for item in dir_content:
for item in dir_content: TestRun.LOGGER.info(f"Item {str(item)} - {type(item).__name__}")
TestRun.LOGGER.info(f"Item {str(item)} - {type(item).__name__}") with TestRun.step("Remove file"):
fs_utils.remove(file1.full_path, True) fs_utils.remove(file1.full_path, True)