PyCQA / PyCQA/mccabe

hypothesis-less environment test skip not working

Open
#114 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
681
Forks
65
PR merge metrics
No merged PRs in 30d

Description

Hi,

When hypothesis is not available, the @settings decorators throws an error in the test before the test gets to be skipped, e.g.:

======================================================================
ERROR: test_mccabe (unittest.loader._FailedTest)
----------------------------------------------------------------------
ImportError: Failed to import test module: test_mccabe
Traceback (most recent call last):
  File "/gnu/store/lp8ch4rn10whzyajnzv216d2a2v163c7-python-3.10.7/lib/python3.10/unittest/loader.py", line 436, in _find_test_path
    module = self._get_module_from_name(name)
  File "/gnu/store/lp8ch4rn10whzyajnzv216d2a2v163c7-python-3.10.7/lib/python3.10/unittest/loader.py", line 377, in _get_module_from_name
    __import__(name)
  File "/tmp/guix-build-python-mccabe-0.7.0.drv-0/mccabe-0.7.0/test_mccabe.py", line 244, in <module>
    @settings(
NameError: name 'settings' is not defined

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with test_mccabe.py around line 244, where the @settings decorator is used, and reproduce the test collection failure in an environment without hypothesis. Trace how the hypothesis-dependent names are imported and how the test is intended to be skipped. Done means the suite collects successfully and skips the relevant test when hypothesis is unavailable.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
testing-qa
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.