shutil.rmtree(self.small_files_dir)
shutil.rmtree(self.tempdir_with_symlink)
- def test_non_regular_files_are_ignored(self):
+ def test_non_regular_files_are_ignored_except_symlinks_to_dirs(self):
def pfunc(x):
with open(x, 'w') as f:
f.write('test')
fifo_filename = 'fifo-file'
- fifo_path = os.path.join(self.tempdir, fifo_filename)
+ fifo_path = os.path.join(self.tempdir_with_symlink, fifo_filename)
+ self.assertTrue(os.path.islink(os.path.join(self.tempdir_with_symlink, 'linkeddir')))
os.mkfifo(fifo_path)
producer = multiprocessing.Process(target=pfunc, args=(fifo_path,))
producer.start()
- cwriter = arv_put.ArvPutUploadJob([self.tempdir])
+ cwriter = arv_put.ArvPutUploadJob([self.tempdir_with_symlink])
cwriter.start(save_collection=False)
- self.assertNotIn(fifo_filename, cwriter.manifest_text())
if producer.exitcode is None:
- # If the producer is still running, kill it.
+ # If the producer is still running, kill it. This should always be
+ # before any assertion that may fail.
producer.terminate()
producer.join(1)
+ self.assertIn('linkeddir', cwriter.manifest_text())
+ self.assertNotIn(fifo_filename, cwriter.manifest_text())
def test_symlinks_are_followed_by_default(self):
self.assertTrue(os.path.islink(os.path.join(self.tempdir_with_symlink, 'linkeddir')))