FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Add test with pyzbar, to use external library to validate rendered barcodes by rejjen · Pull Request #256 · WhyNotHugo/python-barcode · GitHub

Add test with pyzbar, to use external library to validate rendered barcodes - #256

Open
rejjen wants to merge 3 commits into
WhyNotHugo:mainfrom
rejjen:test_with_pyzbar
Open

Add test with pyzbar, to use external library to validate rendered barcodes#256
rejjen wants to merge 3 commits into
WhyNotHugo:mainfrom
rejjen:test_with_pyzbar

Conversation

rejjen commented Jan 7, 2026

Copy link
Copy Markdown

This is attempt to handle #181.

Requires Pillow and pyzbar to do any testing, but should gracefully skip if not installed
Requires cairosvg to test svg rendered, but also gracefully skip.

They should install with pip install .[test_with_pyzbar]

WhyNotHugo left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

Are the changes to barcode/isxn.py related?

Comment thread tests/test_with_pyzbar.py
Comment on lines +15 to +21
try:
import cairosvg
import cairocffi
cairocffi.Context(cairocffi.ImageSurface(cairocffi.FORMAT_ARGB32, 1, 1))
HAS_CAIROSVG = True
except (ImportError, OSError):
HAS_CAIROSVG = False

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

I'd prefer for tests to outright fail; this skips them silently and it would be easy to miss that they're not running properly.

I have no objection to adding test-only dependencies; users won't be affected by these.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

It should mark tests as skipped I believe and provide reason if library is not loaded correctly.
https://github.com/WhyNotHugo/python-barcode/pull/256/changes#diff-2d1975a58b23083a3f9f1331cb6534c4e8da053b6f66b1c60a1c035ec035d79bR99

Similarly to pytest.importorskip above.

Comment thread pyproject.toml Outdated

[project.optional-dependencies]
images = ["pillow"]
test_with_pyzbar = ["pillow", "cairosvg", "pyzbar"]

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

Let's use dependency groups for these:

[dependency-groups]
test = ["pillow", "cairosvg", "pyzbar"]
``

rejjen commented Mar 8, 2026

Copy link
Copy Markdown
Author

Are the changes to barcode/isxn.py related?

Yes, without changes validation will fail for tests/test_with_pyzbar.py::test_imagewriter - AssertionError: ISSN failed to decode.

There is some overlap with PR #255

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
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 this pull request may close these issues.

2 participants


Back | FazBrowse Home | New Git URL