Bug#835641: diffoscope: traceback when comparing dangling symlink to directory
Mattia Rizzolo
mattia at debian.org
Sat Aug 27 22:00:35 UTC 2016
Also dir to real file:
On Sat, Aug 27, 2016 at 10:51:49PM +0100, Chris Lamb wrote:
> $ mkdir dir
>
> $ ln -sf dst-file src-file
>
> $ diffoscope dir src-file
> cmp: dir: Is a directory
[..]
> Traceback (most recent call last):
> File "/usr/lib/python3/dist-packages/diffoscope/difference.py", line 260, in feeder
> raise subprocess.CalledProcessError(returncode, command.cmdline(), output=command.stderr.getvalue())
> subprocess.CalledProcessError: Command '['xxd', 'dir']' returned non-zero exit status 2
> Exception ignored in: <bound method File.__del__ of <<class 'abc.Symlink'> src-file>>
> Traceback (most recent call last):
> File "/usr/lib/python3/dist-packages/diffoscope/comparators/binary.py", line 112, in __del__
> self.cleanup()
> File "/usr/lib/python3/dist-packages/diffoscope/comparators/symlink.py", line 50, in cleanup
> os.remove(self._placeholder)
> FileNotFoundError: [Errno 2] No such file or directory: '/tmp/tmpzvwrnvg4_diffoscope'
mattia at chase /tmp % mkdir tmp
mattia at chase /tmp % touch tmp1
mattia at chase /tmp % diffoscope tmp tmp1
cmp: tmp: Is a directory
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/diffoscope/main.py", line 200, in main
sys.exit(run_diffoscope(parsed_args))
File "/usr/lib/python3/dist-packages/diffoscope/main.py", line 171, in run_diffoscope
parsed_args.path1, parsed_args.path2)
File "/usr/lib/python3/dist-packages/diffoscope/comparators/__init__.py", line 102, in compare_root_paths
return compare_files(file1, file2)
File "/usr/lib/python3/dist-packages/diffoscope/comparators/__init__.py", line 117, in compare_files
return file1.compare_bytes(file2, source)
File "/usr/lib/python3/dist-packages/diffoscope/comparators/binary.py", line 170, in compare_bytes
return compare_binary_files(self, other, source)
File "/usr/lib/python3/dist-packages/diffoscope/comparators/binary.py", line 55, in compare_binary_files
return Difference.from_command(diffoscope.comparators.utils.Xxd, file1.path, file2.path, source=[file1.name, file2.name])
File "/usr/lib/python3/dist-packages/diffoscope/difference.py", line 356, in from_command
difference = Difference.from_feeder(feeder1, feeder2, path1, path2, *args, **kwargs)
File "/usr/lib/python3/dist-packages/diffoscope/difference.py", line 306, in from_feeder
unified_diff = diff(feeder1, feeder2)
File "/usr/lib/python3/dist-packages/diffoscope/difference.py", line 270, in diff
return run_diff(fd1, fd2, end_nl_q1, end_nl_q2)
File "/usr/lib/python3.5/contextlib.py", line 66, in __exit__
next(self.gen)
File "/usr/lib/python3/dist-packages/diffoscope/difference.py", line 205, in fd_from_feeder
t.join()
File "/usr/lib/python3/dist-packages/diffoscope/difference.py", line 183, in join
raise ex
File "/usr/lib/python3/dist-packages/diffoscope/difference.py", line 169, in run
super().run(*args, **kwargs)
File "/usr/lib/python3.5/threading.py", line 862, in run
self._target(*self._args, **self._kwargs)
File "/usr/lib/python3/dist-packages/diffoscope/difference.py", line 190, in feed
end_nl = feeder(f)
File "/usr/lib/python3/dist-packages/diffoscope/difference.py", line 260, in feeder
raise subprocess.CalledProcessError(returncode, command.cmdline(), output=command.stderr.getvalue())
subprocess.CalledProcessError: Command '['xxd', 'tmp']' returned non-zero exit status 2
--
regards,
Mattia Rizzolo
GPG Key: 66AE 2B4A FCCF 3F52 DA18 4D18 4B04 3FCD B944 4540 .''`.
more about me: https://mapreri.org : :' :
Launchpad user: https://launchpad.net/~mapreri `. `'`
Debian QA page: https://qa.debian.org/developer.php?login=mattia `-
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/reproducible-builds/attachments/20160827/9ee755d5/attachment.sig>
More information about the Reproducible-builds
mailing list