Your message dated Fri, 18 Nov 2022 10:19:14 +0000
with message-id <e1ovyso-00deto...@fasolo.debian.org>
and subject line Bug#1024171: fixed in diffoscope 227
has caused the Debian Bug report #1024171,
regarding diffoscope: autopkgtest regression: 'NoneType' object has no 
attribute 'add_comment'
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1024171: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1024171
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Source: diffoscope
Version: 226
Severity: serious
User: debian...@lists.debian.org
Usertags: regression

Dear maintainer(s),

With a recent upload of diffoscope the autopkgtest of diffoscope fails in testing when that autopkgtest is run with the binary packages of diffoscope from unstable. It passes when run with only packages from testing. In tabular form:

                       pass            fail
diffoscope             from testing    226
versioned deps [0]     from testing    from unstable
all others             from testing    from testing

I copied some of the output at the bottom of this report.

Currently this regression is blocking the migration to testing [1]. Can you please investigate the situation and fix it?

More information about this bug and the reason for filing it can be found on
https://wiki.debian.org/ContinuousIntegration/RegressionEmailInformation

Paul

[0] You can see what packages were added from the second line of the log file quoted below. The migration software adds source package from unstable to the list if they are needed to install packages from diffoscope/226. I.e. due to versioned dependencies or breaks/conflicts.
[1] https://qa.debian.org/excuses.php?package=diffoscope

https://ci.debian.net/data/autopkgtest/testing/amd64/d/diffoscope/28319467/log.gz

=================================== FAILURES =================================== _____________________________ test_no_differences ______________________________

self = <<class 'abc.HtmlFile'> /tmp/autopkgtest-lxc.0soup5pu/downtmp/autopkgtest_tmp/tests/data/test1.html> other = <<class 'abc.HtmlFile'> /tmp/autopkgtest-lxc.0soup5pu/downtmp/autopkgtest_tmp/tests/data/test1.html>
source = None

    def compare(self, other, source=None):
        difference = super().compare(other, source)
            # Show text-only differences as a sub-diff.
        try:
          text = Difference.from_operation(Htmltotext, self.path, other.path)

__class__  = <class 'diffoscope.comparators.html.HtmlFile'>
difference = None
other = <<class 'abc.HtmlFile'> /tmp/autopkgtest-lxc.0soup5pu/downtmp/autopkgtest_tmp/tests/data/test1.html> self = <<class 'abc.HtmlFile'> /tmp/autopkgtest-lxc.0soup5pu/downtmp/autopkgtest_tmp/tests/data/test1.html>
source     = None

/usr/lib/python3/dist-packages/diffoscope/comparators/html.py:44: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
klass = <class 'diffoscope.comparators.html.Htmltotext'>
path1 = '/tmp/autopkgtest-lxc.0soup5pu/downtmp/autopkgtest_tmp/tests/data/test1.html' path2 = '/tmp/autopkgtest-lxc.0soup5pu/downtmp/autopkgtest_tmp/tests/data/test1.html'
args = (), kwargs = {}

    @staticmethod
    def from_operation(klass, path1, path2, *args, **kwargs):
      return Difference.from_operation_exc(
            klass, path1, path2, *args, **kwargs
        )[0]

args       = ()
klass      = <class 'diffoscope.comparators.html.Htmltotext'>
kwargs     = {}
path1 = '/tmp/autopkgtest-lxc.0soup5pu/downtmp/autopkgtest_tmp/tests/data/test1.html' path2 = '/tmp/autopkgtest-lxc.0soup5pu/downtmp/autopkgtest_tmp/tests/data/test1.html'

/usr/lib/python3/dist-packages/diffoscope/difference.py:267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
klass = <class 'diffoscope.comparators.html.Htmltotext'>
path1 = '/tmp/autopkgtest-lxc.0soup5pu/downtmp/autopkgtest_tmp/tests/data/test1.html' path2 = '/tmp/autopkgtest-lxc.0soup5pu/downtmp/autopkgtest_tmp/tests/data/test1.html'
args = (), kwargs = {}, ignore_returncodes = ()
operation_and_feeder = <function Difference.from_operation_exc.<locals>.operation_and_feeder at 0x7f3447054a60>

    @staticmethod
    def from_operation_exc(klass, path1, path2, *args, **kwargs):
        operation_args = kwargs.pop("operation_args", [])
        ignore_returncodes = kwargs.pop("ignore_returncodes", ())
            def operation_and_feeder(path):
            operation = None
            if path == "/dev/null":
                feeder = feeders.empty()
            else:
                operation = klass(path, *operation_args)
                feeder = feeders.from_operation(operation)
                if operation_excluded(operation.full_name()):
                    return None, None, True
                operation.start()
            return feeder, operation, False
    >       feeder1, operation1, excluded1 = operation_and_feeder(path1)

args       = ()
ignore_returncodes = ()
klass      = <class 'diffoscope.comparators.html.Htmltotext'>
kwargs     = {}
operation_and_feeder = <function Difference.from_operation_exc.<locals>.operation_and_feeder at 0x7f3447054a60>
operation_args = []
path1 = '/tmp/autopkgtest-lxc.0soup5pu/downtmp/autopkgtest_tmp/tests/data/test1.html' path2 = '/tmp/autopkgtest-lxc.0soup5pu/downtmp/autopkgtest_tmp/tests/data/test1.html'

/usr/lib/python3/dist-packages/diffoscope/difference.py:288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ path = '/tmp/autopkgtest-lxc.0soup5pu/downtmp/autopkgtest_tmp/tests/data/test1.html'

    def operation_and_feeder(path):
        operation = None
        if path == "/dev/null":
            feeder = feeders.empty()
        else:
            operation = klass(path, *operation_args)
            feeder = feeders.from_operation(operation)
          if operation_excluded(operation.full_name()):

feeder     = <function from_operation.<locals>.feeder at 0x7f3447056e60>
klass      = <class 'diffoscope.comparators.html.Htmltotext'>
operation = <diffoscope.comparators.html.Htmltotext object at 0x7f344d280a00>
operation_args = []
path = '/tmp/autopkgtest-lxc.0soup5pu/downtmp/autopkgtest_tmp/tests/data/test1.html'

/usr/lib/python3/dist-packages/diffoscope/difference.py:283: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <diffoscope.comparators.html.Htmltotext object at 0x7f344d280a00>
args = ()
kwargs = {'replace': ('/tmp/autopkgtest-lxc.0soup5pu/downtmp/autopkgtest_tmp/tests/data/test1.html',)}

    def full_name(self, *args, **kwargs):
        kwargs.setdefault("replace", (self.path,))
      return format_cmdline(self.cmdline(), *args, **kwargs)

args       = ()
kwargs = {'replace': ('/tmp/autopkgtest-lxc.0soup5pu/downtmp/autopkgtest_tmp/tests/data/test1.html',)} self = <diffoscope.comparators.html.Htmltotext object at 0x7f344d280a00>

/usr/lib/python3/dist-packages/diffoscope/comparators/utils/command.py:71: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
args = (<diffoscope.comparators.html.Htmltotext object at 0x7f344d280a00>,)
kwargs = {}

    @functools.wraps(fn)
    def tool_check(*args, **kwargs):
        """
        Due to the way decorators are executed at import-time we defer the
        execution of `find_executable` until we actually run the decorated
        function (instead of prematurely returning a different version of
        `tool_check`).
            This ensures that any os.environ['PATH'] modifications are
        performed prior to the `find_executable` tests.
        """
        if not tool_check_installed(command):
          raise RequiredToolNotFound(command)
E           diffoscope.exc.RequiredToolNotFound

RequiredToolNotFound = <class 'diffoscope.exc.RequiredToolNotFound'>
args = (<diffoscope.comparators.html.Htmltotext object at 0x7f344d280a00>,)
command    = 'html2text'
fn         = <function Htmltotext.cmdline at 0x7f344d4629e0>
kwargs     = {}

/usr/lib/python3/dist-packages/diffoscope/tools.py:137: RequiredToolNotFound

During handling of the above exception, another exception occurred:

html1 = <<class 'abc.HtmlFile'> /tmp/autopkgtest-lxc.0soup5pu/downtmp/autopkgtest_tmp/tests/data/test1.html>

    def test_no_differences(html1):
      assert html1.compare(html1) is None

html1 = <<class 'abc.HtmlFile'> /tmp/autopkgtest-lxc.0soup5pu/downtmp/autopkgtest_tmp/tests/data/test1.html>

tests/comparators/test_html.py:36: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <<class 'abc.HtmlFile'> /tmp/autopkgtest-lxc.0soup5pu/downtmp/autopkgtest_tmp/tests/data/test1.html> other = <<class 'abc.HtmlFile'> /tmp/autopkgtest-lxc.0soup5pu/downtmp/autopkgtest_tmp/tests/data/test1.html>
source = None

    def compare(self, other, source=None):
        difference = super().compare(other, source)
            # Show text-only differences as a sub-diff.
        try:
text = Difference.from_operation(Htmltotext, self.path, other.path)
            if text is not None:
                difference.add_details([text])
        except RequiredToolNotFound as exc:  # noqa
          difference.add_comment(exc.get_comment())
E           AttributeError: 'NoneType' object has no attribute 'add_comment'

__class__  = <class 'diffoscope.comparators.html.HtmlFile'>
difference = None
other = <<class 'abc.HtmlFile'> /tmp/autopkgtest-lxc.0soup5pu/downtmp/autopkgtest_tmp/tests/data/test1.html> self = <<class 'abc.HtmlFile'> /tmp/autopkgtest-lxc.0soup5pu/downtmp/autopkgtest_tmp/tests/data/test1.html>
source     = None

/usr/lib/python3/dist-packages/diffoscope/comparators/html.py:48: AttributeError __________________________________ test_diff ___________________________________

differences = <Difference /tmp/autopkgtest-lxc.0soup5pu/downtmp/autopkgtest_tmp/tests/data/test1.html -- /tmp/autopkgtest-lxc.0soup5pu/downtmp/autopkgtest_tmp/tests/data/test2.html []>

    def test_diff(differences):
        assert_diff(differences, "html_expected_diff")
      assert_diff(differences.details[0], "html_text_expected_diff")
E       IndexError: list index out of range

differences = <Difference /tmp/autopkgtest-lxc.0soup5pu/downtmp/autopkgtest_tmp/tests/data/test1.html -- /tmp/autopkgtest-lxc.0soup5pu/downtmp/autopkgtest_tmp/tests/data/test2.html []>

tests/comparators/test_html.py:46: IndexError

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


--- End Message ---
--- Begin Message ---
Source: diffoscope
Source-Version: 227
Done: Chris Lamb <la...@debian.org>

We believe that the bug you reported is fixed in the latest version of
diffoscope, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1024...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Chris Lamb <la...@debian.org> (supplier of updated diffoscope package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Fri, 18 Nov 2022 09:38:34 +0000
Source: diffoscope
Architecture: source
Version: 227
Distribution: unstable
Urgency: medium
Maintainer: Reproducible builds folks 
<reproducible-bui...@lists.alioth.debian.org>
Changed-By: Chris Lamb <la...@debian.org>
Closes: 1024171 1024335 1024349
Changes:
 diffoscope (227) unstable; urgency=medium
 .
   [ Chris Lamb ]
   * Don't attempt to attach text-only differences notice if there are no
     differences to begin with. (Closes: #1024171, #1024349)
   * Don't run Python decompiling tests on Python bytecode that both file(1)
     cannot yet detect and Python 3.11 cannot demarshall. (Closes: #1024335)
Checksums-Sha1:
 73337602206196f4f68165b3faaf202a77857c0e 5091 diffoscope_227.dsc
 9ea37c20f9f21cf763ca3ca447766c6ecb31eaab 2442296 diffoscope_227.tar.xz
 30a6aa729c7d965699cb108048e6bce10a934c97 31437 diffoscope_227_amd64.buildinfo
Checksums-Sha256:
 c4d2976e488b4bbc1113edb517a5347854aae81b1fcaa2d50905314a6e80349f 5091 
diffoscope_227.dsc
 4b3efb5b13a92642860752754b3cf28e84886696ae999231d46b35d68a299724 2442296 
diffoscope_227.tar.xz
 45081f5a2ab63f5b214a487582c7b546a9ecf02394558bea30ed602ba2069da8 31437 
diffoscope_227_amd64.buildinfo
Files:
 7c5f28172d6c877498016bf0aac56050 5091 devel optional diffoscope_227.dsc
 aa428e08e40acdc856fe466e713af57b 2442296 devel optional diffoscope_227.tar.xz
 c249da91b601c6604cd413d2d918f30c 31437 devel optional 
diffoscope_227_amd64.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEwv5L0nHBObhsUz5GHpU+J9QxHlgFAmN3WA8ACgkQHpU+J9Qx
HlhNMA//UfJhlgzfyd2gdJV4+FrTfYCuak+RWoHz4Y1BZvVxO/k4EonEUw53U6yY
WT88TDdAymaX4rN1wU5bhybrzy1uTUT18p0yfruwcOog8T1IE4gmvA3vf483lGVC
facI5rmiDs/C+iJ9KWWsbAHZFDvT7eSDtT0wQVCCbjZlEBbboxISdVHPfA5wHZeg
UMmGO3XAThJpPNV/v+WD5Cc+Er4lQtRTH7YZNen5Y4mBbqfsgnH+CK+DBj58DJ7Q
x+mD8Sq2YQFeud4XZ+aVclP/ZP6huNBCoTkS1ZkOjTW5yUZlHdekCf5yC9yZ2AXW
F0FLpDr5D9/ISER7cEn6DZOuEVGWTpqViBrF3kevl9rdIgq/WPjYVYRQRPYFcjAD
RsaFE5ZuiZu3Jt7YnOQPaFaPf4KYK/uT0m4+d06qH8+mFnAXtMW58cSmuLjIc6hs
gHJziN46dIc2YYXpSl1Yjl8HtGSq24z9pHi6plxOHwoHM7hgcPf74gWFHoN/dOy8
HWACMR8xi8E/Yhxn4g0k0n0RWmAk5uEetrVJ7E5/b6fD1J7+PLFzjiRPhDaPentX
YKL0rxjXoIKI/6MYcINvkUi7mEPo0h1XNDSssrNlZFh1wy3hTkqbLY9/2Gg8P3rH
owd8Yh1KY0ZiCR7kKRZo8GtexAfNLAWxtY379xOSYnAacSRsCwA=
=JBb3
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to