From 6fefadf8849297aef0ec4bdc0b74dd643bc07f6a Mon Sep 17 00:00:00 2001 From: Edwin Eefting Date: Sat, 6 Feb 2021 13:58:40 +0100 Subject: [PATCH] formatting --- test_externalfailures.py | 127 ++++++++++++++++++--------------------- 1 file changed, 59 insertions(+), 68 deletions(-) diff --git a/test_externalfailures.py b/test_externalfailures.py index a3fa062..b4de200 100644 --- a/test_externalfailures.py +++ b/test_externalfailures.py @@ -1,4 +1,3 @@ - from basetest import * @@ -6,68 +5,66 @@ class TestZfsNode(unittest2.TestCase): def setUp(self): prepare_zpools() - self.longMessage=True + self.longMessage = True # generate a resumable state - #NOTE: this generates two resumable test_target1/test_source1/fs1 and test_target1/test_source1/fs1/sub + # NOTE: this generates two resumable test_target1/test_source1/fs1 and test_target1/test_source1/fs1/sub def generate_resume(self): - r=shelltest("zfs set compress=off test_source1 test_target1") + r = shelltest("zfs set compress=off test_source1 test_target1") - #big change on source - r=shelltest("dd if=/dev/zero of=/test_source1/fs1/data bs=250M count=1") + # big change on source + r = shelltest("dd if=/dev/zero of=/test_source1/fs1/data bs=250M count=1") - #waste space on target - r=shelltest("dd if=/dev/zero of=/test_target1/waste bs=250M count=1") + # waste space on target + r = shelltest("dd if=/dev/zero of=/test_target1/waste bs=250M count=1") - #should fail and leave resume token (if supported) + # should fail and leave resume token (if supported) self.assertTrue(ZfsAutobackup("test test_target1 --verbose".split(" ")).run()) - #free up space - r=shelltest("rm /test_target1/waste") - #sync - r=shelltest("zfs umount test_target1") - r=shelltest("zfs mount test_target1") + # free up space + r = shelltest("rm /test_target1/waste") + # sync + r = shelltest("zfs umount test_target1") + r = shelltest("zfs mount test_target1") - - #resume initial backup + # resume initial backup def test_initial_resume(self): - #inital backup, leaves resume token + # inital backup, leaves resume token with patch('time.strftime', return_value="20101111000000"): self.generate_resume() - #--test should resume and succeed + # --test should resume and succeed with OutputIO() as buf: with redirect_stdout(buf): self.assertFalse(ZfsAutobackup("test test_target1 --verbose --test".split(" ")).run()) print(buf.getvalue()) - #did we really resume? + # did we really resume? if "0.6.5" in ZFS_USERSPACE: - #abort this late, for beter coverage + # abort this late, for beter coverage self.skipTest("Resume not supported in this ZFS userspace version") else: self.assertIn(": resuming", buf.getvalue()) - - #should resume and succeed + # should resume and succeed with OutputIO() as buf: with redirect_stdout(buf): self.assertFalse(ZfsAutobackup("test test_target1 --verbose".split(" ")).run()) print(buf.getvalue()) - #did we really resume? + # did we really resume? if "0.6.5" in ZFS_USERSPACE: - #abort this late, for beter coverage + # abort this late, for beter coverage self.skipTest("Resume not supported in this ZFS userspace version") else: self.assertIn(": resuming", buf.getvalue()) - r=shelltest("zfs list -H -o name -r -t all test_target1") - self.assertMultiLineEqual(r,""" + r = shelltest("zfs list -H -o name -r -t all test_target1") + self.assertMultiLineEqual(r, """ test_target1 test_target1/test_source1 test_target1/test_source1/fs1 @@ -80,48 +77,47 @@ test_target1/test_source2/fs2/sub test_target1/test_source2/fs2/sub@test-20101111000000 """) - - #resume incremental backup + # resume incremental backup def test_incremental_resume(self): - #initial backup + # initial backup with patch('time.strftime', return_value="20101111000000"): self.assertFalse(ZfsAutobackup("test test_target1 --verbose --allow-empty".split(" ")).run()) - #incremental backup leaves resume token + # incremental backup leaves resume token with patch('time.strftime', return_value="20101111000001"): self.generate_resume() - #--test should resume and succeed + # --test should resume and succeed with OutputIO() as buf: with redirect_stdout(buf): self.assertFalse(ZfsAutobackup("test test_target1 --verbose --test".split(" ")).run()) print(buf.getvalue()) - #did we really resume? + # did we really resume? if "0.6.5" in ZFS_USERSPACE: - #abort this late, for beter coverage + # abort this late, for beter coverage self.skipTest("Resume not supported in this ZFS userspace version") else: self.assertIn(": resuming", buf.getvalue()) - #should resume and succeed + # should resume and succeed with OutputIO() as buf: with redirect_stdout(buf): self.assertFalse(ZfsAutobackup("test test_target1 --verbose".split(" ")).run()) print(buf.getvalue()) - #did we really resume? + # did we really resume? if "0.6.5" in ZFS_USERSPACE: - #abort this late, for beter coverage + # abort this late, for beter coverage self.skipTest("Resume not supported in this ZFS userspace version") else: self.assertIn(": resuming", buf.getvalue()) - r=shelltest("zfs list -H -o name -r -t all test_target1") - self.assertMultiLineEqual(r,""" + r = shelltest("zfs list -H -o name -r -t all test_target1") + self.assertMultiLineEqual(r, """ test_target1 test_target1/test_source1 test_target1/test_source1/fs1 @@ -135,33 +131,32 @@ test_target1/test_source2/fs2/sub test_target1/test_source2/fs2/sub@test-20101111000000 """) - # generate an invalid resume token, and verify if its aborted automaticly def test_initial_resumeabort(self): if "0.6.5" in ZFS_USERSPACE: self.skipTest("Resume not supported in this ZFS userspace version") - #inital backup, leaves resume token + # inital backup, leaves resume token with patch('time.strftime', return_value="20101111000000"): self.generate_resume() - #remove corresponding source snapshot, so it becomes invalid + # remove corresponding source snapshot, so it becomes invalid shelltest("zfs destroy test_source1/fs1@test-20101111000000") - #NOTE: it can only abort the initial dataset if it has no subs + # NOTE: it can only abort the initial dataset if it has no subs shelltest("zfs destroy test_target1/test_source1/fs1/sub; true") - #--test try again, should abort old resume + # --test try again, should abort old resume with patch('time.strftime', return_value="20101111000001"): self.assertFalse(ZfsAutobackup("test test_target1 --verbose --test".split(" ")).run()) - #try again, should abort old resume + # try again, should abort old resume with patch('time.strftime', return_value="20101111000001"): self.assertFalse(ZfsAutobackup("test test_target1 --verbose".split(" ")).run()) - r=shelltest("zfs list -H -o name -r -t all test_target1") - self.assertMultiLineEqual(r,""" + r = shelltest("zfs list -H -o name -r -t all test_target1") + self.assertMultiLineEqual(r, """ test_target1 test_target1/test_source1 test_target1/test_source1/fs1 @@ -174,34 +169,33 @@ test_target1/test_source2/fs2/sub test_target1/test_source2/fs2/sub@test-20101111000000 """) - # generate an invalid resume token, and verify if its aborted automaticly def test_incremental_resumeabort(self): if "0.6.5" in ZFS_USERSPACE: self.skipTest("Resume not supported in this ZFS userspace version") - #initial backup + # initial backup with patch('time.strftime', return_value="20101111000000"): self.assertFalse(ZfsAutobackup("test test_target1 --verbose --allow-empty".split(" ")).run()) - #icremental backup, leaves resume token + # icremental backup, leaves resume token with patch('time.strftime', return_value="20101111000001"): self.generate_resume() - #remove corresponding source snapshot, so it becomes invalid + # remove corresponding source snapshot, so it becomes invalid shelltest("zfs destroy test_source1/fs1@test-20101111000001") - #--test try again, should abort old resume + # --test try again, should abort old resume with patch('time.strftime', return_value="20101111000002"): self.assertFalse(ZfsAutobackup("test test_target1 --verbose --test".split(" ")).run()) - #try again, should abort old resume + # try again, should abort old resume with patch('time.strftime', return_value="20101111000002"): self.assertFalse(ZfsAutobackup("test test_target1 --verbose".split(" ")).run()) - r=shelltest("zfs list -H -o name -r -t all test_target1") - self.assertMultiLineEqual(r,""" + r = shelltest("zfs list -H -o name -r -t all test_target1") + self.assertMultiLineEqual(r, """ test_target1 test_target1/test_source1 test_target1/test_source1/fs1 @@ -215,8 +209,7 @@ test_target1/test_source2/fs2/sub test_target1/test_source2/fs2/sub@test-20101111000000 """) - - #create a resume situation, where the other side doesnt want the snapshot anymore ( should abort resume ) + # create a resume situation, where the other side doesnt want the snapshot anymore ( should abort resume ) def test_abort_unwanted_resume(self): if "0.6.5" in ZFS_USERSPACE: @@ -225,22 +218,23 @@ test_target1/test_source2/fs2/sub@test-20101111000000 with patch('time.strftime', return_value="20101111000000"): self.assertFalse(ZfsAutobackup("test test_target1 --verbose".split(" ")).run()) - #generate resume + # generate resume with patch('time.strftime', return_value="20101111000001"): self.generate_resume() with OutputIO() as buf: with redirect_stdout(buf): - #incremental, doesnt want previous anymore + # incremental, doesnt want previous anymore with patch('time.strftime', return_value="20101111000002"): - self.assertFalse(ZfsAutobackup("test test_target1 --verbose --keep-target=0 --debug --allow-empty".split(" ")).run()) + self.assertFalse(ZfsAutobackup( + "test test_target1 --verbose --keep-target=0 --debug --allow-empty".split(" ")).run()) print(buf.getvalue()) self.assertIn(": aborting resume, since", buf.getvalue()) - r=shelltest("zfs list -H -o name -r -t all test_target1") - self.assertMultiLineEqual(r,""" + r = shelltest("zfs list -H -o name -r -t all test_target1") + self.assertMultiLineEqual(r, """ test_target1 test_target1/test_source1 test_target1/test_source1/fs1 @@ -253,23 +247,20 @@ test_target1/test_source2/fs2/sub test_target1/test_source2/fs2/sub@test-20101111000002 """) - def test_missing_common(self): with patch('time.strftime', return_value="20101111000000"): self.assertFalse(ZfsAutobackup("test test_target1 --verbose --allow-empty".split(" ")).run()) - #remove common snapshot and leave nothing + # remove common snapshot and leave nothing shelltest("zfs release zfs_autobackup:test test_source1/fs1@test-20101111000000") shelltest("zfs destroy test_source1/fs1@test-20101111000000") with patch('time.strftime', return_value="20101111000001"): self.assertTrue(ZfsAutobackup("test test_target1 --verbose --allow-empty".split(" ")).run()) - - - ############# TODO: - def test_ignoretransfererrors(self): + def test_ignoretransfererrors(self): - self.skipTest("todo: create some kind of situation where zfs recv exits with an error but transfer is still ok (happens in practice with acltype)") + self.skipTest( + "todo: create some kind of situation where zfs recv exits with an error but transfer is still ok (happens in practice with acltype)")