Skip to content

No tests detected when testing mutants #419

@CyberiaResurrection

Description

@CyberiaResurrection

Mutmut version: 3.3.1
Python version: 3.9.21
OS: Fedora Linux 41

As it says on the tin - now I'm getting no tests picked up for testing candidate mutants. I get the same issue on mutmut 3.3.0.

Minimal(-ish) reproducing example: https://github.com/CyberiaResurrection/traveller_pyroute_mini/tree/64d5202df234598c6fd54d779ffe9c92c296a38a

pytest.ini:

[pytest]
python_files = test*
python_classes = test*
pythonpath =
    ./

testpaths =
    Tests/SystemData/**.py

pyproject.toml:

[tool.coverage.run]
source = ["PyRoute/"]


[tool.mutmut]
paths_to_mutate = ["PyRoute/"]
tests_dir = ["Tests/"]
also_copy = ["Tests/", "pytest.ini"]
runner = "pytest -x"
max_stack_depth = 4
debug = true

Mutation run, after deleting mutants/ folder + subfolders:

...
⠹ Running clean testspython -m pytest  -vv -x -q Tests/ --rootdir=.
========================================================================================================= test session starts =========================================================================================================
platform linux -- Python 3.9.21, pytest-8.4.1, pluggy-1.6.0 -- /home/alex/gitstuf/traveller_pyroute_mini/venv/bin/python
cachedir: .pytest_cache
Using --randomly-seed=4145466732
rootdir: /home/alex/gitstuf/traveller_pyroute_mini/mutants
configfile: pytest.ini
plugins: console-scripts-1.4.1, randomly-3.16.0, subtests-0.14.2
collected 55 items                                                                                                                                                                                                                    

Tests/SystemData/testStarList.py::testStarList::test_black_hole_no_space PASSED                                                                                                                                                 [  1%]
Tests/SystemData/testStarList.py::testStarList::test_neutron_star_no_space PASSED                                                                                                                                               [  3%]
Tests/SystemData/testStarList.py::testStarList::test_9_stars_none_trim PASSED                                                                                                                                                   [  5%]
Tests/SystemData/testStarList.py::testStarList::test_check_star_size_against_primary PASSED                                                                                                                                     [  7%]
Tests/SystemData/testStarList.py::testStarList::test_no_star_no_space PASSED                                                                                                                                                    [  9%]
Tests/SystemData/testStarList.py::testStarList::test_dwarf_star_no_space PASSED                                                                                                                                                 [ 10%]
Tests/SystemData/testStarList.py::testStarList::test_canonicalise_1 PASSED                                                                                                                                                      [ 12%]
Tests/SystemData/testStarList.py::testStarList::test_pulsar_no_space PASSED                                                                                                                                                     [ 14%]
Tests/SystemData/testStarList.py::testStarList::test_9_stars_no_trim PASSED                                                                                                                                                     [ 16%]
Tests/SystemData/testStarList.py::testStarList::test_brown_dwarf_no_space PASSED                                                                                                                                                [ 18%]
Tests/SystemData/testStarList.py::testStarList::test_9_stars_trim PASSED                                                                                                                                                        [ 20%]
Tests/SystemData/testStarList.py::testStarList::test_1_star_no_space PASSED                                                                                                                                                     [ 21%]
Tests/SystemData/testSystemStar.py::testSystemStar::test_is_bigger PASSED                                                                                                                                                       [ 23%]
Tests/SystemData/testUWP.py::testUWP::test_check_canonical_14 PASSED                                                                                                                                                            [ 25%]
Tests/SystemData/testUWP.py::testUWP::test_canonicalisation_7 PASSED                                                                                                                                                            [ 27%]
Tests/SystemData/testUWP.py::testUWP::test_all_question_marks PASSED                                                                                                                                                            [ 29%]
Tests/SystemData/testUWP.py::testUWP::test_is_well_formed_1 PASSED                                                                                                                                                              [ 30%]
Tests/SystemData/testUWP.py::testUWP::test_all_lowercase PASSED                                                                                                                                                                 [ 32%]
Tests/SystemData/testUWP.py::testUWP::test_is_well_formed_2 PASSED                                                                                                                                                              [ 34%]
Tests/SystemData/testUWP.py::testUWP::test_check_canonical_12 PASSED                                                                                                                                                            [ 36%]
Tests/SystemData/testUWP.py::testUWP::test_check_canonical_11 PASSED                                                                                                                                                            [ 38%]
Tests/SystemData/testUWP.py::testUWP::test_check_canonical_3 PASSED                                                                                                                                                             [ 40%]
Tests/SystemData/testUWP.py::testUWP::test_check_canonical_13 PASSED                                                                                                                                                            [ 41%]
Tests/SystemData/testUWP.py::testUWP::test_canonicalisation_11 PASSED                                                                                                                                                           [ 43%]
Tests/SystemData/testUWP.py::testUWP::test_canonicalisation_12 PASSED                                                                                                                                                           [ 45%]
Tests/SystemData/testUWP.py::testUWP::test_check_canonical_16 PASSED                                                                                                                                                            [ 47%]
Tests/SystemData/testUWP.py::testUWP::test_check_canonical_20 PASSED                                                                                                                                                            [ 49%]
Tests/SystemData/testUWP.py::testUWP::test_canonicalisation_4 PASSED                                                                                                                                                            [ 50%]
Tests/SystemData/testUWP.py::testUWP::test_check_canonical_5 PASSED                                                                                                                                                             [ 52%]
Tests/SystemData/testUWP.py::testUWP::test_check_canonical_6a PASSED                                                                                                                                                            [ 54%]
Tests/SystemData/testUWP.py::testUWP::test_check_canonical_8 PASSED                                                                                                                                                             [ 56%]
Tests/SystemData/testUWP.py::testUWP::test_canonicalisation_8 PASSED                                                                                                                                                            [ 58%]
Tests/SystemData/testUWP.py::testUWP::test_canonicalisation_3 PASSED                                                                                                                                                            [ 60%]
Tests/SystemData/testUWP.py::testUWP::test_check_canonical_10 PASSED                                                                                                                                                            [ 61%]
Tests/SystemData/testUWP.py::testUWP::test_canonicalisation_6 PASSED                                                                                                                                                            [ 63%]
Tests/SystemData/testUWP.py::testUWP::test_canonicalisation_9 PASSED                                                                                                                                                            [ 65%]
Tests/SystemData/testUWP.py::testUWP::test_canonicalisation_1 PASSED                                                                                                                                                            [ 67%]
Tests/SystemData/testUWP.py::testUWP::test_check_canonical_7 PASSED                                                                                                                                                             [ 69%]
Tests/SystemData/testUWP.py::testUWP::test_canonicalisation_5 PASSED                                                                                                                                                            [ 70%]
Tests/SystemData/testUWP.py::testUWP::test_check_canonical_9 PASSED                                                                                                                                                             [ 72%]
Tests/SystemData/testUWP.py::testUWP::test_check_canonical_4 PASSED                                                                                                                                                             [ 74%]
Tests/SystemData/testUWP.py::testUWP::test_check_canonical_18 PASSED                                                                                                                                                            [ 76%]
Tests/SystemData/testUWP.py::testUWP::test_malformed_uwp_on_tax_rate PASSED                                                                                                                                                     [ 78%]
Tests/SystemData/testUWP.py::testUWP::test_canonicalisation_10 PASSED                                                                                                                                                           [ 80%]
Tests/SystemData/testUWP.py::testUWP::test_malformed_uwp PASSED                                                                                                                                                                 [ 81%]
Tests/SystemData/testUWP.py::testUWP::test_check_canonical_1 PASSED                                                                                                                                                             [ 83%]
Tests/SystemData/testUWP.py::testUWP::test_check_canonical_21 PASSED                                                                                                                                                            [ 85%]
Tests/SystemData/testUWP.py::testUWP::test_check_canonical_15 PASSED                                                                                                                                                            [ 87%]
Tests/SystemData/testUWP.py::testUWP::test_check_canonical_6 PASSED                                                                                                                                                             [ 89%]
Tests/SystemData/testUWP.py::testUWP::test_canonicalisation_14 PASSED                                                                                                                                                           [ 90%]
Tests/SystemData/testUWP.py::testUWP::test_canonicalisation_2 PASSED                                                                                                                                                            [ 92%]
Tests/SystemData/testUWP.py::testUWP::test_check_canonical_2 PASSED                                                                                                                                                             [ 94%]
Tests/SystemData/testUWP.py::testUWP::test_check_canonical_19 PASSED                                                                                                                                                            [ 96%]
Tests/SystemData/testUWP.py::testUWP::test_check_canonical_17 PASSED                                                                                                                                                            [ 98%]
Tests/SystemData/testUWP.py::testUWP::test_canonicalisation_13 PASSED                                                                                                                                                           [100%]

========================================================================================================= 55 passed in 0.04s ==========================================================================================================
    exit code 0

    done

⠸ Running forced fail testpython -m pytest  -vv -x -q Tests/ --rootdir=.
========================================================================================================= test session starts =========================================================================================================
platform linux -- Python 3.9.21, pytest-8.4.1, pluggy-1.6.0 -- /home/alex/gitstuf/traveller_pyroute_mini/venv/bin/python
cachedir: .pytest_cache
Using --randomly-seed=4145466732
rootdir: /home/alex/gitstuf/traveller_pyroute_mini/mutants
configfile: pytest.ini
plugins: console-scripts-1.4.1, randomly-3.16.0, subtests-0.14.2
collected 55 items                                                                                                                                                                                                                    

Tests/SystemData/testStarList.py::testStarList::test_black_hole_no_space FAILED                                                                                                                                                 [  1%]

============================================================================================================== FAILURES ===============================================================================================================
________________________________________________________________________________________________ testStarList.test_black_hole_no_space ________________________________________________________________________________________________

self = <testStarList.testStarList testMethod=test_black_hole_no_space>

    def test_black_hole_no_space(self):
        star_line = "BH"
>       starlist = StarList(star_line)

Tests/SystemData/testStarList.py:85: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
PyRoute/SystemData/StarList.py:4794: in __init__
    result = _mutmut_trampoline(object.__getattribute__(self, "xǁStarListǁ__init____mutmut_orig"), object.__getattribute__(self, "xǁStarListǁ__init____mutmut_mutants"), args, kwargs, self)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _



orig = <bound method StarList.xǁStarListǁ__init____mutmut_orig of <PyRoute.SystemData.StarList.StarList object at 0x7fb7b763a760>>
mutants = {'xǁStarListǁ__init____mutmut_1': <function StarList.xǁStarListǁ__init____mutmut_1 at 0x7fb7d02c4d30>, 'xǁStarListǁ__i...2d95e0>, 'xǁStarListǁ__init____mutmut_101': <function StarList.xǁStarListǁ__init____mutmut_101 at 0x7fb7d02d9670>, ...}
call_args = ('BH',), call_kwargs = {}, self_arg = <PyRoute.SystemData.StarList.StarList object at 0x7fb7b763a760>

    def _mutmut_trampoline(orig, mutants, call_args, call_kwargs, self_arg = None):
        """Forward call to original or mutated function, depending on the environment"""
        import os
        mutant_under_test = os.environ['MUTANT_UNDER_TEST']
        if mutant_under_test == 'fail':
            from mutmut.__main__ import MutmutProgrammaticFailException
>           raise MutmutProgrammaticFailException('Failed programmatically')
E           mutmut.__main__.MutmutProgrammaticFailException: Failed programmatically

PyRoute/SystemData/StarList.py:20: MutmutProgrammaticFailException
======================================================================================================= short test summary info =======================================================================================================
FAILED Tests/SystemData/testStarList.py::testStarList::test_black_hole_no_space - mutmut.__main__.MutmutProgrammaticFailException: Failed programmatically
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
========================================================================================================== 1 failed in 0.44s ==========================================================================================================
    exit code 1

    done
Running mutation testing
⠴ 1131/1131  🎉 0 🫥 1131  ⏰ 0  🤔 0  🙁 0  🔇 0
0.00 mutations/second

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions