def test_copy(temp): """Check whether copying works correctly.""" test_dir = temp / 'test_dir' test_dir.makedirs_p() for i in xrange(10): (temp / ('test_file_%d' % i)).touch() (test_dir / ('test_file_%d' % i)).touch() existing_files = ['test_file_%d' % i for i in xrange(4, 10)] missing_files = ['test_file_%d' % i for i in xrange(10, 14)] files_to_copy = existing_files + missing_files + [test_dir.basename()] with tmp() as dest: copy(files_to_copy, temp, dest) # check whether files that existed were copied for filename in existing_files: assert (dest / filename).exists() # make sure that files that didn't exist don't get created for filename in missing_files: assert not (dest / filename).exists() # check whether directories are correctly copied dest_test_dir = dest / test_dir.basename() assert dest_test_dir.exists() assert dest_test_dir.isdir() for f in test_dir.walk(): assert (dest_test_dir / f.basename()).exists()
def temp(): with tmp() as temp: yield temp
def test_tmp(): """Check whether the tmp context manager works correctly.""" with tmp() as temp: assert temp.exists() assert temp.isdir() assert not temp.exists()