@@ -132,15 +132,25 @@ def test_setup_with_snapshot(
132132 self , mock_Temporary , mock_mount , mock_mapped_device , mock_fs ,
133133 mock_command , mock_os_exists , mock_os_chmod
134134 ):
135+ def return_snapper_version (cmd , * args ):
136+ mock = Mock ()
137+ snapperCmd = ['chroot' , 'snapper' , '--version' ]
138+ subCmd = [element for element in cmd if element in snapperCmd ]
139+ if snapperCmd == subCmd :
140+ mock = Mock ()
141+ mock .output = 'snapper 0.12.0'
142+ else :
143+ mock .output = \
144+ 'ID 258 gen 26 top level 257 path @/.snapshots/1/snapshot'
145+ return mock
146+
147+ mock_command .side_effect = return_snapper_version
148+
135149 mock_Temporary .return_value .new_dir .return_value .name = 'tmpdir'
136150 toplevel_mount = Mock ()
137151 mock_mount .return_value = toplevel_mount
138- command_call = Mock ()
139- command_call .output = \
140- 'ID 258 gen 26 top level 257 path @/.snapshots/1/snapshot'
141152 mock_mapped_device .return_value = 'mapped_device'
142153 mock_os_exists .return_value = False
143- mock_command .return_value = command_call
144154 self .volume_manager .custom_args ['root_is_snapper_snapshot' ] = True
145155 self .volume_manager .custom_args ['quota_groups' ] = True
146156
@@ -161,6 +171,7 @@ def test_setup_with_snapshot(
161171 assert mock_command .call_args_list == [
162172 call (['btrfs' , 'quota' , 'enable' , 'tmpdir' ]),
163173 call (['btrfs' , 'subvolume' , 'create' , 'tmpdir/@' ]),
174+ call (['chroot' , 'root_dir' , 'snapper' , '--version' ]),
164175 call (['btrfs' , 'subvolume' , 'create' , 'tmpdir/@/.snapshots' ]),
165176 call (['btrfs' , 'subvolume' , 'create' , 'tmpdir/@/.snapshots/1/snapshot' ]),
166177 call (['btrfs' , 'subvolume' , 'list' , 'tmpdir' ]),
@@ -436,6 +447,16 @@ def exists(name):
436447 return False
437448 return True
438449
450+ def return_snapper_version (cmd , * args ):
451+ snapperCmd = ['chroot' , 'snapper' , '--version' ]
452+ subCmd = [element for element in cmd if element in snapperCmd ]
453+ if snapperCmd == subCmd :
454+ mock = Mock ()
455+ mock .output = 'snapper 0.12.0'
456+ return mock
457+
458+ mock_command .side_effect = return_snapper_version
459+
439460 self .volume_manager .custom_args ['quota_groups' ] = True
440461 mock_exists .side_effect = exists
441462
@@ -479,6 +500,7 @@ def exists(name):
479500 call (minidom .parseString (xml_info ).toprettyxml (indent = " " ))
480501 ]
481502 assert mock_command .call_args_list == [
503+ call (['chroot' , 'tmpdir' , 'snapper' , '--version' ]),
482504 call (['btrfs' , 'qgroup' , 'create' , '1/0' , 'tmpdir' ]),
483505 call ([
484506 'chroot' , 'tmpdir/@/.snapshots/1/snapshot' ,
@@ -502,6 +524,16 @@ def getitem(key):
502524 def contains (key ):
503525 return key in item
504526
527+ def return_snapper_version (cmd , * args ):
528+ snapperCmd = ['chroot' , 'snapper' , '--version' ]
529+ subCmd = [element for element in cmd if element in snapperCmd ]
530+ if snapperCmd == subCmd :
531+ mock = Mock ()
532+ mock .output = 'snapper 0.12.0'
533+ return mock
534+
535+ mock_command .side_effect = return_snapper_version
536+
505537 sysconf = Mock ()
506538 sysconf .__contains__ = Mock (side_effect = contains )
507539 sysconf .__getitem__ = Mock (side_effect = getitem )
0 commit comments