github.com/yasker/longhorn-engine@v0.0.0-20160621014712-6ed6cfca0729/integration/data/test_snapshot.py (about)

     1  import cmd
     2  import common
     3  from common import dev, backing_dev  # NOQA
     4  from common import read_dev, read_from_backing_file
     5  
     6  
     7  def test_snapshot_revert(dev):  # NOQA
     8      offset = 0
     9      length = 128
    10  
    11      snap1_data = common.random_string(length)
    12      common.verify_data(dev, offset, snap1_data)
    13      snap1 = cmd.snapshot_create()
    14  
    15      snap2_data = common.random_string(length)
    16      common.verify_data(dev, offset, snap2_data)
    17      snap2 = cmd.snapshot_create()
    18  
    19      snap3_data = common.random_string(length)
    20      common.verify_data(dev, offset, snap3_data)
    21      snap3 = cmd.snapshot_create()
    22  
    23      snapList = cmd.snapshot_ls()
    24      assert snap1 in snapList
    25      assert snap2 in snapList
    26      assert snap3 in snapList
    27  
    28      cmd.snapshot_revert(snap2)
    29      readed = read_dev(dev, offset, length)
    30      assert readed == snap2_data
    31  
    32      cmd.snapshot_revert(snap1)
    33      readed = read_dev(dev, offset, length)
    34      assert readed == snap1_data
    35  
    36  
    37  # BUG: https://github.com/rancher/longhorn/issues/108
    38  def test_snapshot_rm(dev):  # NOQA
    39      offset = 0
    40      length = 128
    41  
    42      snap1_data = common.random_string(length)
    43      common.verify_data(dev, offset, snap1_data)
    44      snap1 = cmd.snapshot_create()
    45  
    46      snap2_data = common.random_string(length)
    47      common.verify_data(dev, offset, snap2_data)
    48      snap2 = cmd.snapshot_create()
    49  
    50      snap3_data = common.random_string(length)
    51      common.verify_data(dev, offset, snap3_data)
    52      snap3 = cmd.snapshot_create()
    53  
    54      snapList = cmd.snapshot_ls()
    55      assert snap1 in snapList
    56      assert snap2 in snapList
    57      assert snap3 in snapList
    58  
    59      cmd.snapshot_rm(snap2)
    60  
    61      readed = read_dev(dev, offset, length)
    62      assert readed == snap3_data
    63  
    64      cmd.snapshot_revert(snap1)
    65      readed = read_dev(dev, offset, length)
    66      assert readed == snap1_data
    67  
    68  
    69  def test_snapshot_revert_with_backing_file(backing_dev):  # NOQA
    70      dev = backing_dev  # NOQA
    71  
    72      offset = 0
    73      length = 256
    74  
    75      snap0 = cmd.snapshot_create()
    76      before = read_dev(dev, offset, length)
    77      assert before != ""
    78  
    79      exists = read_from_backing_file(offset, length)
    80      assert before == exists
    81  
    82      test_snapshot_revert(dev)
    83  
    84      cmd.snapshot_revert(snap0)
    85      after = read_dev(dev, offset, length)
    86      assert before == after