Skip to main content

Extract code blocks from markdown

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.

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.10.0
collected 56 items

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

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

By default, pytest-codeblocks will only pick up code blocks with python 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
```
a = 1
```
dolor sit amet
<!--pytest-codeblocks:cont-->
```
# 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
```
print(1 + 3)
```
gives
<!--pytest-codeblocks:expected-output-->
```
5
```

Expected errors

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

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

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.10.2.tar.gz (7.7 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.10.2-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pytest-codeblocks-0.10.2.tar.gz
  • Upload date:
  • Size: 7.7 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.10.2.tar.gz
Algorithm Hash digest
SHA256 5f95ab225401a4a55d9992c1dff3c5a7c80042c83738db8069d1a601f9a4c0e9
MD5 7f6d73713d5d633c4e2af656293ea446
BLAKE2b-256 3036955f70bd76bb59baaa19e9a2724f8cc9fd4cd2864a1beba6c06bfd5d4900

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pytest_codeblocks-0.10.2-py3-none-any.whl
  • Upload date:
  • Size: 6.5 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.10.2-py3-none-any.whl
Algorithm Hash digest
SHA256 116fdaaecd5f4f35491ef6ee6f9f9b1924a1a23b80b24ed2139be799f5b9c8da
MD5 82f00efa3d86581bef8581c1867a92ce
BLAKE2b-256 c8efa0a47c0a45adb029acfd34695da71a46a517b15804bec708b6ce3a9cc537

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