Commit 5ef24a6a authored by Chris Lamb's avatar Chris Lamb 👀
Browse files

Don't look for adjacent -dbgsym package files automatically anymore to align...

Don't look for adjacent -dbgsym package files automatically anymore to align better with default user expectations. The existing behaviour can be re-enabled by specifying the new `--use-dbgsym` flag. (Closes: #44, Debian:#920701)
parent a4d57370
Loading
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import collections

from diffoscope.exc import OutputParsingError
from diffoscope.tools import get_tool_name, tool_required
from diffoscope.config import Config
from diffoscope.tempfiles import get_named_temporary_file
from diffoscope.difference import Difference

@@ -468,7 +469,7 @@ class ElfContainer(Container):
            )
            raise OutputParsingError(command, self)

        if not has_debug_symbols:
        if not has_debug_symbols and Config().use_dbgsym:
            self._install_debug_symbols()

    @tool_required('objcopy')
+1 −0
Original line number Diff line number Diff line
@@ -63,6 +63,7 @@ class Config(object):
        self.exclude_directory_metadata = False
        self.compute_visual_diffs = False
        self.max_container_depth = 50
        self.use_dbgsym = False
        self.force_details = False

    def __setattr__(self, k, v):
+5 −0
Original line number Diff line number Diff line
@@ -229,6 +229,10 @@ def create_parser():
                        'it in a report, and affects all types of output, '
                        'including --text and --json. (0 to disable, default: '
                        '%(default)s)', default=0)
    group3.add_argument('--use-dbgsym', action='store_true',
                        help='Automatically use corresponding -dbgsym packages'
                        'when comparing .deb files. (default: %(default)s)',
                        default=Config().use_dbgsym)
    group3.add_argument('--force-details', default=False, action='store_true',
                        help='Force recursing into the depths of file formats '
                        'even if files have the same content, only really '
@@ -437,6 +441,7 @@ def run_diffoscope(parsed_args):
    maybe_set_limit(Config(), parsed_args, "max_diff_block_lines_saved")
    maybe_set_limit(Config(), parsed_args, "max_diff_input_lines")
    Config().max_container_depth = parsed_args.max_container_depth
    Config().use_dbgsym = parsed_args.use_dbgsym
    Config().force_details = parsed_args.force_details
    Config().fuzzy_threshold = parsed_args.fuzzy_threshold
    Config().new_file = parsed_args.new_file
+2 −1
Original line number Diff line number Diff line
@@ -162,7 +162,8 @@ def dbgsym_dir2():


@pytest.fixture
def dbgsym_differences(dbgsym_dir1, dbgsym_dir2):
def dbgsym_differences(monkeypatch, dbgsym_dir1, dbgsym_dir2):
    monkeypatch.setattr(Config(), 'use_dbgsym', True)
    return dbgsym_dir1.compare(dbgsym_dir2)