@@ -183,27 +183,35 @@ def test_recopy():
183183 copyfile (orig_img , img_link )
184184 for  copy  in  (True , False ):
185185 for  use_hardlink  in  (True , False ):
186-  copyfile (orig_img , new_img , copy = copy , use_hardlink = use_hardlink )
187-  img_stat  =  os .stat (new_img )
188-  hdr_stat  =  os .stat (new_hdr )
189-  copyfile (orig_img , new_img , copy = copy , use_hardlink = use_hardlink )
190-  err_msg  =  "Regular - OS: {}; Copy: {}; Hardlink: {}" .format (
191-  os .name , copy , use_hardlink )
192-  yield  assert_equal , img_stat , os .stat (new_img ), err_msg 
193-  yield  assert_equal , hdr_stat , os .stat (new_hdr ), err_msg 
194-  os .unlink (new_img )
195-  os .unlink (new_hdr )
196- 
197-  copyfile (img_link , new_img , copy = copy , use_hardlink = use_hardlink )
198-  img_stat  =  os .stat (new_img )
199-  hdr_stat  =  os .stat (new_hdr )
200-  copyfile (img_link , new_img , copy = copy , use_hardlink = use_hardlink )
201-  err_msg  =  "Symlink - OS: {}; Copy: {}; Hardlink: {}" .format (
202-  os .name , copy , use_hardlink )
203-  yield  assert_equal , img_stat , os .stat (new_img ), err_msg 
204-  yield  assert_equal , hdr_stat , os .stat (new_hdr ), err_msg 
205-  os .unlink (new_img )
206-  os .unlink (new_hdr )
186+  for  hashmethod  in  ('timestamp' , 'content' ):
187+  kwargs  =  {'copy' : copy , 'use_hardlink' : use_hardlink ,
188+  'hashmethod' : hashmethod }
189+  # Copying does not preserve the original file's timestamp, so 
190+  # we may delete and re-copy, if the test is slower than a clock 
191+  # tick 
192+  if  copy  and  not  use_hardlink  and  hashmethod  ==  'timestamp' :
193+  continue 
194+  copyfile (orig_img , new_img , ** kwargs )
195+  img_stat  =  os .stat (new_img )
196+  hdr_stat  =  os .stat (new_hdr )
197+  copyfile (orig_img , new_img , ** kwargs )
198+  err_msg  =  "Regular - OS: {}; Copy: {}; Hardlink: {}" .format (
199+  os .name , copy , use_hardlink )
200+  yield  assert_equal , img_stat , os .stat (new_img ), err_msg 
201+  yield  assert_equal , hdr_stat , os .stat (new_hdr ), err_msg 
202+  os .unlink (new_img )
203+  os .unlink (new_hdr )
204+ 
205+  copyfile (img_link , new_img , ** kwargs )
206+  img_stat  =  os .stat (new_img )
207+  hdr_stat  =  os .stat (new_hdr )
208+  copyfile (img_link , new_img , ** kwargs )
209+  err_msg  =  "Symlink - OS: {}; Copy: {}; Hardlink: {}" .format (
210+  os .name , copy , use_hardlink )
211+  yield  assert_equal , img_stat , os .stat (new_img ), err_msg 
212+  yield  assert_equal , hdr_stat , os .stat (new_hdr ), err_msg 
213+  os .unlink (new_img )
214+  os .unlink (new_hdr )
207215 os .unlink (img_link )
208216 os .unlink (hdr_link )
209217 os .unlink (orig_img )
0 commit comments