Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
mgorny opened this issue Jul 30, 2024 · 2 comments · May be fixed by #78

Comments

@mgorny
Copy link

mgorny commented Jul 30, 2024

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)
@mgorny
Copy link
Author

mgorny commented Aug 10, 2024

Ping.

@mitya57 mitya57 linked a pull request Aug 24, 2024 that will close this issue
@mitya57
Copy link
Contributor

mitya57 commented Aug 24, 2024

I submitted PR #78 to fix this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants