Skip to content

Test failures in 2.0.0 with SQLAlchemy: TypeError: can't subtract offset-naive and offset-aware datetimes #72

Closed
@mgorny

Description

@mgorny

When running the test suite on 2.0.0 release (or git 142b41e), I'm getting a number of test failures. FWICS the CI doesn't reproduce them because it runs without SQLAlchemy installed.

$ tox -e py312
.pkg: install_requires> python -I -m pip install 'flit_core>=3.7'
.pkg: _optional_hooks> python /usr/lib/python3.12/site-packages/pyproject_api/_backend.py True flit_core.buildapi
.pkg: get_requires_for_build_editable> python /usr/lib/python3.12/site-packages/pyproject_api/_backend.py True flit_core.buildapi
.pkg: build_editable> python /usr/lib/python3.12/site-packages/pyproject_api/_backend.py True flit_core.buildapi
py312: install_package_deps> python -I -m pip install 'Sphinx>=5' jinja2 pytest sphinxcontrib-serializinghtml sqlalchemy whoosh
py312: install_package> python -I -m pip install --force-reinstall --no-deps /tmp/sphinxcontrib-websupport/.tox/.tmp/package/1/sphinxcontrib_websupport-2.0.0-py3-none-any.whl
py312: commands[0]> .tox/py312/bin/python -m pytest tests/
========================================================= test session starts =========================================================
platform linux -- Python 3.12.4, pytest-8.3.2, pluggy-1.5.0
cachedir: .tox/py312/.pytest_cache
rootdir: /tmp/sphinxcontrib-websupport
configfile: pyproject.toml
collected 13 items                                                                                                                    

tests/test_searchadapters.py s.                                                                                                 [ 15%]
tests/test_websupport.py ...FFFFFFF.                                                                                            [100%]

============================================================== FAILURES ===============================================================
____________________________________________________________ test_comments ____________________________________________________________

support = <sphinxcontrib.websupport.core.WebSupport object at 0x7f70c1e8b110>

    @skip_if_sqlalchemy_missing
    @with_support()
    def test_comments(support):
        support.build()
        session = Session()
        nodes = session.query(Node).all()
        first_node = nodes[0]
        second_node = nodes[1]
    
        # Create a displayed comment and a non displayed comment.
>       comment = support.add_comment('First test comment',
                                      node_id=first_node.id,
                                      username='user_one')

tests/test_websupport.py:94: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
sphinxcontrib/websupport/core.py:333: in add_comment
    comment = self.storage.add_comment(parsed, displayed, username,
sphinxcontrib/websupport/storage/sqlalchemystorage.py:82: in add_comment
    d = comment.serializable()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <sphinxcontrib.websupport.storage.sqlalchemy_db.Comment object at 0x7f70c1b23e30>, vote = 0

    def serializable(self, vote=0):
        """Creates a serializable representation of the comment. This is
        converted to JSON, and used on the client side.
        """
>       delta = datetime.now(tz=timezone.utc) - self.time
E       TypeError: can't subtract offset-naive and offset-aware datetimes

sphinxcontrib/websupport/storage/sqlalchemy_db.py:162: TypeError
-------------------------------------------------------- Captured stdout call ---------------------------------------------------------
Running Sphinx v8.0.2
loading translations [en]... done
Converting `source_suffix = ['.txt', '.add', '.foo']` to `source_suffix = {'.txt': 'restructuredtext', '.add': 'restructuredtext', '.foo': 'restructuredtext'}`.
building [mo]: targets for 0 po files that are out of date
writing output... 
building [websupport]: targets for 14 source files that are out of date
updating environment: [new config] 14 added, 0 changed, 0 removed
reading sources... [  7%] bom
reading sources... [ 14%] contents
reading sources... [ 21%] extapi
reading sources... [ 29%] extensions
reading sources... [ 36%] footnote
reading sources... [ 43%] images
reading sources... [ 50%] includes
reading sources... [ 57%] lists
reading sources... [ 64%] markup
reading sources... [ 71%] math
reading sources... [ 79%] metadata
reading sources... [ 86%] objects
reading sources... [ 93%] subdir/images
reading sources... [100%] subdir/includes

looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
copying assets... 
copying downloadable files... [ 50%] ../../../img.png
copying downloadable files... [100%] ../../../subdir/img.png

copying static files... done
copying extra files... done
copying assets: done
writing output... [  7%] bom
writing output... [ 14%] contents
writing output... [ 21%] extapi
writing output... [ 29%] extensions
writing output... [ 36%] footnote
writing output... [ 43%] images
writing output... [ 50%] includes
writing output... [ 57%] lists
writing output... [ 64%] markup
writing output... [ 71%] math
writing output... [ 79%] metadata
writing output... [ 86%] objects
writing output... [ 93%] subdir/images
writing output... [100%] subdir/includes

generating indices... genindex py-modindex done
writing additional pages... search done
copying images... [ 14%] img.png
copying images... [ 29%] subdir/img.png
copying images... [ 43%] subdir/simg.png
copying images... [ 57%] svgimg.svg
copying images... [ 71%] img.foo.png
copying images... [ 86%] ../root/img.png
copying images... [100%] rimg.png

dumping object inventory... done
build succeeded, 16 warnings.

You can now process the pickle files in ../pytest-of-mgorny/pytest-4/test_comments0/websupport/data.
-------------------------------------------------------- Captured stderr call ---------------------------------------------------------
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/contents.txt:10: WARNING: toctree contains reference to nonexisting document 'autodoc' [toc.not_readable]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/contents.txt:10: WARNING: duplicated entry found in toctree: extensions
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:7: ERROR: Unknown interpreted text role "issue". [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:7: ERROR: Unknown interpreted text role "pyurl". [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:7: ERROR: Unknown interpreted text role "issue". [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:14: ERROR: Unknown directive type "todo".

.. todo::

   Test the todo extension. [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:18: ERROR: Unknown directive type "todo".

.. todo::

   Test with |sub| (see #286). [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:28: ERROR: Unknown directive type "todolist".

.. todolist:: [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/images.txt:8: WARNING: image file not readable: foo.png [image.not_readable]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/includes.txt:4: WARNING: download file not readable: /tmp/sphinxcontrib-websupport/tests/roots/test-root/root/nonexisting.png [download.not_readable]
WARNING: 'keyword' is deprecated for index entries (from entry 'keyword: with'). Use 'pair: keyword; with' instead. [index]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/objects.txt:110: WARNING: Error in declarator
If declarator-id with parameters (e.g., 'void f(int arg)'):
  Invalid C declaration: Expected identifier in nested name. [error at 18]
    Sphinx_DoSomething()
    ------------------^
If parenthesis in noptr-declarator (e.g., 'void (*f(int arg))(double)'):
  Error in declarator or parameters
  Invalid C declaration: Expected identifier in nested name. [error at 19]
    Sphinx_DoSomething()
    -------------------^

/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/objects.txt:112: WARNING: Error in declarator or parameters
Invalid C declaration: Expected identifier in nested name. [error at 19]
  SphinxStruct.member
  -------------------^
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/objects.txt:118: WARNING: Error in declarator or parameters
Invalid C declaration: Expected identifier in nested name. [error at 13]
  sphinx_global
  -------------^
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/contents.txt:10: WARNING: extensions is already assigned section numbers (nested numbered toctree?) [toc.secnum]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/objects.txt:143: WARNING: Unparseable C cross-reference: 'SphinxType *'
Invalid C declaration: Expected end of definition. [error at 11]
  SphinxType *
  -----------^
______________________________________________________ test_user_delete_comments ______________________________________________________

support = <sphinxcontrib.websupport.core.WebSupport object at 0x7f70c1de7740>

    @skip_if_sqlalchemy_missing
    @with_support()
    def test_user_delete_comments(support):
        def get_comment():
            session = Session()
            node = session.query(Node).first()
            session.close()
            return support.get_data(node.id)['comments'][0]
    
>       test_comments(support)

tests/test_websupport.py:143: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/test_websupport.py:94: in test_comments
    comment = support.add_comment('First test comment',
sphinxcontrib/websupport/core.py:333: in add_comment
    comment = self.storage.add_comment(parsed, displayed, username,
sphinxcontrib/websupport/storage/sqlalchemystorage.py:82: in add_comment
    d = comment.serializable()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <sphinxcontrib.websupport.storage.sqlalchemy_db.Comment object at 0x7f70c1d751c0>, vote = 0

    def serializable(self, vote=0):
        """Creates a serializable representation of the comment. This is
        converted to JSON, and used on the client side.
        """
>       delta = datetime.now(tz=timezone.utc) - self.time
E       TypeError: can't subtract offset-naive and offset-aware datetimes

sphinxcontrib/websupport/storage/sqlalchemy_db.py:162: TypeError
-------------------------------------------------------- Captured stdout call ---------------------------------------------------------
Running Sphinx v8.0.2
loading translations [en]... done
Converting `source_suffix = ['.txt', '.add', '.foo']` to `source_suffix = {'.txt': 'restructuredtext', '.add': 'restructuredtext', '.foo': 'restructuredtext'}`.
building [mo]: targets for 0 po files that are out of date
writing output... 
building [websupport]: targets for 14 source files that are out of date
updating environment: [new config] 14 added, 0 changed, 0 removed
reading sources... [  7%] bom
reading sources... [ 14%] contents
reading sources... [ 21%] extapi
reading sources... [ 29%] extensions
reading sources... [ 36%] footnote
reading sources... [ 43%] images
reading sources... [ 50%] includes
reading sources... [ 57%] lists
reading sources... [ 64%] markup
reading sources... [ 71%] math
reading sources... [ 79%] metadata
reading sources... [ 86%] objects
reading sources... [ 93%] subdir/images
reading sources... [100%] subdir/includes

looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
copying assets... 
copying downloadable files... [ 50%] ../../../img.png
copying downloadable files... [100%] ../../../subdir/img.png

copying static files... done
copying extra files... done
copying assets: done
writing output... [  7%] bom
writing output... [ 14%] contents
writing output... [ 21%] extapi
writing output... [ 29%] extensions
writing output... [ 36%] footnote
writing output... [ 43%] images
writing output... [ 50%] includes
writing output... [ 57%] lists
writing output... [ 64%] markup
writing output... [ 71%] math
writing output... [ 79%] metadata
writing output... [ 86%] objects
writing output... [ 93%] subdir/images
writing output... [100%] subdir/includes

generating indices... genindex py-modindex done
writing additional pages... search done
copying images... [ 14%] img.png
copying images... [ 29%] subdir/img.png
copying images... [ 43%] subdir/simg.png
copying images... [ 57%] svgimg.svg
copying images... [ 71%] img.foo.png
copying images... [ 86%] ../root/img.png
copying images... [100%] rimg.png

dumping object inventory... done
build succeeded, 16 warnings.

You can now process the pickle files in ../pytest-of-mgorny/pytest-4/test_user_delete_comments0/websupport/data.
-------------------------------------------------------- Captured stderr call ---------------------------------------------------------
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/contents.txt:10: WARNING: toctree contains reference to nonexisting document 'autodoc' [toc.not_readable]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/contents.txt:10: WARNING: duplicated entry found in toctree: extensions
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:7: ERROR: Unknown interpreted text role "issue". [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:7: ERROR: Unknown interpreted text role "pyurl". [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:7: ERROR: Unknown interpreted text role "issue". [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:14: ERROR: Unknown directive type "todo".

.. todo::

   Test the todo extension. [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:18: ERROR: Unknown directive type "todo".

.. todo::

   Test with |sub| (see #286). [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:28: ERROR: Unknown directive type "todolist".

.. todolist:: [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/images.txt:8: WARNING: image file not readable: foo.png [image.not_readable]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/includes.txt:4: WARNING: download file not readable: /tmp/sphinxcontrib-websupport/tests/roots/test-root/root/nonexisting.png [download.not_readable]
WARNING: 'keyword' is deprecated for index entries (from entry 'keyword: with'). Use 'pair: keyword; with' instead. [index]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/objects.txt:110: WARNING: Error in declarator
If declarator-id with parameters (e.g., 'void f(int arg)'):
  Invalid C declaration: Expected identifier in nested name. [error at 18]
    Sphinx_DoSomething()
    ------------------^
If parenthesis in noptr-declarator (e.g., 'void (*f(int arg))(double)'):
  Error in declarator or parameters
  Invalid C declaration: Expected identifier in nested name. [error at 19]
    Sphinx_DoSomething()
    -------------------^

/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/objects.txt:112: WARNING: Error in declarator or parameters
Invalid C declaration: Expected identifier in nested name. [error at 19]
  SphinxStruct.member
  -------------------^
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/objects.txt:118: WARNING: Error in declarator or parameters
Invalid C declaration: Expected identifier in nested name. [error at 13]
  sphinx_global
  -------------^
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/contents.txt:10: WARNING: extensions is already assigned section numbers (nested numbered toctree?) [toc.secnum]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/objects.txt:143: WARNING: Unparseable C cross-reference: 'SphinxType *'
Invalid C declaration: Expected end of definition. [error at 11]
  SphinxType *
  -----------^
___________________________________________________________ test_moderation ___________________________________________________________

support = <sphinxcontrib.websupport.core.WebSupport object at 0x7f70c1db1550>

    @skip_if_sqlalchemy_missing
    @with_support(moderation_callback=moderation_callback)
    def test_moderation(support):
        support.build()
        session = Session()
        nodes = session.query(Node).all()
        node = nodes[7]
        session.close()
>       accepted = support.add_comment('Accepted Comment', node_id=node.id,
                                       displayed=False)

tests/test_websupport.py:172: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
sphinxcontrib/websupport/core.py:333: in add_comment
    comment = self.storage.add_comment(parsed, displayed, username,
sphinxcontrib/websupport/storage/sqlalchemystorage.py:82: in add_comment
    d = comment.serializable()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <sphinxcontrib.websupport.storage.sqlalchemy_db.Comment object at 0x7f70c204b710>, vote = 0

    def serializable(self, vote=0):
        """Creates a serializable representation of the comment. This is
        converted to JSON, and used on the client side.
        """
>       delta = datetime.now(tz=timezone.utc) - self.time
E       TypeError: can't subtract offset-naive and offset-aware datetimes

sphinxcontrib/websupport/storage/sqlalchemy_db.py:162: TypeError
-------------------------------------------------------- Captured stdout call ---------------------------------------------------------
Running Sphinx v8.0.2
loading translations [en]... done
Converting `source_suffix = ['.txt', '.add', '.foo']` to `source_suffix = {'.txt': 'restructuredtext', '.add': 'restructuredtext', '.foo': 'restructuredtext'}`.
building [mo]: targets for 0 po files that are out of date
writing output... 
building [websupport]: targets for 14 source files that are out of date
updating environment: [new config] 14 added, 0 changed, 0 removed
reading sources... [  7%] bom
reading sources... [ 14%] contents
reading sources... [ 21%] extapi
reading sources... [ 29%] extensions
reading sources... [ 36%] footnote
reading sources... [ 43%] images
reading sources... [ 50%] includes
reading sources... [ 57%] lists
reading sources... [ 64%] markup
reading sources... [ 71%] math
reading sources... [ 79%] metadata
reading sources... [ 86%] objects
reading sources... [ 93%] subdir/images
reading sources... [100%] subdir/includes

looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
copying assets... 
copying downloadable files... [ 50%] ../../../img.png
copying downloadable files... [100%] ../../../subdir/img.png

copying static files... done
copying extra files... done
copying assets: done
writing output... [  7%] bom
writing output... [ 14%] contents
writing output... [ 21%] extapi
writing output... [ 29%] extensions
writing output... [ 36%] footnote
writing output... [ 43%] images
writing output... [ 50%] includes
writing output... [ 57%] lists
writing output... [ 64%] markup
writing output... [ 71%] math
writing output... [ 79%] metadata
writing output... [ 86%] objects
writing output... [ 93%] subdir/images
writing output... [100%] subdir/includes

generating indices... genindex py-modindex done
writing additional pages... search done
copying images... [ 14%] img.png
copying images... [ 29%] subdir/img.png
copying images... [ 43%] subdir/simg.png
copying images... [ 57%] svgimg.svg
copying images... [ 71%] img.foo.png
copying images... [ 86%] ../root/img.png
copying images... [100%] rimg.png

dumping object inventory... done
build succeeded, 16 warnings.

You can now process the pickle files in ../pytest-of-mgorny/pytest-4/test_moderation0/websupport/data.
-------------------------------------------------------- Captured stderr call ---------------------------------------------------------
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/contents.txt:10: WARNING: toctree contains reference to nonexisting document 'autodoc' [toc.not_readable]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/contents.txt:10: WARNING: duplicated entry found in toctree: extensions
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:7: ERROR: Unknown interpreted text role "issue". [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:7: ERROR: Unknown interpreted text role "pyurl". [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:7: ERROR: Unknown interpreted text role "issue". [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:14: ERROR: Unknown directive type "todo".

.. todo::

   Test the todo extension. [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:18: ERROR: Unknown directive type "todo".

.. todo::

   Test with |sub| (see #286). [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:28: ERROR: Unknown directive type "todolist".

.. todolist:: [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/images.txt:8: WARNING: image file not readable: foo.png [image.not_readable]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/includes.txt:4: WARNING: download file not readable: /tmp/sphinxcontrib-websupport/tests/roots/test-root/root/nonexisting.png [download.not_readable]
WARNING: 'keyword' is deprecated for index entries (from entry 'keyword: with'). Use 'pair: keyword; with' instead. [index]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/objects.txt:110: WARNING: Error in declarator
If declarator-id with parameters (e.g., 'void f(int arg)'):
  Invalid C declaration: Expected identifier in nested name. [error at 18]
    Sphinx_DoSomething()
    ------------------^
If parenthesis in noptr-declarator (e.g., 'void (*f(int arg))(double)'):
  Error in declarator or parameters
  Invalid C declaration: Expected identifier in nested name. [error at 19]
    Sphinx_DoSomething()
    -------------------^

/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/objects.txt:112: WARNING: Error in declarator or parameters
Invalid C declaration: Expected identifier in nested name. [error at 19]
  SphinxStruct.member
  -------------------^
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/objects.txt:118: WARNING: Error in declarator or parameters
Invalid C declaration: Expected identifier in nested name. [error at 13]
  sphinx_global
  -------------^
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/contents.txt:10: WARNING: extensions is already assigned section numbers (nested numbered toctree?) [toc.secnum]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/objects.txt:143: WARNING: Unparseable C cross-reference: 'SphinxType *'
Invalid C declaration: Expected end of definition. [error at 11]
  SphinxType *
  -----------^
___________________________________________________ test_moderator_delete_comments ____________________________________________________

support = <sphinxcontrib.websupport.core.WebSupport object at 0x7f70c20ba0f0>

    @skip_if_sqlalchemy_missing
    @with_support()
    def test_moderator_delete_comments(support):
        def get_comment():
            session = Session()
            node = session.query(Node).first()
            session.close()
            return support.get_data(node.id, moderator=True)['comments'][1]
    
>       test_comments(support)

tests/test_websupport.py:200: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/test_websupport.py:94: in test_comments
    comment = support.add_comment('First test comment',
sphinxcontrib/websupport/core.py:333: in add_comment
    comment = self.storage.add_comment(parsed, displayed, username,
sphinxcontrib/websupport/storage/sqlalchemystorage.py:82: in add_comment
    d = comment.serializable()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <sphinxcontrib.websupport.storage.sqlalchemy_db.Comment object at 0x7f70c2291880>, vote = 0

    def serializable(self, vote=0):
        """Creates a serializable representation of the comment. This is
        converted to JSON, and used on the client side.
        """
>       delta = datetime.now(tz=timezone.utc) - self.time
E       TypeError: can't subtract offset-naive and offset-aware datetimes

sphinxcontrib/websupport/storage/sqlalchemy_db.py:162: TypeError
-------------------------------------------------------- Captured stdout call ---------------------------------------------------------
Running Sphinx v8.0.2
loading translations [en]... done
Converting `source_suffix = ['.txt', '.add', '.foo']` to `source_suffix = {'.txt': 'restructuredtext', '.add': 'restructuredtext', '.foo': 'restructuredtext'}`.
building [mo]: targets for 0 po files that are out of date
writing output... 
building [websupport]: targets for 14 source files that are out of date
updating environment: [new config] 14 added, 0 changed, 0 removed
reading sources... [  7%] bom
reading sources... [ 14%] contents
reading sources... [ 21%] extapi
reading sources... [ 29%] extensions
reading sources... [ 36%] footnote
reading sources... [ 43%] images
reading sources... [ 50%] includes
reading sources... [ 57%] lists
reading sources... [ 64%] markup
reading sources... [ 71%] math
reading sources... [ 79%] metadata
reading sources... [ 86%] objects
reading sources... [ 93%] subdir/images
reading sources... [100%] subdir/includes

looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
copying assets... 
copying downloadable files... [ 50%] ../../../img.png
copying downloadable files... [100%] ../../../subdir/img.png

copying static files... done
copying extra files... done
copying assets: done
writing output... [  7%] bom
writing output... [ 14%] contents
writing output... [ 21%] extapi
writing output... [ 29%] extensions
writing output... [ 36%] footnote
writing output... [ 43%] images
writing output... [ 50%] includes
writing output... [ 57%] lists
writing output... [ 64%] markup
writing output... [ 71%] math
writing output... [ 79%] metadata
writing output... [ 86%] objects
writing output... [ 93%] subdir/images
writing output... [100%] subdir/includes

generating indices... genindex py-modindex done
writing additional pages... search done
copying images... [ 14%] img.png
copying images... [ 29%] subdir/img.png
copying images... [ 43%] subdir/simg.png
copying images... [ 57%] svgimg.svg
copying images... [ 71%] img.foo.png
copying images... [ 86%] ../root/img.png
copying images... [100%] rimg.png

dumping object inventory... done
build succeeded, 16 warnings.

You can now process the pickle files in ../pytest-of-mgorny/pytest-4/test_moderator_delete_comments0/websupport/data.
-------------------------------------------------------- Captured stderr call ---------------------------------------------------------
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/contents.txt:10: WARNING: toctree contains reference to nonexisting document 'autodoc' [toc.not_readable]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/contents.txt:10: WARNING: duplicated entry found in toctree: extensions
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:7: ERROR: Unknown interpreted text role "issue". [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:7: ERROR: Unknown interpreted text role "pyurl". [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:7: ERROR: Unknown interpreted text role "issue". [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:14: ERROR: Unknown directive type "todo".

.. todo::

   Test the todo extension. [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:18: ERROR: Unknown directive type "todo".

.. todo::

   Test with |sub| (see #286). [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:28: ERROR: Unknown directive type "todolist".

.. todolist:: [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/images.txt:8: WARNING: image file not readable: foo.png [image.not_readable]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/includes.txt:4: WARNING: download file not readable: /tmp/sphinxcontrib-websupport/tests/roots/test-root/root/nonexisting.png [download.not_readable]
WARNING: 'keyword' is deprecated for index entries (from entry 'keyword: with'). Use 'pair: keyword; with' instead. [index]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/objects.txt:110: WARNING: Error in declarator
If declarator-id with parameters (e.g., 'void f(int arg)'):
  Invalid C declaration: Expected identifier in nested name. [error at 18]
    Sphinx_DoSomething()
    ------------------^
If parenthesis in noptr-declarator (e.g., 'void (*f(int arg))(double)'):
  Error in declarator or parameters
  Invalid C declaration: Expected identifier in nested name. [error at 19]
    Sphinx_DoSomething()
    -------------------^

/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/objects.txt:112: WARNING: Error in declarator or parameters
Invalid C declaration: Expected identifier in nested name. [error at 19]
  SphinxStruct.member
  -------------------^
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/objects.txt:118: WARNING: Error in declarator or parameters
Invalid C declaration: Expected identifier in nested name. [error at 13]
  sphinx_global
  -------------^
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/contents.txt:10: WARNING: extensions is already assigned section numbers (nested numbered toctree?) [toc.secnum]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/objects.txt:143: WARNING: Unparseable C cross-reference: 'SphinxType *'
Invalid C declaration: Expected end of definition. [error at 11]
  SphinxType *
  -----------^
________________________________________________________ test_update_username _________________________________________________________

support = <sphinxcontrib.websupport.core.WebSupport object at 0x7f70c15f3440>

    @skip_if_sqlalchemy_missing
    @with_support()
    def test_update_username(support):
>       test_comments(support)

tests/test_websupport.py:211: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/test_websupport.py:94: in test_comments
    comment = support.add_comment('First test comment',
sphinxcontrib/websupport/core.py:333: in add_comment
    comment = self.storage.add_comment(parsed, displayed, username,
sphinxcontrib/websupport/storage/sqlalchemystorage.py:82: in add_comment
    d = comment.serializable()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <sphinxcontrib.websupport.storage.sqlalchemy_db.Comment object at 0x7f70c18c8bc0>, vote = 0

    def serializable(self, vote=0):
        """Creates a serializable representation of the comment. This is
        converted to JSON, and used on the client side.
        """
>       delta = datetime.now(tz=timezone.utc) - self.time
E       TypeError: can't subtract offset-naive and offset-aware datetimes

sphinxcontrib/websupport/storage/sqlalchemy_db.py:162: TypeError
-------------------------------------------------------- Captured stdout call ---------------------------------------------------------
Running Sphinx v8.0.2
loading translations [en]... done
Converting `source_suffix = ['.txt', '.add', '.foo']` to `source_suffix = {'.txt': 'restructuredtext', '.add': 'restructuredtext', '.foo': 'restructuredtext'}`.
building [mo]: targets for 0 po files that are out of date
writing output... 
building [websupport]: targets for 14 source files that are out of date
updating environment: [new config] 14 added, 0 changed, 0 removed
reading sources... [  7%] bom
reading sources... [ 14%] contents
reading sources... [ 21%] extapi
reading sources... [ 29%] extensions
reading sources... [ 36%] footnote
reading sources... [ 43%] images
reading sources... [ 50%] includes
reading sources... [ 57%] lists
reading sources... [ 64%] markup
reading sources... [ 71%] math
reading sources... [ 79%] metadata
reading sources... [ 86%] objects
reading sources... [ 93%] subdir/images
reading sources... [100%] subdir/includes

looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
copying assets... 
copying downloadable files... [ 50%] ../../../img.png
copying downloadable files... [100%] ../../../subdir/img.png

copying static files... done
copying extra files... done
copying assets: done
writing output... [  7%] bom
writing output... [ 14%] contents
writing output... [ 21%] extapi
writing output... [ 29%] extensions
writing output... [ 36%] footnote
writing output... [ 43%] images
writing output... [ 50%] includes
writing output... [ 57%] lists
writing output... [ 64%] markup
writing output... [ 71%] math
writing output... [ 79%] metadata
writing output... [ 86%] objects
writing output... [ 93%] subdir/images
writing output... [100%] subdir/includes

generating indices... genindex py-modindex done
writing additional pages... search done
copying images... [ 14%] img.png
copying images... [ 29%] subdir/img.png
copying images... [ 43%] subdir/simg.png
copying images... [ 57%] svgimg.svg
copying images... [ 71%] img.foo.png
copying images... [ 86%] ../root/img.png
copying images... [100%] rimg.png

dumping object inventory... done
build succeeded, 16 warnings.

You can now process the pickle files in ../pytest-of-mgorny/pytest-4/test_update_username0/websupport/data.
-------------------------------------------------------- Captured stderr call ---------------------------------------------------------
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/contents.txt:10: WARNING: toctree contains reference to nonexisting document 'autodoc' [toc.not_readable]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/contents.txt:10: WARNING: duplicated entry found in toctree: extensions
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:7: ERROR: Unknown interpreted text role "issue". [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:7: ERROR: Unknown interpreted text role "pyurl". [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:7: ERROR: Unknown interpreted text role "issue". [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:14: ERROR: Unknown directive type "todo".

.. todo::

   Test the todo extension. [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:18: ERROR: Unknown directive type "todo".

.. todo::

   Test with |sub| (see #286). [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:28: ERROR: Unknown directive type "todolist".

.. todolist:: [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/images.txt:8: WARNING: image file not readable: foo.png [image.not_readable]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/includes.txt:4: WARNING: download file not readable: /tmp/sphinxcontrib-websupport/tests/roots/test-root/root/nonexisting.png [download.not_readable]
WARNING: 'keyword' is deprecated for index entries (from entry 'keyword: with'). Use 'pair: keyword; with' instead. [index]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/objects.txt:110: WARNING: Error in declarator
If declarator-id with parameters (e.g., 'void f(int arg)'):
  Invalid C declaration: Expected identifier in nested name. [error at 18]
    Sphinx_DoSomething()
    ------------------^
If parenthesis in noptr-declarator (e.g., 'void (*f(int arg))(double)'):
  Error in declarator or parameters
  Invalid C declaration: Expected identifier in nested name. [error at 19]
    Sphinx_DoSomething()
    -------------------^

/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/objects.txt:112: WARNING: Error in declarator or parameters
Invalid C declaration: Expected identifier in nested name. [error at 19]
  SphinxStruct.member
  -------------------^
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/objects.txt:118: WARNING: Error in declarator or parameters
Invalid C declaration: Expected identifier in nested name. [error at 13]
  sphinx_global
  -------------^
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/contents.txt:10: WARNING: extensions is already assigned section numbers (nested numbered toctree?) [toc.secnum]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/objects.txt:143: WARNING: Unparseable C cross-reference: 'SphinxType *'
Invalid C declaration: Expected end of definition. [error at 11]
  SphinxType *
  -----------^
___________________________________________________________ test_proposals ____________________________________________________________

support = <sphinxcontrib.websupport.core.WebSupport object at 0x7f70c1406030>

    @skip_if_sqlalchemy_missing
    @with_support()
    def test_proposals(support):
        support.build()
        session = Session()
        node = session.query(Node).first()
    
        data = support.get_data(node.id)
    
        source = data['source']
        proposal = source[:5] + source[10:15] + 'asdf' + source[15:]
    
>       support.add_comment('Proposal comment',
                            node_id=node.id,
                            proposal=proposal)

tests/test_websupport.py:240: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
sphinxcontrib/websupport/core.py:333: in add_comment
    comment = self.storage.add_comment(parsed, displayed, username,
sphinxcontrib/websupport/storage/sqlalchemystorage.py:82: in add_comment
    d = comment.serializable()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <sphinxcontrib.websupport.storage.sqlalchemy_db.Comment object at 0x7f70c2236330>, vote = 0

    def serializable(self, vote=0):
        """Creates a serializable representation of the comment. This is
        converted to JSON, and used on the client side.
        """
>       delta = datetime.now(tz=timezone.utc) - self.time
E       TypeError: can't subtract offset-naive and offset-aware datetimes

sphinxcontrib/websupport/storage/sqlalchemy_db.py:162: TypeError
-------------------------------------------------------- Captured stdout call ---------------------------------------------------------
Running Sphinx v8.0.2
loading translations [en]... done
Converting `source_suffix = ['.txt', '.add', '.foo']` to `source_suffix = {'.txt': 'restructuredtext', '.add': 'restructuredtext', '.foo': 'restructuredtext'}`.
building [mo]: targets for 0 po files that are out of date
writing output... 
building [websupport]: targets for 14 source files that are out of date
updating environment: [new config] 14 added, 0 changed, 0 removed
reading sources... [  7%] bom
reading sources... [ 14%] contents
reading sources... [ 21%] extapi
reading sources... [ 29%] extensions
reading sources... [ 36%] footnote
reading sources... [ 43%] images
reading sources... [ 50%] includes
reading sources... [ 57%] lists
reading sources... [ 64%] markup
reading sources... [ 71%] math
reading sources... [ 79%] metadata
reading sources... [ 86%] objects
reading sources... [ 93%] subdir/images
reading sources... [100%] subdir/includes

looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
copying assets... 
copying downloadable files... [ 50%] ../../../img.png
copying downloadable files... [100%] ../../../subdir/img.png

copying static files... done
copying extra files... done
copying assets: done
writing output... [  7%] bom
writing output... [ 14%] contents
writing output... [ 21%] extapi
writing output... [ 29%] extensions
writing output... [ 36%] footnote
writing output... [ 43%] images
writing output... [ 50%] includes
writing output... [ 57%] lists
writing output... [ 64%] markup
writing output... [ 71%] math
writing output... [ 79%] metadata
writing output... [ 86%] objects
writing output... [ 93%] subdir/images
writing output... [100%] subdir/includes

generating indices... genindex py-modindex done
writing additional pages... search done
copying images... [ 14%] img.png
copying images... [ 29%] subdir/img.png
copying images... [ 43%] subdir/simg.png
copying images... [ 57%] svgimg.svg
copying images... [ 71%] img.foo.png
copying images... [ 86%] ../root/img.png
copying images... [100%] rimg.png

dumping object inventory... done
build succeeded, 16 warnings.

You can now process the pickle files in ../pytest-of-mgorny/pytest-4/test_proposals0/websupport/data.
-------------------------------------------------------- Captured stderr call ---------------------------------------------------------
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/contents.txt:10: WARNING: toctree contains reference to nonexisting document 'autodoc' [toc.not_readable]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/contents.txt:10: WARNING: duplicated entry found in toctree: extensions
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:7: ERROR: Unknown interpreted text role "issue". [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:7: ERROR: Unknown interpreted text role "pyurl". [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:7: ERROR: Unknown interpreted text role "issue". [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:14: ERROR: Unknown directive type "todo".

.. todo::

   Test the todo extension. [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:18: ERROR: Unknown directive type "todo".

.. todo::

   Test with |sub| (see #286). [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:28: ERROR: Unknown directive type "todolist".

.. todolist:: [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/images.txt:8: WARNING: image file not readable: foo.png [image.not_readable]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/includes.txt:4: WARNING: download file not readable: /tmp/sphinxcontrib-websupport/tests/roots/test-root/root/nonexisting.png [download.not_readable]
WARNING: 'keyword' is deprecated for index entries (from entry 'keyword: with'). Use 'pair: keyword; with' instead. [index]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/objects.txt:110: WARNING: Error in declarator
If declarator-id with parameters (e.g., 'void f(int arg)'):
  Invalid C declaration: Expected identifier in nested name. [error at 18]
    Sphinx_DoSomething()
    ------------------^
If parenthesis in noptr-declarator (e.g., 'void (*f(int arg))(double)'):
  Error in declarator or parameters
  Invalid C declaration: Expected identifier in nested name. [error at 19]
    Sphinx_DoSomething()
    -------------------^

/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/objects.txt:112: WARNING: Error in declarator or parameters
Invalid C declaration: Expected identifier in nested name. [error at 19]
  SphinxStruct.member
  -------------------^
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/objects.txt:118: WARNING: Error in declarator or parameters
Invalid C declaration: Expected identifier in nested name. [error at 13]
  sphinx_global
  -------------^
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/contents.txt:10: WARNING: extensions is already assigned section numbers (nested numbered toctree?) [toc.secnum]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/objects.txt:143: WARNING: Unparseable C cross-reference: 'SphinxType *'
Invalid C declaration: Expected end of definition. [error at 11]
  SphinxType *
  -----------^
_____________________________________________________________ test_voting _____________________________________________________________

support = <sphinxcontrib.websupport.core.WebSupport object at 0x7f70c20200e0>

    @skip_if_sqlalchemy_missing
    @with_support()
    def test_voting(support):
>       test_comments(support)

tests/test_websupport.py:248: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/test_websupport.py:94: in test_comments
    comment = support.add_comment('First test comment',
sphinxcontrib/websupport/core.py:333: in add_comment
    comment = self.storage.add_comment(parsed, displayed, username,
sphinxcontrib/websupport/storage/sqlalchemystorage.py:82: in add_comment
    d = comment.serializable()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <sphinxcontrib.websupport.storage.sqlalchemy_db.Comment object at 0x7f70c2466ba0>, vote = 0

    def serializable(self, vote=0):
        """Creates a serializable representation of the comment. This is
        converted to JSON, and used on the client side.
        """
>       delta = datetime.now(tz=timezone.utc) - self.time
E       TypeError: can't subtract offset-naive and offset-aware datetimes

sphinxcontrib/websupport/storage/sqlalchemy_db.py:162: TypeError
-------------------------------------------------------- Captured stdout call ---------------------------------------------------------
Running Sphinx v8.0.2
loading translations [en]... done
Converting `source_suffix = ['.txt', '.add', '.foo']` to `source_suffix = {'.txt': 'restructuredtext', '.add': 'restructuredtext', '.foo': 'restructuredtext'}`.
building [mo]: targets for 0 po files that are out of date
writing output... 
building [websupport]: targets for 14 source files that are out of date
updating environment: [new config] 14 added, 0 changed, 0 removed
reading sources... [  7%] bom
reading sources... [ 14%] contents
reading sources... [ 21%] extapi
reading sources... [ 29%] extensions
reading sources... [ 36%] footnote
reading sources... [ 43%] images
reading sources... [ 50%] includes
reading sources... [ 57%] lists
reading sources... [ 64%] markup
reading sources... [ 71%] math
reading sources... [ 79%] metadata
reading sources... [ 86%] objects
reading sources... [ 93%] subdir/images
reading sources... [100%] subdir/includes

looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
copying assets... 
copying downloadable files... [ 50%] ../../../img.png
copying downloadable files... [100%] ../../../subdir/img.png

copying static files... done
copying extra files... done
copying assets: done
writing output... [  7%] bom
writing output... [ 14%] contents
writing output... [ 21%] extapi
writing output... [ 29%] extensions
writing output... [ 36%] footnote
writing output... [ 43%] images
writing output... [ 50%] includes
writing output... [ 57%] lists
writing output... [ 64%] markup
writing output... [ 71%] math
writing output... [ 79%] metadata
writing output... [ 86%] objects
writing output... [ 93%] subdir/images
writing output... [100%] subdir/includes

generating indices... genindex py-modindex done
writing additional pages... search done
copying images... [ 14%] img.png
copying images... [ 29%] subdir/img.png
copying images... [ 43%] subdir/simg.png
copying images... [ 57%] svgimg.svg
copying images... [ 71%] img.foo.png
copying images... [ 86%] ../root/img.png
copying images... [100%] rimg.png

dumping object inventory... done
build succeeded, 16 warnings.

You can now process the pickle files in ../pytest-of-mgorny/pytest-4/test_voting0/websupport/data.
-------------------------------------------------------- Captured stderr call ---------------------------------------------------------
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/contents.txt:10: WARNING: toctree contains reference to nonexisting document 'autodoc' [toc.not_readable]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/contents.txt:10: WARNING: duplicated entry found in toctree: extensions
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:7: ERROR: Unknown interpreted text role "issue". [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:7: ERROR: Unknown interpreted text role "pyurl". [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:7: ERROR: Unknown interpreted text role "issue". [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:14: ERROR: Unknown directive type "todo".

.. todo::

   Test the todo extension. [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:18: ERROR: Unknown directive type "todo".

.. todo::

   Test with |sub| (see #286). [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/extensions.txt:28: ERROR: Unknown directive type "todolist".

.. todolist:: [docutils]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/images.txt:8: WARNING: image file not readable: foo.png [image.not_readable]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/includes.txt:4: WARNING: download file not readable: /tmp/sphinxcontrib-websupport/tests/roots/test-root/root/nonexisting.png [download.not_readable]
WARNING: 'keyword' is deprecated for index entries (from entry 'keyword: with'). Use 'pair: keyword; with' instead. [index]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/objects.txt:110: WARNING: Error in declarator
If declarator-id with parameters (e.g., 'void f(int arg)'):
  Invalid C declaration: Expected identifier in nested name. [error at 18]
    Sphinx_DoSomething()
    ------------------^
If parenthesis in noptr-declarator (e.g., 'void (*f(int arg))(double)'):
  Error in declarator or parameters
  Invalid C declaration: Expected identifier in nested name. [error at 19]
    Sphinx_DoSomething()
    -------------------^

/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/objects.txt:112: WARNING: Error in declarator or parameters
Invalid C declaration: Expected identifier in nested name. [error at 19]
  SphinxStruct.member
  -------------------^
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/objects.txt:118: WARNING: Error in declarator or parameters
Invalid C declaration: Expected identifier in nested name. [error at 13]
  sphinx_global
  -------------^
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/contents.txt:10: WARNING: extensions is already assigned section numbers (nested numbered toctree?) [toc.secnum]
/tmp/sphinxcontrib-websupport/tests/roots/test-root/root/objects.txt:143: WARNING: Unparseable C cross-reference: 'SphinxType *'
Invalid C declaration: Expected end of definition. [error at 11]
  SphinxType *
  -----------^
======================================================= short test summary info =======================================================
FAILED tests/test_websupport.py::test_comments - TypeError: can't subtract offset-naive and offset-aware datetimes
FAILED tests/test_websupport.py::test_user_delete_comments - TypeError: can't subtract offset-naive and offset-aware datetimes
FAILED tests/test_websupport.py::test_moderation - TypeError: can't subtract offset-naive and offset-aware datetimes
FAILED tests/test_websupport.py::test_moderator_delete_comments - TypeError: can't subtract offset-naive and offset-aware datetimes
FAILED tests/test_websupport.py::test_update_username - TypeError: can't subtract offset-naive and offset-aware datetimes
FAILED tests/test_websupport.py::test_proposals - TypeError: can't subtract offset-naive and offset-aware datetimes
FAILED tests/test_websupport.py::test_voting - TypeError: can't subtract offset-naive and offset-aware datetimes
=============================================== 7 failed, 5 passed, 1 skipped in 8.54s ================================================
py312: exit 1 (8.98 seconds) /tmp/sphinxcontrib-websupport> .tox/py312/bin/python -m pytest tests/ pid=13821
.pkg: _exit> python /usr/lib/python3.12/site-packages/pyproject_api/_backend.py True flit_core.buildapi
  py312: FAIL code 1 (17.56=setup[8.58]+cmd[8.98] seconds)
  evaluation failed :( (17.75 seconds)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions