mirror of
https://github.com/psy0rz/zfs_autobackup.git
synced 2025-04-13 22:47:12 +03:00
cleanup tests
This commit is contained in:
parent
4e1bfd8cba
commit
b22113aad4
36
basetest.py
Normal file
36
basetest.py
Normal file
@ -0,0 +1,36 @@
|
||||
import subprocess
|
||||
import random
|
||||
|
||||
#default test stuff
|
||||
import unittest
|
||||
import subprocess
|
||||
import time
|
||||
from pprint import *
|
||||
from bin.zfs_autobackup import *
|
||||
|
||||
|
||||
def prepare_zpools():
|
||||
print("Preparing zfs filesystems...")
|
||||
|
||||
#need ram blockdevice
|
||||
# subprocess.call("rmmod brd", shell=True)
|
||||
subprocess.check_call("modprobe brd rd_size=512000", shell=True)
|
||||
|
||||
#remove old stuff
|
||||
subprocess.call("zpool destroy test_source1", shell=True)
|
||||
subprocess.call("zpool destroy test_source2", shell=True)
|
||||
subprocess.call("zpool destroy test_target1", shell=True)
|
||||
|
||||
#create pools
|
||||
subprocess.check_call("zpool create test_source1 /dev/ram0", shell=True)
|
||||
subprocess.check_call("zpool create test_source2 /dev/ram1", shell=True)
|
||||
subprocess.check_call("zpool create test_target1 /dev/ram2", shell=True)
|
||||
|
||||
#create test structure
|
||||
subprocess.check_call("zfs create -p test_source1/fs1/sub", shell=True)
|
||||
subprocess.check_call("zfs create -p test_source2/fs2/sub", shell=True)
|
||||
subprocess.check_call("zfs create -p test_source2/fs3/sub", shell=True)
|
||||
subprocess.check_call("zfs set autobackup:test=true test_source1/fs1", shell=True)
|
||||
subprocess.check_call("zfs set autobackup:test=child test_source2/fs2", shell=True)
|
||||
|
||||
print("Prepare done")
|
@ -1418,7 +1418,7 @@ class ZfsNode(ExecuteNode):
|
||||
|
||||
class ZfsAutobackup:
|
||||
"""main class"""
|
||||
def __init__(self):
|
||||
def __init__(self,argv):
|
||||
|
||||
parser = argparse.ArgumentParser(
|
||||
description=HEADER,
|
||||
@ -1465,7 +1465,7 @@ class ZfsAutobackup:
|
||||
parser.add_argument('--progress', action='store_true', help='show zfs progress output (to stderr). Enabled by default on ttys.')
|
||||
|
||||
#note args is the only global variable we use, since its a global readonly setting anyway
|
||||
args = parser.parse_args()
|
||||
args = parser.parse_args(argv)
|
||||
|
||||
self.args=args
|
||||
|
||||
@ -1624,5 +1624,5 @@ class ZfsAutobackup:
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
zfs_autobackup=ZfsAutobackup()
|
||||
zfs_autobackup=ZfsAutobackup(sys.argv)
|
||||
sys.exit(zfs_autobackup.run())
|
||||
|
@ -1,3 +1,3 @@
|
||||
#!/bin/bash
|
||||
coverage run --source bin.zfs_autobackup -m unittest ; coverage report
|
||||
coverage run --source bin.zfs_autobackup -m unittest -v $@; coverage report
|
||||
|
||||
|
@ -1,10 +1,5 @@
|
||||
from basetest import *
|
||||
|
||||
#default test stuff
|
||||
import unittest
|
||||
from bin.zfs_autobackup import *
|
||||
|
||||
import subprocess
|
||||
import time
|
||||
|
||||
print("THIS TEST REQUIRES SSH TO LOCALHOST")
|
||||
|
||||
|
@ -1,13 +1,5 @@
|
||||
from basetest import *
|
||||
|
||||
#default test stuff
|
||||
import unittest
|
||||
from bin.zfs_autobackup import *
|
||||
|
||||
#test specific
|
||||
import random
|
||||
import sys
|
||||
import time
|
||||
import pprint
|
||||
|
||||
class Thing:
|
||||
def __init__(self, timestamp):
|
||||
|
@ -1,43 +1,26 @@
|
||||
from basetest import *
|
||||
|
||||
#default test stuff
|
||||
import unittest
|
||||
from bin.zfs_autobackup import *
|
||||
|
||||
import subprocess
|
||||
import time
|
||||
from pprint import pformat
|
||||
|
||||
class TestZfsNode(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
print("Preparing zfs filesystems...")
|
||||
|
||||
#need ram blockdevice
|
||||
# subprocess.call("rmmod brd", shell=True)
|
||||
subprocess.check_call("modprobe brd rd_size=512000", shell=True)
|
||||
|
||||
#remove old stuff
|
||||
subprocess.call("zpool destroy test_source1", shell=True)
|
||||
subprocess.call("zpool destroy test_source2", shell=True)
|
||||
subprocess.call("zpool destroy test_target1", shell=True)
|
||||
|
||||
#create pools
|
||||
subprocess.check_call("zpool create test_source1 /dev/ram0", shell=True)
|
||||
subprocess.check_call("zpool create test_source2 /dev/ram1", shell=True)
|
||||
subprocess.check_call("zpool create test_target1 /dev/ram2", shell=True)
|
||||
|
||||
#create test structure
|
||||
subprocess.check_call("zfs create -p test_source1/fs1/sub", shell=True)
|
||||
subprocess.check_call("zfs create -p test_source2/fs2/sub", shell=True)
|
||||
subprocess.check_call("zfs create -p test_source2/fs3/sub", shell=True)
|
||||
subprocess.check_call("zfs set autobackup:test=true test_source1/fs1", shell=True)
|
||||
subprocess.check_call("zfs set autobackup:test=child test_source2/fs2", shell=True)
|
||||
|
||||
print("Prepare done")
|
||||
|
||||
prepare_zpools()
|
||||
return super().setUp()
|
||||
|
||||
|
||||
def test_consistent_snapshot(self):
|
||||
logger=Logger()
|
||||
description="[Source]"
|
||||
node=ZfsNode("test", logger, description=description)
|
||||
|
||||
with self.subTest("### no changes, no snapshot"):
|
||||
node.consistent_snapshot(node.selected_datasets, "snap1", 100000)
|
||||
s=pformat(subprocess.check_call("zfs list -r -t all" , shell=True))
|
||||
print(s)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
def test_getselected(self):
|
||||
logger=Logger()
|
||||
@ -51,7 +34,7 @@ class TestZfsNode(unittest.TestCase):
|
||||
(local): test_source1/fs1/sub,
|
||||
(local): test_source2/fs2/sub]""")
|
||||
|
||||
#caching, so expect same result
|
||||
#caching, so expect same result after changing it
|
||||
subprocess.check_call("zfs set autobackup:test=true test_source2/fs3", shell=True)
|
||||
self.assertEqual (s, """[(local): test_source1/fs1,
|
||||
(local): test_source1/fs1/sub,
|
||||
@ -59,5 +42,7 @@ class TestZfsNode(unittest.TestCase):
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
Loading…
x
Reference in New Issue
Block a user