mutmut 3.2.3__tar.gz → 3.3.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. {mutmut-3.2.3 → mutmut-3.3.0}/AUTHORS.rst +6 -0
  2. {mutmut-3.2.3 → mutmut-3.3.0}/HISTORY.rst +34 -0
  3. {mutmut-3.2.3 → mutmut-3.3.0}/PKG-INFO +12 -4
  4. {mutmut-3.2.3 → mutmut-3.3.0}/README.rst +9 -1
  5. {mutmut-3.2.3 → mutmut-3.3.0}/mutmut/.DS_Store +0 -0
  6. mutmut-3.3.0/mutmut/__init__.py +21 -0
  7. {mutmut-3.2.3 → mutmut-3.3.0}/mutmut/__main__.py +127 -457
  8. mutmut-3.3.0/mutmut/__pycache__/__init__.cpython-312.pyc +0 -0
  9. mutmut-3.3.0/mutmut/__pycache__/__main__.cpython-312.pyc +0 -0
  10. mutmut-3.3.0/mutmut/__pycache__/file_mutation.cpython-312.pyc +0 -0
  11. mutmut-3.3.0/mutmut/__pycache__/node_mutation.cpython-312.pyc +0 -0
  12. mutmut-3.3.0/mutmut/__pycache__/trampoline_templates.cpython-312.pyc +0 -0
  13. mutmut-3.3.0/mutmut/file_mutation.py +326 -0
  14. mutmut-3.3.0/mutmut/node_mutation.py +258 -0
  15. mutmut-3.3.0/mutmut/trampoline_templates.py +79 -0
  16. {mutmut-3.2.3 → mutmut-3.3.0}/mutmut.egg-info/PKG-INFO +12 -4
  17. {mutmut-3.2.3 → mutmut-3.3.0}/mutmut.egg-info/SOURCES.txt +13 -1
  18. {mutmut-3.2.3 → mutmut-3.3.0}/mutmut.egg-info/requires.txt +2 -2
  19. {mutmut-3.2.3 → mutmut-3.3.0}/requirements.txt +2 -2
  20. mutmut-3.3.0/tests/e2e/__init__.py +0 -0
  21. mutmut-3.3.0/tests/e2e/test_cli_version.py +9 -0
  22. mutmut-3.3.0/tests/e2e/test_e2e_result_snapshots.py +80 -0
  23. mutmut-3.3.0/tests/test_mutation.py +697 -0
  24. {mutmut-3.2.3 → mutmut-3.3.0}/tests/test_mutmut3.py +18 -24
  25. mutmut-3.2.3/mutmut/__init__.py +0 -317
  26. mutmut-3.2.3/mutmut/__pycache__/__init__.cpython-312.pyc +0 -0
  27. mutmut-3.2.3/mutmut/__pycache__/__main__.cpython-312.pyc +0 -0
  28. mutmut-3.2.3/tests/test_mutation.py +0 -409
  29. {mutmut-3.2.3 → mutmut-3.3.0}/LICENSE +0 -0
  30. {mutmut-3.2.3 → mutmut-3.3.0}/MANIFEST.in +0 -0
  31. {mutmut-3.2.3 → mutmut-3.3.0}/mutmut/__pycache__/__init__.cpython-311.pyc +0 -0
  32. {mutmut-3.2.3 → mutmut-3.3.0}/mutmut/__pycache__/__main__.cpython-311.pyc +0 -0
  33. {mutmut-3.2.3 → mutmut-3.3.0}/mutmut/result_browser_layout.tcss +0 -0
  34. {mutmut-3.2.3 → mutmut-3.3.0}/mutmut.egg-info/dependency_links.txt +0 -0
  35. {mutmut-3.2.3 → mutmut-3.3.0}/mutmut.egg-info/entry_points.txt +0 -0
  36. {mutmut-3.2.3 → mutmut-3.3.0}/mutmut.egg-info/not-zip-safe +0 -0
  37. {mutmut-3.2.3 → mutmut-3.3.0}/mutmut.egg-info/top_level.txt +0 -0
  38. {mutmut-3.2.3 → mutmut-3.3.0}/setup.cfg +0 -0
  39. {mutmut-3.2.3 → mutmut-3.3.0}/setup.py +0 -0
  40. {mutmut-3.2.3 → mutmut-3.3.0}/tests/__init__.py +0 -0
@@ -21,3 +21,9 @@ Credits
21
21
  * Roxane Bellott <roxane.bellot@gmail.com>
22
22
  * Tomáš Chvátal <tchvatal@suse.com>
23
23
  * Frank Hoffmann <15r10nk-git@polarbit.de>
24
+ * Éloi Rivard <eloi@yaal.coop>
25
+ * Isidro Arias <isidroariass@hotmail.es>
26
+ * Will Gibson
27
+ * Dominic Amato <dominic.a.amato@gmail.com>
28
+ * A_A
29
+ * Luzin Boris <borisluzin2004@gmail.com>
@@ -1,6 +1,40 @@
1
1
  Changelog
2
2
  ---------
3
3
 
4
+ 3.3.0
5
+ ~~~~~
6
+
7
+ * Python 3.13 compatibility!
8
+
9
+ * New argument `--show-killed` for `mutmut browse`
10
+
11
+ * Fix to avoid accidentally importing the un-mutated original code
12
+
13
+ * Handle segfault for mutant subprocesses
14
+
15
+ * Added mutations for string literals
16
+
17
+ * Added mutations for common string methods
18
+
19
+ * Faster mutant generation via subprocesses
20
+
21
+ * Fix `self` parameter for mutated class methods
22
+
23
+ * Fix trampoline generation for function calls with 'orig' or 'mutants' as argument names.
24
+
25
+ * Copy full source directory before creating mutants
26
+
27
+ * Improved error message when forced fail test fails
28
+
29
+ * Fixed issue with spaces in the python executable path
30
+
31
+ * Do not mutate `__new__`
32
+
33
+ * Annotate mutant dicts (and fixes compatibility with Pydantic)
34
+
35
+ * Replaced parso with LibCST
36
+
37
+
4
38
  3.2.3
5
39
  ~~~~~
6
40
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mutmut
3
- Version: 3.2.3
3
+ Version: 3.3.0
4
4
  Summary: mutation testing for Python 3
5
5
  Home-page: https://github.com/boxed/mutmut
6
6
  Author: Anders Hovmöller
@@ -15,12 +15,12 @@ Classifier: Programming Language :: Python :: 3
15
15
  Classifier: Programming Language :: Python :: 3.7
16
16
  License-File: LICENSE
17
17
  License-File: AUTHORS.rst
18
- Requires-Dist: parso
18
+ Requires-Dist: libcst~=1.7.0
19
19
  Requires-Dist: click
20
- Requires-Dist: junit-xml==1.8
21
20
  Requires-Dist: setproctitle
22
21
  Requires-Dist: textual
23
22
  Requires-Dist: toml>=0.10.2; python_version < "3.11"
23
+ Requires-Dist: pytest
24
24
 
25
25
  mutmut - python mutation tester
26
26
  ===============================
@@ -99,6 +99,14 @@ In `setup.cfg` in the root of your project you can configure mutmut if you need
99
99
  paths_to_mutate=src/
100
100
  tests_dir=tests/
101
101
 
102
+ If you use `pyproject.toml`, you must specify the paths as array in a `tool.mutmut` section:
103
+
104
+ .. code-block:: toml
105
+
106
+ [tool.mutmut]
107
+ paths_to_mutate = [ "src/" ]
108
+ tests_dir = [ "tests/" ]
109
+
102
110
  See below for more options for configuring mutmut.
103
111
 
104
112
 
@@ -190,7 +198,7 @@ Example mutations
190
198
  - break is changed to continue and vice versa
191
199
 
192
200
  In general the idea is that the mutations should be as subtle as possible.
193
- See `__init__.py` for the full list.
201
+ See `node_mutation.py` for the full list and `test_mutation.py` for tests describing them.
194
202
 
195
203
 
196
204
  Workflow
@@ -75,6 +75,14 @@ In `setup.cfg` in the root of your project you can configure mutmut if you need
75
75
  paths_to_mutate=src/
76
76
  tests_dir=tests/
77
77
 
78
+ If you use `pyproject.toml`, you must specify the paths as array in a `tool.mutmut` section:
79
+
80
+ .. code-block:: toml
81
+
82
+ [tool.mutmut]
83
+ paths_to_mutate = [ "src/" ]
84
+ tests_dir = [ "tests/" ]
85
+
78
86
  See below for more options for configuring mutmut.
79
87
 
80
88
 
@@ -166,7 +174,7 @@ Example mutations
166
174
  - break is changed to continue and vice versa
167
175
 
168
176
  In general the idea is that the mutations should be as subtle as possible.
169
- See `__init__.py` for the full list.
177
+ See `node_mutation.py` for the full list and `test_mutation.py` for tests describing them.
170
178
 
171
179
 
172
180
  Workflow
@@ -0,0 +1,21 @@
1
+ from collections import defaultdict
2
+
3
+ __version__ = '3.3.0'
4
+
5
+
6
+ duration_by_test = {}
7
+ stats_time = None
8
+ config = None
9
+
10
+ _stats = set()
11
+ tests_by_mangled_function_name = defaultdict(set)
12
+
13
+
14
+ def _reset_globals():
15
+ global duration_by_test, stats_time, config, _stats, tests_by_mangled_function_name
16
+
17
+ duration_by_test = {}
18
+ stats_time = None
19
+ config = None
20
+ _stats = set()
21
+ tests_by_mangled_function_name = defaultdict(set)