Bug#835641: diffoscope: traceback when comparing dangling symlink to directory

Chris Lamb lamby at debian.org
Tue Feb 7 02:31:24 UTC 2017


retitle 835641 diffoscope: tracebacks when comparing directories to non-directories
thanks

This is actually bigger than just dangling symlinks:

$ diffoscope /etc/cron.d/ /etc/fstab --no-progress
cmp: /etc/cron.d/: Is a directory
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/diffoscope/main.py", line 268, in main
    sys.exit(run_diffoscope(parsed_args))
  File "/usr/lib/python3/dist-packages/diffoscope/main.py", line 244, in run_diffoscope
    parsed_args.path1, parsed_args.path2)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/compare.py", line 61, in compare_root_paths
    return compare_files(file1, file2)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/compare.py", line 76, in compare_files
    return file1.compare_bytes(file2, source)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", line 165, in compare_bytes
    return compare_binary_files(self, other, source)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/compare.py", line 99, in compare_binary_files
    source=[file1.name, file2.name], has_internal_linenos=True)
  File "/usr/lib/python3/dist-packages/diffoscope/difference.py", line 120, in from_command
    difference = Difference.from_feeder(feeder1, feeder2, path1, path2, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/diffoscope/difference.py", line 70, in from_feeder
    unified_diff = diff(feeder1, feeder2)
  File "/usr/lib/python3/dist-packages/diffoscope/diff.py", line 282, in diff
    fd_from_feeder(feeder1, end_nl_q1, fifo1)
  File "/usr/lib/python3.5/contextlib.py", line 136, in helper
    return _GeneratorContextManager(func, args, kwds)
  File "/usr/lib/python3.5/contextlib.py", line 38, in __init__
    self.gen = func(*args, **kwds)
  File "/usr/lib/python3/dist-packages/diffoscope/diff.py", line 238, in fd_from_feeder
    t.join()
  File "/usr/lib/python3/dist-packages/diffoscope/diff.py", line 227, in join
    raise ex
  File "/usr/lib/python3/dist-packages/diffoscope/diff.py", line 213, 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/diff.py", line 197, in feed
    end_nl = feeder(f)
  File "/usr/lib/python3/dist-packages/diffoscope/difference.py", line 191, in feeder
    raise subprocess.CalledProcessError(returncode, command.cmdline(), output=command.stderr.getvalue())
subprocess.CalledProcessError: Command '['xxd', '/etc/cron.d/']' returned non-zero exit status 2



Regards,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      lamby at debian.org / chris-lamb.co.uk
       `-



More information about the Reproducible-builds mailing list