Skip to main content

Test code blocks in your READMEs

Project description

meshio

Test code blocks in your READMEs.

PyPi Version Anaconda Cloud PyPI pyversions GitHub stars PyPi downloads

gh-actions codecov LGTM Code style: black

This is pytest-codeblocks, a pytest plugin for testing code blocks from README files. It supports Python and shell code.

Install with

pip install pytest-codeblocks

and run pytest with

pytest --codeblocks
================================= test session starts =================================
platform linux -- Python 3.9.4, pytest-6.2.4, py-1.10.0, pluggy-0.13.1
rootdir: /path/to/directory
plugins: codeblocks-0.11.0
collected 56 items

example.md .......................                                              [ 50%]
README.md .......................                                               [100%]

================================= 56 passed in 0.08s ==================================

pytest-codeblocks will only pick up code blocks with python and sh/bash syntax highlighting.

Skipping code blocks

Prefix your code block with a pytest-codeblocks:skip comment to skip

Lorem ipsum
<!--pytest-codeblocks:skip-->
```python
foo + bar  # not working
```
dolor sit amet.

Merging code blocks

Broken-up code blocks can be merged into one with the pytest-codeblocks:cont prefix

Lorem ipsum
```python
a = 1
```
dolor sit amet
<!--pytest-codeblocks:cont-->
```python
# this would otherwise fail since `a` is not defined
a + 1
```

Expected output

You can also define the expected output of a code block:

This
```sh
print(1 + 3)
```
gives
<!--pytest-codeblocks:expected-output-->
```
4
```

Expected errors

Some code blocks are expected to give errors. You can verify this with

The following gives an error:
<!--pytest-codeblocks:expect-error-->
```python
1 / 0
```

The keyword expect-exception is also possible.

License

This software is published under the MIT license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pytest-codeblocks-0.11.0.tar.gz (7.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pytest_codeblocks-0.11.0-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

File details

Details for the file pytest-codeblocks-0.11.0.tar.gz.

File metadata

  • Download URL: pytest-codeblocks-0.11.0.tar.gz
  • Upload date:
  • Size: 7.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for pytest-codeblocks-0.11.0.tar.gz
Algorithm Hash digest
SHA256 7fcf58144cff2ac9151a898117c4d259b86fb75a1351672d1506b475ef64e2ad
MD5 3077c51496b17a98386763d1387ee8ec
BLAKE2b-256 557f08827ddf1103f8f573cc76edeb7e7c5d7ef364d737c3a01c0bc78ab05239

See more details on using hashes here.

File details

Details for the file pytest_codeblocks-0.11.0-py3-none-any.whl.

File metadata

  • Download URL: pytest_codeblocks-0.11.0-py3-none-any.whl
  • Upload date:
  • Size: 6.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for pytest_codeblocks-0.11.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e5efb05549051218422433939ac5b0fb2205991f51f868aef3a86081a12ca318
MD5 6fba01b2c315d6e8c6eadd14a81cb95c
BLAKE2b-256 c2da5785b25c3a4e5942fa8c046d29209eff424e1d025d85f6df914156ec9d16

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page