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

Unicode error in caplog.text #30

Closed
sirex opened this issue Jan 4, 2016 · 0 comments
Closed

Unicode error in caplog.text #30

sirex opened this issue Jan 4, 2016 · 0 comments

Comments

@sirex
Copy link
Contributor

sirex commented Jan 4, 2016

caplog.text became a CallableStr(CallablePropertyMixin, str) property, witch always receive result from py.io.TextIO.getvalue, witch always returns unicode.

In other words, when you call caplog.text you get something like this: str(unicode('')).

If logs have non-ascii characters it ends up like this:

  File "pytest_catchlog.py", line 250, in getter
    ret = cls(naked_value)
UnicodeEncodeError: 'ascii' codec can't encode character u'\u017d' in position 44726: ordinal not in range(128)
sirex added a commit to sirex/pytest-catchlog that referenced this issue Jan 4, 2016
@sirex sirex mentioned this issue Jan 4, 2016
sirex added a commit to sirex/pytest-catchlog that referenced this issue Jan 4, 2016
sirex added a commit to sirex/pytest-catchlog that referenced this issue Jan 4, 2016
sirex added a commit to sirex/pytest-catchlog that referenced this issue Jan 5, 2016
bors bot added a commit to aragilar/venv_tools that referenced this issue Aug 13, 2021
7: Pin pytest-catchlog to latest version 1.2.2 r=aragilar a=pyup-bot


This PR pins [pytest-catchlog](https://pypi.org/project/pytest-catchlog) to the latest release **1.2.2**.



<details>
  <summary>Changelog</summary>
  
  
   ### 1.2.2
   ```
   -------------

Released on 2016-01-24 UTC.

- [Bugfix] `30`_ `31`_ - Fix ``unicode`` vs ``str`` compatibility issues between Python2 and Python3.
  (Thanks goes to `sirex`_ for reporting the issue and providing a fix!)

.. _30: eisensheng/pytest-catchlog#30
.. _31: eisensheng/pytest-catchlog#31
.. _sirex: https://github.com/sirex
   ```
   
  
  
   ### 1.2.1
   ```
   -------------

Released on 2015-12-07.

- [Bugfix] 18 - Allow ``caplog.records()`` to be modified.  Thanks to Eldar Abusalimov for the PR and Marco Nenciarini for reporting the issue.
- [Bugfix] 15 17 - Restore Python 2.6 compatibility. (Thanks to Marco Nenciarini!)

.. attention::
    Deprecation warning: the following objects (i.e. functions, properties)
    are slated for removal in the next major release.

    - ``caplog.at_level`` and ``caplog.set_level`` should be used instead of
      ``caplog.atLevel`` and ``caplog.setLevel``.

      The methods ``caplog.atLevel`` and ``caplog.setLevel`` are still
      available but deprecated and not supported since they don&#39;t follow
      the PEP8 convention for method names.

    - ``caplog.text``, ``caplog.records`` and
      ``caplog.record_tuples`` were turned into properties.
      They still can be used as regular methods for backward compatibility,
      but that syntax is considered deprecated and scheduled for removal in
      the next major release.
   ```
   
  
  
   ### 1.2
   ```
   -----------

Released on 2015-11-08.

- [Feature] 6 - Configure logging message and date format through ini file.
- [Feature] 7 - Also catch logs from setup and teardown stages.
- [Feature] 7 - Replace deprecated ``__multicall__`` use to support future Py.test releases.
- [Feature] 11 - reintroduce ``setLevel`` and ``atLevel`` to retain backward compatibility with pytest-capturelog.  Also the members ``text``, ``records`` and ``record_tuples`` of the ``caplog`` fixture can be used as properties now.

Special thanks for this release goes to Eldar Abusalimov.  He provided all of the changed features.
   ```
   
  
  
   ### 1.1
   ```
   -----------

Released on 2015-06-07.

- 2 - Explicitly state Python3 support and add configuration for running
  tests with tox on multiple Python versions. (Thanks to Jeremy Bowman!)
- Add an option to silence logs completely on the terminal.
   ```
   
  
  
   ### 1.0
   ```
   -----------

Released on 2014-12-08.

- Add ``record_tuples`` for comparing recorded log entries against expected
  log entries with their logger name, severity and formatted message.
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/pytest-catchlog
  - Changelog: https://pyup.io/changelogs/pytest-catchlog/
  - Repo: https://github.com/eisensheng/pytest-catchlog
</details>



Co-authored-by: pyup-bot <github-bot@pyup.io>
bors bot added a commit to aragilar/venv_tools that referenced this issue Aug 13, 2021
18: Pin pytest-catchlog to latest version 1.2.2 r=aragilar a=pyup-bot


This PR pins [pytest-catchlog](https://pypi.org/project/pytest-catchlog) to the latest release **1.2.2**.



<details>
  <summary>Changelog</summary>
  
  
   ### 1.2.2
   ```
   -------------

Released on 2016-01-24 UTC.

- [Bugfix] `30`_ `31`_ - Fix ``unicode`` vs ``str`` compatibility issues between Python2 and Python3.
  (Thanks goes to `sirex`_ for reporting the issue and providing a fix!)

.. _30: eisensheng/pytest-catchlog#30
.. _31: eisensheng/pytest-catchlog#31
.. _sirex: https://github.com/sirex
   ```
   
  
  
   ### 1.2.1
   ```
   -------------

Released on 2015-12-07.

- [Bugfix] 18 - Allow ``caplog.records()`` to be modified.  Thanks to Eldar Abusalimov for the PR and Marco Nenciarini for reporting the issue.
- [Bugfix] 15 17 - Restore Python 2.6 compatibility. (Thanks to Marco Nenciarini!)

.. attention::
    Deprecation warning: the following objects (i.e. functions, properties)
    are slated for removal in the next major release.

    - ``caplog.at_level`` and ``caplog.set_level`` should be used instead of
      ``caplog.atLevel`` and ``caplog.setLevel``.

      The methods ``caplog.atLevel`` and ``caplog.setLevel`` are still
      available but deprecated and not supported since they don&#39;t follow
      the PEP8 convention for method names.

    - ``caplog.text``, ``caplog.records`` and
      ``caplog.record_tuples`` were turned into properties.
      They still can be used as regular methods for backward compatibility,
      but that syntax is considered deprecated and scheduled for removal in
      the next major release.
   ```
   
  
  
   ### 1.2
   ```
   -----------

Released on 2015-11-08.

- [Feature] 6 - Configure logging message and date format through ini file.
- [Feature] 7 - Also catch logs from setup and teardown stages.
- [Feature] 7 - Replace deprecated ``__multicall__`` use to support future Py.test releases.
- [Feature] 11 - reintroduce ``setLevel`` and ``atLevel`` to retain backward compatibility with pytest-capturelog.  Also the members ``text``, ``records`` and ``record_tuples`` of the ``caplog`` fixture can be used as properties now.

Special thanks for this release goes to Eldar Abusalimov.  He provided all of the changed features.
   ```
   
  
  
   ### 1.1
   ```
   -----------

Released on 2015-06-07.

- 2 - Explicitly state Python3 support and add configuration for running
  tests with tox on multiple Python versions. (Thanks to Jeremy Bowman!)
- Add an option to silence logs completely on the terminal.
   ```
   
  
  
   ### 1.0
   ```
   -----------

Released on 2014-12-08.

- Add ``record_tuples`` for comparing recorded log entries against expected
  log entries with their logger name, severity and formatted message.
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/pytest-catchlog
  - Changelog: https://pyup.io/changelogs/pytest-catchlog/
  - Repo: https://github.com/eisensheng/pytest-catchlog
</details>



Co-authored-by: pyup-bot <github-bot@pyup.io>
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

No branches or pull requests

2 participants