pynguin 0.40.0__tar.gz → 0.41.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 (835) hide show
  1. pynguin-0.41.0/LICENSE.rst +10 -0
  2. pynguin-0.41.0/PKG-INFO +217 -0
  3. pynguin-0.41.0/README.md +169 -0
  4. pynguin-0.41.0/pyproject.toml +278 -0
  5. pynguin-0.41.0/src/pynguin/__init__.py +64 -0
  6. pynguin-0.41.0/src/pynguin/__main__.py +18 -0
  7. pynguin-0.41.0/src/pynguin/__version__.py +9 -0
  8. pynguin-0.41.0/src/pynguin/analyses/__init__.py +7 -0
  9. pynguin-0.41.0/src/pynguin/analyses/constants.py +355 -0
  10. pynguin-0.41.0/src/pynguin/analyses/controlflow.py +983 -0
  11. pynguin-0.41.0/src/pynguin/analyses/module.py +1593 -0
  12. pynguin-0.41.0/src/pynguin/analyses/modulecomplexity.py +326 -0
  13. pynguin-0.41.0/src/pynguin/analyses/seeding.py +902 -0
  14. pynguin-0.41.0/src/pynguin/analyses/syntaxtree.py +568 -0
  15. pynguin-0.41.0/src/pynguin/analyses/typesystem.py +1721 -0
  16. pynguin-0.41.0/src/pynguin/assertion/__init__.py +7 -0
  17. pynguin-0.41.0/src/pynguin/assertion/assertion.py +441 -0
  18. pynguin-0.41.0/src/pynguin/assertion/assertion_to_ast.py +337 -0
  19. pynguin-0.41.0/src/pynguin/assertion/assertion_trace.py +129 -0
  20. pynguin-0.41.0/src/pynguin/assertion/assertiongenerator.py +481 -0
  21. pynguin-0.41.0/src/pynguin/assertion/assertiontraceobserver.py +355 -0
  22. pynguin-0.41.0/src/pynguin/assertion/llmassertiongenerator.py +171 -0
  23. pynguin-0.41.0/src/pynguin/assertion/mutation_analysis/__init__.py +7 -0
  24. pynguin-0.41.0/src/pynguin/assertion/mutation_analysis/controller.py +94 -0
  25. pynguin-0.41.0/src/pynguin/assertion/mutation_analysis/mutators.py +126 -0
  26. pynguin-0.41.0/src/pynguin/assertion/mutation_analysis/operators/__init__.py +94 -0
  27. pynguin-0.41.0/src/pynguin/assertion/mutation_analysis/operators/arithmetic.py +233 -0
  28. pynguin-0.41.0/src/pynguin/assertion/mutation_analysis/operators/base.py +290 -0
  29. pynguin-0.41.0/src/pynguin/assertion/mutation_analysis/operators/decorator.py +36 -0
  30. pynguin-0.41.0/src/pynguin/assertion/mutation_analysis/operators/exception.py +86 -0
  31. pynguin-0.41.0/src/pynguin/assertion/mutation_analysis/operators/inheritance.py +378 -0
  32. pynguin-0.41.0/src/pynguin/assertion/mutation_analysis/operators/logical.py +301 -0
  33. pynguin-0.41.0/src/pynguin/assertion/mutation_analysis/operators/loop.py +130 -0
  34. pynguin-0.41.0/src/pynguin/assertion/mutation_analysis/operators/misc.py +230 -0
  35. pynguin-0.41.0/src/pynguin/assertion/mutation_analysis/strategies.py +166 -0
  36. pynguin-0.41.0/src/pynguin/assertion/mutation_analysis/transformer.py +100 -0
  37. pynguin-0.41.0/src/pynguin/cli.py +221 -0
  38. pynguin-0.41.0/src/pynguin/configuration.py +770 -0
  39. pynguin-0.41.0/src/pynguin/ga/__init__.py +7 -0
  40. pynguin-0.41.0/src/pynguin/ga/algorithms/__init__.py +7 -0
  41. pynguin-0.41.0/src/pynguin/ga/algorithms/abstractmosaalgorithm.py +179 -0
  42. pynguin-0.41.0/src/pynguin/ga/algorithms/archive.py +430 -0
  43. pynguin-0.41.0/src/pynguin/ga/algorithms/dynamosaalgorithm.py +286 -0
  44. pynguin-0.41.0/src/pynguin/ga/algorithms/generationalgorithm.py +332 -0
  45. pynguin-0.41.0/src/pynguin/ga/algorithms/llmosalgorithm.py +214 -0
  46. pynguin-0.41.0/src/pynguin/ga/algorithms/mioalgorithm.py +145 -0
  47. pynguin-0.41.0/src/pynguin/ga/algorithms/mosaalgorithm.py +70 -0
  48. pynguin-0.41.0/src/pynguin/ga/algorithms/randomalgorithm.py +168 -0
  49. pynguin-0.41.0/src/pynguin/ga/algorithms/randomsearchalgorithm.py +57 -0
  50. pynguin-0.41.0/src/pynguin/ga/algorithms/wholesuitealgorithm.py +185 -0
  51. pynguin-0.41.0/src/pynguin/ga/chromosome.py +191 -0
  52. pynguin-0.41.0/src/pynguin/ga/chromosomefactory.py +28 -0
  53. pynguin-0.41.0/src/pynguin/ga/chromosomevisitor.py +30 -0
  54. pynguin-0.41.0/src/pynguin/ga/computations.py +1013 -0
  55. pynguin-0.41.0/src/pynguin/ga/coveragegoals.py +500 -0
  56. pynguin-0.41.0/src/pynguin/ga/generationalgorithmfactory.py +444 -0
  57. pynguin-0.41.0/src/pynguin/ga/llmtestsuitechromosomefactory.py +131 -0
  58. pynguin-0.41.0/src/pynguin/ga/operators/__init__.py +7 -0
  59. pynguin-0.41.0/src/pynguin/ga/operators/comparator.py +136 -0
  60. pynguin-0.41.0/src/pynguin/ga/operators/crossover.py +55 -0
  61. pynguin-0.41.0/src/pynguin/ga/operators/ranking.py +231 -0
  62. pynguin-0.41.0/src/pynguin/ga/operators/selection.py +116 -0
  63. pynguin-0.41.0/src/pynguin/ga/postprocess.py +273 -0
  64. pynguin-0.41.0/src/pynguin/ga/searchobserver.py +87 -0
  65. pynguin-0.41.0/src/pynguin/ga/stoppingcondition.py +640 -0
  66. pynguin-0.41.0/src/pynguin/ga/testcasechromosome.py +303 -0
  67. pynguin-0.41.0/src/pynguin/ga/testcasechromosomefactory.py +87 -0
  68. pynguin-0.41.0/src/pynguin/ga/testcasefactory.py +92 -0
  69. pynguin-0.41.0/src/pynguin/ga/testsuitechromosome.py +195 -0
  70. pynguin-0.41.0/src/pynguin/ga/testsuitechromosomefactory.py +64 -0
  71. pynguin-0.41.0/src/pynguin/generator.py +822 -0
  72. pynguin-0.41.0/src/pynguin/instrumentation/__init__.py +7 -0
  73. pynguin-0.41.0/src/pynguin/instrumentation/instrumentation.py +1973 -0
  74. pynguin-0.41.0/src/pynguin/instrumentation/machinery.py +277 -0
  75. pynguin-0.41.0/src/pynguin/instrumentation/tracer.py +1731 -0
  76. pynguin-0.41.0/src/pynguin/large_language_model/__init__.py +7 -0
  77. pynguin-0.41.0/src/pynguin/large_language_model/caching.py +73 -0
  78. pynguin-0.41.0/src/pynguin/large_language_model/helpers/__init__.py +7 -0
  79. pynguin-0.41.0/src/pynguin/large_language_model/helpers/testcasereferencecopier.py +147 -0
  80. pynguin-0.41.0/src/pynguin/large_language_model/llmagent.py +382 -0
  81. pynguin-0.41.0/src/pynguin/large_language_model/llmtestcasehandler.py +168 -0
  82. pynguin-0.41.0/src/pynguin/large_language_model/parsing/__init__.py +7 -0
  83. pynguin-0.41.0/src/pynguin/large_language_model/parsing/astscoping.py +561 -0
  84. pynguin-0.41.0/src/pynguin/large_language_model/parsing/deserializer.py +906 -0
  85. pynguin-0.41.0/src/pynguin/large_language_model/parsing/helpers.py +166 -0
  86. pynguin-0.41.0/src/pynguin/large_language_model/parsing/rewriter.py +934 -0
  87. pynguin-0.41.0/src/pynguin/large_language_model/prompts/__init__.py +7 -0
  88. pynguin-0.41.0/src/pynguin/large_language_model/prompts/assertiongenerationprompt.py +33 -0
  89. pynguin-0.41.0/src/pynguin/large_language_model/prompts/prompt.py +38 -0
  90. pynguin-0.41.0/src/pynguin/large_language_model/prompts/testcasegenerationprompt.py +32 -0
  91. pynguin-0.41.0/src/pynguin/large_language_model/prompts/uncoveredtargetsprompt.py +81 -0
  92. pynguin-0.41.0/src/pynguin/resources/__init__.py +7 -0
  93. pynguin-0.41.0/src/pynguin/resources/coverage-template.html +80 -0
  94. pynguin-0.41.0/src/pynguin/slicer/__init__.py +7 -0
  95. pynguin-0.41.0/src/pynguin/slicer/dynamicslicer.py +882 -0
  96. pynguin-0.41.0/src/pynguin/slicer/executedinstruction.py +138 -0
  97. pynguin-0.41.0/src/pynguin/slicer/executionflowbuilder.py +614 -0
  98. pynguin-0.41.0/src/pynguin/slicer/stack/__init__.py +9 -0
  99. pynguin-0.41.0/src/pynguin/slicer/stack/stackeffect.py +219 -0
  100. pynguin-0.41.0/src/pynguin/slicer/stack/stacksimulation.py +197 -0
  101. pynguin-0.41.0/src/pynguin/slicer/statementslicingobserver.py +99 -0
  102. pynguin-0.41.0/src/pynguin/testcase/__init__.py +7 -0
  103. pynguin-0.41.0/src/pynguin/testcase/defaulttestcase.py +175 -0
  104. pynguin-0.41.0/src/pynguin/testcase/execution.py +2024 -0
  105. pynguin-0.41.0/src/pynguin/testcase/export.py +203 -0
  106. pynguin-0.41.0/src/pynguin/testcase/statement.py +2520 -0
  107. pynguin-0.41.0/src/pynguin/testcase/statement_to_ast.py +486 -0
  108. pynguin-0.41.0/src/pynguin/testcase/testcase.py +295 -0
  109. pynguin-0.41.0/src/pynguin/testcase/testcase_to_ast.py +136 -0
  110. pynguin-0.41.0/src/pynguin/testcase/testcasevisitor.py +22 -0
  111. pynguin-0.41.0/src/pynguin/testcase/testfactory.py +1761 -0
  112. pynguin-0.41.0/src/pynguin/testcase/variablereference.py +497 -0
  113. pynguin-0.41.0/src/pynguin/utils/__init__.py +7 -0
  114. pynguin-0.41.0/src/pynguin/utils/ast_util.py +219 -0
  115. pynguin-0.41.0/src/pynguin/utils/atomicinteger.py +67 -0
  116. pynguin-0.41.0/src/pynguin/utils/collection_utils.py +24 -0
  117. pynguin-0.41.0/src/pynguin/utils/configuration_writer.py +121 -0
  118. pynguin-0.41.0/src/pynguin/utils/controlflowdistance.py +228 -0
  119. pynguin-0.41.0/src/pynguin/utils/exceptions.py +43 -0
  120. pynguin-0.41.0/src/pynguin/utils/generic/__init__.py +7 -0
  121. pynguin-0.41.0/src/pynguin/utils/generic/genericaccessibleobject.py +587 -0
  122. pynguin-0.41.0/src/pynguin/utils/llm.py +161 -0
  123. pynguin-0.41.0/src/pynguin/utils/mirror.py +19 -0
  124. pynguin-0.41.0/src/pynguin/utils/mutation_utils.py +209 -0
  125. pynguin-0.41.0/src/pynguin/utils/namingscope.py +192 -0
  126. pynguin-0.41.0/src/pynguin/utils/opcodes.py +294 -0
  127. pynguin-0.41.0/src/pynguin/utils/orderedset.py +459 -0
  128. pynguin-0.41.0/src/pynguin/utils/pynguinml/__init__.py +7 -0
  129. pynguin-0.41.0/src/pynguin/utils/pynguinml/ml_parsing_utils.py +416 -0
  130. pynguin-0.41.0/src/pynguin/utils/pynguinml/ml_testfactory_utils.py +532 -0
  131. pynguin-0.41.0/src/pynguin/utils/pynguinml/ml_testing_resources.py +297 -0
  132. pynguin-0.41.0/src/pynguin/utils/pynguinml/mlparameter.py +575 -0
  133. pynguin-0.41.0/src/pynguin/utils/pynguinml/np_rng.py +43 -0
  134. pynguin-0.41.0/src/pynguin/utils/randomness.py +192 -0
  135. pynguin-0.41.0/src/pynguin/utils/report.py +406 -0
  136. pynguin-0.41.0/src/pynguin/utils/statistics/__init__.py +7 -0
  137. pynguin-0.41.0/src/pynguin/utils/statistics/outputvariablefactory.py +320 -0
  138. pynguin-0.41.0/src/pynguin/utils/statistics/runtimevariable.py +228 -0
  139. pynguin-0.41.0/src/pynguin/utils/statistics/statisticsbackend.py +77 -0
  140. pynguin-0.41.0/src/pynguin/utils/statistics/statisticsobserver.py +90 -0
  141. pynguin-0.41.0/src/pynguin/utils/statistics/stats.py +474 -0
  142. pynguin-0.41.0/src/pynguin/utils/type_utils.py +373 -0
  143. pynguin-0.41.0/src/pynguin/utils/typeevalpy_json_schema.py +341 -0
  144. pynguin-0.41.0/src/pynguin/utils/typetracing.py +758 -0
  145. pynguin-0.41.0/tests/__init__.py +6 -0
  146. pynguin-0.41.0/tests/analyses/__init__.py +6 -0
  147. pynguin-0.41.0/tests/analyses/test_cfg.py +325 -0
  148. pynguin-0.41.0/tests/analyses/test_constants.py +100 -0
  149. pynguin-0.41.0/tests/analyses/test_controldependencegraph.py +100 -0
  150. pynguin-0.41.0/tests/analyses/test_dominatortree.py +121 -0
  151. pynguin-0.41.0/tests/analyses/test_initialpopulationseeding.py +275 -0
  152. pynguin-0.41.0/tests/analyses/test_module.py +574 -0
  153. pynguin-0.41.0/tests/analyses/test_modulecomplexity.py +156 -0
  154. pynguin-0.41.0/tests/analyses/test_programgraph.py +187 -0
  155. pynguin-0.41.0/tests/analyses/test_seeding.py +63 -0
  156. pynguin-0.41.0/tests/analyses/test_staticconstantseeding.py +30 -0
  157. pynguin-0.41.0/tests/analyses/test_syntaxtree.py +374 -0
  158. pynguin-0.41.0/tests/analyses/test_typesystem.py +931 -0
  159. pynguin-0.41.0/tests/assertion/__init__.py +6 -0
  160. pynguin-0.41.0/tests/assertion/mutation_analysis/__init__.py +6 -0
  161. pynguin-0.41.0/tests/assertion/mutation_analysis/test_controller.py +76 -0
  162. pynguin-0.41.0/tests/assertion/mutation_analysis/test_mutators.py +151 -0
  163. pynguin-0.41.0/tests/assertion/mutation_analysis/test_strategies.py +195 -0
  164. pynguin-0.41.0/tests/assertion/test_assertion.py +168 -0
  165. pynguin-0.41.0/tests/assertion/test_assertion_generation_integration.py +340 -0
  166. pynguin-0.41.0/tests/assertion/test_assertion_to_ast.py +123 -0
  167. pynguin-0.41.0/tests/assertion/test_assertion_trace.py +83 -0
  168. pynguin-0.41.0/tests/assertion/test_assertiongenerator.py +32 -0
  169. pynguin-0.41.0/tests/assertion/test_assertiontraceobserver.py +52 -0
  170. pynguin-0.41.0/tests/assertion/test_llmassertiongenerator.py +216 -0
  171. pynguin-0.41.0/tests/conftest.py +617 -0
  172. pynguin-0.41.0/tests/fixtures/__init__.py +6 -0
  173. pynguin-0.41.0/tests/fixtures/accessibles/__init__.py +6 -0
  174. pynguin-0.41.0/tests/fixtures/accessibles/accessible.py +19 -0
  175. pynguin-0.41.0/tests/fixtures/branchcoverage/__init__.py +6 -0
  176. pynguin-0.41.0/tests/fixtures/branchcoverage/nestedbranches.py +16 -0
  177. pynguin-0.41.0/tests/fixtures/branchcoverage/nobranches.py +22 -0
  178. pynguin-0.41.0/tests/fixtures/branchcoverage/simplenesting.py +15 -0
  179. pynguin-0.41.0/tests/fixtures/branchcoverage/singlebranches.py +12 -0
  180. pynguin-0.41.0/tests/fixtures/branchcoverage/twomethodsinglebranches.py +18 -0
  181. pynguin-0.41.0/tests/fixtures/cluster/__init__.py +6 -0
  182. pynguin-0.41.0/tests/fixtures/cluster/abstract.py +14 -0
  183. pynguin-0.41.0/tests/fixtures/cluster/alias_module.py +14 -0
  184. pynguin-0.41.0/tests/fixtures/cluster/async_class_gen.py +9 -0
  185. pynguin-0.41.0/tests/fixtures/cluster/async_class_method.py +9 -0
  186. pynguin-0.41.0/tests/fixtures/cluster/async_func.py +8 -0
  187. pynguin-0.41.0/tests/fixtures/cluster/async_gen.py +8 -0
  188. pynguin-0.41.0/tests/fixtures/cluster/attributes.py +19 -0
  189. pynguin-0.41.0/tests/fixtures/cluster/blacklist.py +38 -0
  190. pynguin-0.41.0/tests/fixtures/cluster/blacklist_transitive.py +16 -0
  191. pynguin-0.41.0/tests/fixtures/cluster/comments.py +91 -0
  192. pynguin-0.41.0/tests/fixtures/cluster/complex_dependencies.py +12 -0
  193. pynguin-0.41.0/tests/fixtures/cluster/complex_dependency.py +23 -0
  194. pynguin-0.41.0/tests/fixtures/cluster/conditional_import.py +16 -0
  195. pynguin-0.41.0/tests/fixtures/cluster/dependency.py +11 -0
  196. pynguin-0.41.0/tests/fixtures/cluster/diamond_bottom.py +13 -0
  197. pynguin-0.41.0/tests/fixtures/cluster/diamond_left.py +13 -0
  198. pynguin-0.41.0/tests/fixtures/cluster/diamond_right.py +13 -0
  199. pynguin-0.41.0/tests/fixtures/cluster/diamond_top.py +13 -0
  200. pynguin-0.41.0/tests/fixtures/cluster/enums.py +22 -0
  201. pynguin-0.41.0/tests/fixtures/cluster/import_dependency.py +21 -0
  202. pynguin-0.41.0/tests/fixtures/cluster/inheritance.py +14 -0
  203. pynguin-0.41.0/tests/fixtures/cluster/lambda.py +11 -0
  204. pynguin-0.41.0/tests/fixtures/cluster/nested_functions.py +19 -0
  205. pynguin-0.41.0/tests/fixtures/cluster/no_any_annotations.py +23 -0
  206. pynguin-0.41.0/tests/fixtures/cluster/no_dependencies.py +22 -0
  207. pynguin-0.41.0/tests/fixtures/cluster/overridden_inherited_methods.py +23 -0
  208. pynguin-0.41.0/tests/fixtures/cluster/simple_dependencies.py +12 -0
  209. pynguin-0.41.0/tests/fixtures/cluster/typing_parameters.py +22 -0
  210. pynguin-0.41.0/tests/fixtures/cluster/uses_async_dependency.py +17 -0
  211. pynguin-0.41.0/tests/fixtures/duckmock/__init__.py +6 -0
  212. pynguin-0.41.0/tests/fixtures/duckmock/complex.py +97 -0
  213. pynguin-0.41.0/tests/fixtures/errors/__init__.py +6 -0
  214. pynguin-0.41.0/tests/fixtures/errors/import_error.py +11 -0
  215. pynguin-0.41.0/tests/fixtures/examples/__init__.py +6 -0
  216. pynguin-0.41.0/tests/fixtures/examples/assertions.py +27 -0
  217. pynguin-0.41.0/tests/fixtures/examples/basket.py +13 -0
  218. pynguin-0.41.0/tests/fixtures/examples/calculator.py +61 -0
  219. pynguin-0.41.0/tests/fixtures/examples/calculator_simple.py +46 -0
  220. pynguin-0.41.0/tests/fixtures/examples/collections.py +43 -0
  221. pynguin-0.41.0/tests/fixtures/examples/difficult.py +23 -0
  222. pynguin-0.41.0/tests/fixtures/examples/dummies.py +14 -0
  223. pynguin-0.41.0/tests/fixtures/examples/dynamosa_example.py +17 -0
  224. pynguin-0.41.0/tests/fixtures/examples/enums.py +16 -0
  225. pynguin-0.41.0/tests/fixtures/examples/exceptions.py +17 -0
  226. pynguin-0.41.0/tests/fixtures/examples/flaky.py +22 -0
  227. pynguin-0.41.0/tests/fixtures/examples/impossible.py +11 -0
  228. pynguin-0.41.0/tests/fixtures/examples/inheritance.py +25 -0
  229. pynguin-0.41.0/tests/fixtures/examples/loop.py +19 -0
  230. pynguin-0.41.0/tests/fixtures/examples/monkey.py +45 -0
  231. pynguin-0.41.0/tests/fixtures/examples/nested.py +14 -0
  232. pynguin-0.41.0/tests/fixtures/examples/objects.py +27 -0
  233. pynguin-0.41.0/tests/fixtures/examples/private_methods.py +16 -0
  234. pynguin-0.41.0/tests/fixtures/examples/queue.py +43 -0
  235. pynguin-0.41.0/tests/fixtures/examples/simple.py +11 -0
  236. pynguin-0.41.0/tests/fixtures/examples/triangle.py +15 -0
  237. pynguin-0.41.0/tests/fixtures/examples/type_inference.py +14 -0
  238. pynguin-0.41.0/tests/fixtures/examples/type_tracing/__init__.py +6 -0
  239. pynguin-0.41.0/tests/fixtures/examples/type_tracing/geometry.py +17 -0
  240. pynguin-0.41.0/tests/fixtures/examples/type_tracing/invoice.py +17 -0
  241. pynguin-0.41.0/tests/fixtures/examples/type_tracing/large_test_cluster.py +59 -0
  242. pynguin-0.41.0/tests/fixtures/examples/type_tracing/mixed.py +58 -0
  243. pynguin-0.41.0/tests/fixtures/grammar/__init__.py +6 -0
  244. pynguin-0.41.0/tests/fixtures/grammar/parameters.py +14 -0
  245. pynguin-0.41.0/tests/fixtures/instrumentation/__init__.py +6 -0
  246. pynguin-0.41.0/tests/fixtures/instrumentation/comparison.py +64 -0
  247. pynguin-0.41.0/tests/fixtures/instrumentation/inherited.py +15 -0
  248. pynguin-0.41.0/tests/fixtures/instrumentation/mixed.py +62 -0
  249. pynguin-0.41.0/tests/fixtures/instrumentation/simple.py +78 -0
  250. pynguin-0.41.0/tests/fixtures/linecoverage/__init__.py +6 -0
  251. pynguin-0.41.0/tests/fixtures/linecoverage/artificial_none.py +39 -0
  252. pynguin-0.41.0/tests/fixtures/linecoverage/emptyfile.py +6 -0
  253. pynguin-0.41.0/tests/fixtures/linecoverage/exception.py +11 -0
  254. pynguin-0.41.0/tests/fixtures/linecoverage/list.py +10 -0
  255. pynguin-0.41.0/tests/fixtures/linecoverage/plus.py +18 -0
  256. pynguin-0.41.0/tests/fixtures/linecoverage/setter_getter.py +16 -0
  257. pynguin-0.41.0/tests/fixtures/mutation/__init__.py +6 -0
  258. pynguin-0.41.0/tests/fixtures/mutation/exception.py +12 -0
  259. pynguin-0.41.0/tests/fixtures/mutation/expected.py +9 -0
  260. pynguin-0.41.0/tests/fixtures/mutation/mutation.py +18 -0
  261. pynguin-0.41.0/tests/fixtures/mutation/timeout.py +13 -0
  262. pynguin-0.41.0/tests/fixtures/programgraph/__init__.py +6 -0
  263. pynguin-0.41.0/tests/fixtures/programgraph/samples.py +12 -0
  264. pynguin-0.41.0/tests/fixtures/programgraph/whileloop.py +13 -0
  265. pynguin-0.41.0/tests/fixtures/programgraph/yield_fun.py +12 -0
  266. pynguin-0.41.0/tests/fixtures/regression/__init__.py +6 -0
  267. pynguin-0.41.0/tests/fixtures/regression/argparse_sys_exit.py +16 -0
  268. pynguin-0.41.0/tests/fixtures/regression/custom_error.py +7 -0
  269. pynguin-0.41.0/tests/fixtures/regression/not_main.py +16 -0
  270. pynguin-0.41.0/tests/fixtures/seeding/__init__.py +6 -0
  271. pynguin-0.41.0/tests/fixtures/seeding/dynamicseeding/__init__.py +6 -0
  272. pynguin-0.41.0/tests/fixtures/seeding/dynamicseeding/dynamicseedingdummies.py +12 -0
  273. pynguin-0.41.0/tests/fixtures/seeding/initialpopulationseeding/__init__.py +6 -0
  274. pynguin-0.41.0/tests/fixtures/seeding/initialpopulationseeding/dummycontainer.py +82 -0
  275. pynguin-0.41.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/__init__.py +6 -0
  276. pynguin-0.41.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/assertseed_test_.py +27 -0
  277. pynguin-0.41.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/classseed_test_.py +15 -0
  278. pynguin-0.41.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/collfuncseed_test_.py +37 -0
  279. pynguin-0.41.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/collseed_test_.py +31 -0
  280. pynguin-0.41.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/nestedseed_test_.py +14 -0
  281. pynguin-0.41.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/notknowncall_test_.py +18 -0
  282. pynguin-0.41.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/notprimseed_test_.py +14 -0
  283. pynguin-0.41.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/primitiveseed_test_.py +58 -0
  284. pynguin-0.41.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/triangleseed_test_.py +21 -0
  285. pynguin-0.41.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/wrongassignseed_test_.py +11 -0
  286. pynguin-0.41.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/wrongfunctionnameseed_test_.py +13 -0
  287. pynguin-0.41.0/tests/fixtures/seeding/staticconstantseeding/__init__.py +6 -0
  288. pynguin-0.41.0/tests/fixtures/seeding/staticconstantseeding/dummy/__init__.py +6 -0
  289. pynguin-0.41.0/tests/fixtures/seeding/staticconstantseeding/dummy/dummy.py +24 -0
  290. pynguin-0.41.0/tests/fixtures/slicer/__init__.py +6 -0
  291. pynguin-0.41.0/tests/fixtures/slicer/attribute_dependencies.py +23 -0
  292. pynguin-0.41.0/tests/fixtures/slicer/closure.py +19 -0
  293. pynguin-0.41.0/tests/fixtures/slicer/generator.py +37 -0
  294. pynguin-0.41.0/tests/fixtures/slicer/immutable_attribute_dependency.py +18 -0
  295. pynguin-0.41.0/tests/fixtures/slicer/import_star_def.py +10 -0
  296. pynguin-0.41.0/tests/fixtures/slicer/import_star_main.py +15 -0
  297. pynguin-0.41.0/tests/fixtures/slicer/partial_cover_dependency.py +22 -0
  298. pynguin-0.41.0/tests/fixtures/slicer/simple_call.py +17 -0
  299. pynguin-0.41.0/tests/fixtures/slicer/simple_call_arg.py +21 -0
  300. pynguin-0.41.0/tests/fixtures/test.conf.license +3 -0
  301. pynguin-0.41.0/tests/fixtures/tests/typeinference/test_stubstrategy.pyi +17 -0
  302. pynguin-0.41.0/tests/fixtures/type_tracing/__init__.py +6 -0
  303. pynguin-0.41.0/tests/fixtures/type_tracing/guess_params.py +11 -0
  304. pynguin-0.41.0/tests/fixtures/type_tracing/return_types.py +28 -0
  305. pynguin-0.41.0/tests/fixtures/type_tracing/union_type.py +9 -0
  306. pynguin-0.41.0/tests/fixtures/types/__init__.py +6 -0
  307. pynguin-0.41.0/tests/fixtures/types/outside.py +16 -0
  308. pynguin-0.41.0/tests/fixtures/types/subtyping.py +12 -0
  309. pynguin-0.41.0/tests/fixtures/types/symbols.py +53 -0
  310. pynguin-0.41.0/tests/ga/__init__.py +6 -0
  311. pynguin-0.41.0/tests/ga/algorithms/__init__.py +7 -0
  312. pynguin-0.41.0/tests/ga/algorithms/test_archive.py +417 -0
  313. pynguin-0.41.0/tests/ga/algorithms/test_dynamosaalgorithm.py +84 -0
  314. pynguin-0.41.0/tests/ga/algorithms/test_generationalgorithm.py +32 -0
  315. pynguin-0.41.0/tests/ga/algorithms/test_integration_mosaalgorithm.py +72 -0
  316. pynguin-0.41.0/tests/ga/algorithms/test_integration_varioussearchalgorithms.py +128 -0
  317. pynguin-0.41.0/tests/ga/algorithms/test_llmosalgorithm.py +435 -0
  318. pynguin-0.41.0/tests/ga/algorithms/test_mioalgorithm.py +68 -0
  319. pynguin-0.41.0/tests/ga/algorithms/test_mosaalgorithm.py +53 -0
  320. pynguin-0.41.0/tests/ga/algorithms/test_randomalgorithm.py +157 -0
  321. pynguin-0.41.0/tests/ga/operators/__init__.py +6 -0
  322. pynguin-0.41.0/tests/ga/operators/crossover/__init__.py +6 -0
  323. pynguin-0.41.0/tests/ga/operators/crossover/test_singlepointrelativecrossover.py +39 -0
  324. pynguin-0.41.0/tests/ga/operators/ranking/__init__.py +6 -0
  325. pynguin-0.41.0/tests/ga/operators/ranking/test_rankingfunction.py +73 -0
  326. pynguin-0.41.0/tests/ga/operators/selection/__init__.py +6 -0
  327. pynguin-0.41.0/tests/ga/operators/selection/test_rankselection.py +16 -0
  328. pynguin-0.41.0/tests/ga/operators/selection/test_selection.py +30 -0
  329. pynguin-0.41.0/tests/ga/operators/selection/test_tournamentselection.py +21 -0
  330. pynguin-0.41.0/tests/ga/operators/test_dominancecomparator.py +49 -0
  331. pynguin-0.41.0/tests/ga/operators/test_preferencesortingcomparator.py +25 -0
  332. pynguin-0.41.0/tests/ga/stoppingconditions/__init__.py +6 -0
  333. pynguin-0.41.0/tests/ga/stoppingconditions/test_coverageplateaustoppingcondition.py +65 -0
  334. pynguin-0.41.0/tests/ga/stoppingconditions/test_maxcoveragestoppingcondition.py +61 -0
  335. pynguin-0.41.0/tests/ga/stoppingconditions/test_maxiterationsstoppingcondition.py +43 -0
  336. pynguin-0.41.0/tests/ga/stoppingconditions/test_maxmemorystoppingcondition.py +43 -0
  337. pynguin-0.41.0/tests/ga/stoppingconditions/test_maxstatementstoppingcondition.py +47 -0
  338. pynguin-0.41.0/tests/ga/stoppingconditions/test_maxtestsstoppingcondition.py +31 -0
  339. pynguin-0.41.0/tests/ga/stoppingconditions/test_maxtimestoppingcondition.py +43 -0
  340. pynguin-0.41.0/tests/ga/stoppingconditions/test_minimumcoverageplateaustoppingcondition.py +88 -0
  341. pynguin-0.41.0/tests/ga/stoppingconditions/test_stoppingcondition.py +39 -0
  342. pynguin-0.41.0/tests/ga/test_chromosome.py +63 -0
  343. pynguin-0.41.0/tests/ga/test_chromosomefactory.py +84 -0
  344. pynguin-0.41.0/tests/ga/test_computations.py +212 -0
  345. pynguin-0.41.0/tests/ga/test_computations_cache.py +181 -0
  346. pynguin-0.41.0/tests/ga/test_computations_fitness_utilities.py +293 -0
  347. pynguin-0.41.0/tests/ga/test_coveragegoals.py +484 -0
  348. pynguin-0.41.0/tests/ga/test_generationalgorithmfactory.py +98 -0
  349. pynguin-0.41.0/tests/ga/test_llmtestsuitechromosomefactory.py +190 -0
  350. pynguin-0.41.0/tests/ga/test_postprocess.py +240 -0
  351. pynguin-0.41.0/tests/ga/test_testcasechromosome.py +340 -0
  352. pynguin-0.41.0/tests/ga/test_testcasefactory.py +35 -0
  353. pynguin-0.41.0/tests/ga/test_testsuitechromosome.py +220 -0
  354. pynguin-0.41.0/tests/instrumentation/__init__.py +6 -0
  355. pynguin-0.41.0/tests/instrumentation/test_instrumentation.py +778 -0
  356. pynguin-0.41.0/tests/instrumentation/test_machinery.py +49 -0
  357. pynguin-0.41.0/tests/large_language_model/helpers/test_testcasereferencecopier.py +190 -0
  358. pynguin-0.41.0/tests/large_language_model/parsing/test_astscoping.py +688 -0
  359. pynguin-0.41.0/tests/large_language_model/parsing/test_helpers.py +344 -0
  360. pynguin-0.41.0/tests/large_language_model/prompts/__init__.py +0 -0
  361. pynguin-0.41.0/tests/large_language_model/prompts/test_assertiongenerationprompt.py +106 -0
  362. pynguin-0.41.0/tests/large_language_model/prompts/test_testcasegenerationprompt.py +114 -0
  363. pynguin-0.41.0/tests/large_language_model/prompts/test_uncovered_targets_prompt.py +93 -0
  364. pynguin-0.41.0/tests/large_language_model/test_caching.py +111 -0
  365. pynguin-0.41.0/tests/large_language_model/test_llm_caching.py +55 -0
  366. pynguin-0.41.0/tests/large_language_model/test_llm_deserializer.py +652 -0
  367. pynguin-0.41.0/tests/large_language_model/test_llmagent.py +105 -0
  368. pynguin-0.41.0/tests/large_language_model/test_llmagent_extended.py +417 -0
  369. pynguin-0.41.0/tests/large_language_model/test_llmtestcasehandler.py +110 -0
  370. pynguin-0.41.0/tests/large_language_model/test_llmtestcasehandler_coverage.py +50 -0
  371. pynguin-0.41.0/tests/large_language_model/test_rewriter.py +514 -0
  372. pynguin-0.41.0/tests/slicer/__init__.py +6 -0
  373. pynguin-0.41.0/tests/slicer/stack/__init__.py +6 -0
  374. pynguin-0.41.0/tests/slicer/stack/test_stack_effect.py +62 -0
  375. pynguin-0.41.0/tests/slicer/test_assertionslicer.py +388 -0
  376. pynguin-0.41.0/tests/slicer/test_dependencies.py +374 -0
  377. pynguin-0.41.0/tests/slicer/test_expected_failures.py +293 -0
  378. pynguin-0.41.0/tests/slicer/test_language_features.py +692 -0
  379. pynguin-0.41.0/tests/slicer/test_statementslicer.py +326 -0
  380. pynguin-0.41.0/tests/slicer/util.py +159 -0
  381. pynguin-0.41.0/tests/test___main__.py +20 -0
  382. pynguin-0.41.0/tests/test_cli.py +320 -0
  383. pynguin-0.41.0/tests/test_generator.py +364 -0
  384. pynguin-0.41.0/tests/testcase/__init__.py +6 -0
  385. pynguin-0.41.0/tests/testcase/execution/__init__.py +6 -0
  386. pynguin-0.41.0/tests/testcase/execution/test_executedinstruction.py +22 -0
  387. pynguin-0.41.0/tests/testcase/execution/test_executioncontext.py +45 -0
  388. pynguin-0.41.0/tests/testcase/execution/test_executionmocking.py +0 -0
  389. pynguin-0.41.0/tests/testcase/execution/test_executionresult.py +55 -0
  390. pynguin-0.41.0/tests/testcase/execution/test_executiontrace.py +84 -0
  391. pynguin-0.41.0/tests/testcase/execution/test_executiontracer.py +479 -0
  392. pynguin-0.41.0/tests/testcase/execution/test_moduleprovider.py +39 -0
  393. pynguin-0.41.0/tests/testcase/execution/test_subprocesstestcaseexecutor_differential.py +43 -0
  394. pynguin-0.41.0/tests/testcase/execution/test_testcaseexecutor_integration.py +211 -0
  395. pynguin-0.41.0/tests/testcase/execution/test_typetracing.py +111 -0
  396. pynguin-0.41.0/tests/testcase/export/__init__.py +6 -0
  397. pynguin-0.41.0/tests/testcase/export/conftest.py +94 -0
  398. pynguin-0.41.0/tests/testcase/export/test_export.py +123 -0
  399. pynguin-0.41.0/tests/testcase/statements/__init__.py +6 -0
  400. pynguin-0.41.0/tests/testcase/statements/test_assignmentstatement.py +126 -0
  401. pynguin-0.41.0/tests/testcase/statements/test_collectionstatements.py +113 -0
  402. pynguin-0.41.0/tests/testcase/statements/test_fieldstatement.py +171 -0
  403. pynguin-0.41.0/tests/testcase/statements/test_parameterizedstatements.py +549 -0
  404. pynguin-0.41.0/tests/testcase/statements/test_primitivestatements.py +643 -0
  405. pynguin-0.41.0/tests/testcase/test_ast_assign_statement.py +385 -0
  406. pynguin-0.41.0/tests/testcase/test_benchmark.py +64 -0
  407. pynguin-0.41.0/tests/testcase/test_defaulttestcase.py +314 -0
  408. pynguin-0.41.0/tests/testcase/test_statement_to_ast.py +666 -0
  409. pynguin-0.41.0/tests/testcase/test_testcase_integration.py +161 -0
  410. pynguin-0.41.0/tests/testcase/test_testcase_to_ast_integration.py +144 -0
  411. pynguin-0.41.0/tests/testcase/test_testfactory.py +1024 -0
  412. pynguin-0.41.0/tests/testcase/variable/__init__.py +6 -0
  413. pynguin-0.41.0/tests/testcase/variable/test_variablereference.py +318 -0
  414. pynguin-0.41.0/tests/testutils.py +187 -0
  415. pynguin-0.41.0/tests/utils/__init__.py +6 -0
  416. pynguin-0.41.0/tests/utils/generic/__init__.py +6 -0
  417. pynguin-0.41.0/tests/utils/generic/test_genericaccessibleobject.py +191 -0
  418. pynguin-0.41.0/tests/utils/pynguinml/__init__.py +6 -0
  419. pynguin-0.41.0/tests/utils/pynguinml/test_ml_parsing_utils.py +292 -0
  420. pynguin-0.41.0/tests/utils/pynguinml/test_ml_testfactory_utils.py +380 -0
  421. pynguin-0.41.0/tests/utils/pynguinml/test_ml_testing_resources.py +262 -0
  422. pynguin-0.41.0/tests/utils/pynguinml/test_mlparameter.py +207 -0
  423. pynguin-0.41.0/tests/utils/pynguinml/test_np_rng.py +17 -0
  424. pynguin-0.41.0/tests/utils/pynguinml/test_pynguinml_integration.py +44 -0
  425. pynguin-0.41.0/tests/utils/stats/__init__.py +6 -0
  426. pynguin-0.41.0/tests/utils/stats/test_outputvariablefactory.py +186 -0
  427. pynguin-0.41.0/tests/utils/stats/test_runtimevariable.py +41 -0
  428. pynguin-0.41.0/tests/utils/stats/test_searchstatistics.py +193 -0
  429. pynguin-0.41.0/tests/utils/stats/test_statistics.py +18 -0
  430. pynguin-0.41.0/tests/utils/stats/test_statisticsbackend.py +52 -0
  431. pynguin-0.41.0/tests/utils/test_atomicinteger.py +37 -0
  432. pynguin-0.41.0/tests/utils/test_collection_utils.py +14 -0
  433. pynguin-0.41.0/tests/utils/test_configuration_writer.py +474 -0
  434. pynguin-0.41.0/tests/utils/test_controlflowdistance.py +130 -0
  435. pynguin-0.41.0/tests/utils/test_exceptions.py +44 -0
  436. pynguin-0.41.0/tests/utils/test_llm.py +38 -0
  437. pynguin-0.41.0/tests/utils/test_mirror.py +19 -0
  438. pynguin-0.41.0/tests/utils/test_mutation_utils.py +32 -0
  439. pynguin-0.41.0/tests/utils/test_namingscope.py +131 -0
  440. pynguin-0.41.0/tests/utils/test_orderedset.py +270 -0
  441. pynguin-0.41.0/tests/utils/test_randomness.py +98 -0
  442. pynguin-0.41.0/tests/utils/test_report.py +509 -0
  443. pynguin-0.41.0/tests/utils/test_type_utils.py +241 -0
  444. pynguin-0.41.0/tests/utils/test_typeevalpy_json_schema.py +418 -0
  445. pynguin-0.41.0/tests/utils/test_typetracing.py +655 -0
  446. pynguin-0.41.0/tests/utils/utils.py +29 -0
  447. pynguin-0.40.0/LICENSE.rst +0 -10
  448. pynguin-0.40.0/PKG-INFO +0 -211
  449. pynguin-0.40.0/README.md +0 -167
  450. pynguin-0.40.0/pyproject.toml +0 -258
  451. pynguin-0.40.0/src/pynguin/__init__.py +0 -29
  452. pynguin-0.40.0/src/pynguin/__main__.py +0 -18
  453. pynguin-0.40.0/src/pynguin/__version__.py +0 -9
  454. pynguin-0.40.0/src/pynguin/analyses/__init__.py +0 -7
  455. pynguin-0.40.0/src/pynguin/analyses/constants.py +0 -336
  456. pynguin-0.40.0/src/pynguin/analyses/controlflow.py +0 -861
  457. pynguin-0.40.0/src/pynguin/analyses/module.py +0 -1417
  458. pynguin-0.40.0/src/pynguin/analyses/modulecomplexity.py +0 -326
  459. pynguin-0.40.0/src/pynguin/analyses/seeding.py +0 -902
  460. pynguin-0.40.0/src/pynguin/analyses/syntaxtree.py +0 -568
  461. pynguin-0.40.0/src/pynguin/analyses/typesystem.py +0 -1671
  462. pynguin-0.40.0/src/pynguin/assertion/__init__.py +0 -7
  463. pynguin-0.40.0/src/pynguin/assertion/assertion.py +0 -381
  464. pynguin-0.40.0/src/pynguin/assertion/assertion_to_ast.py +0 -314
  465. pynguin-0.40.0/src/pynguin/assertion/assertion_trace.py +0 -123
  466. pynguin-0.40.0/src/pynguin/assertion/assertiongenerator.py +0 -417
  467. pynguin-0.40.0/src/pynguin/assertion/assertiontraceobserver.py +0 -333
  468. pynguin-0.40.0/src/pynguin/assertion/mutation_analysis/__init__.py +0 -7
  469. pynguin-0.40.0/src/pynguin/assertion/mutation_analysis/controller.py +0 -91
  470. pynguin-0.40.0/src/pynguin/assertion/mutation_analysis/mutators.py +0 -126
  471. pynguin-0.40.0/src/pynguin/assertion/mutation_analysis/operators/__init__.py +0 -94
  472. pynguin-0.40.0/src/pynguin/assertion/mutation_analysis/operators/arithmetic.py +0 -233
  473. pynguin-0.40.0/src/pynguin/assertion/mutation_analysis/operators/base.py +0 -290
  474. pynguin-0.40.0/src/pynguin/assertion/mutation_analysis/operators/decorator.py +0 -36
  475. pynguin-0.40.0/src/pynguin/assertion/mutation_analysis/operators/exception.py +0 -86
  476. pynguin-0.40.0/src/pynguin/assertion/mutation_analysis/operators/inheritance.py +0 -378
  477. pynguin-0.40.0/src/pynguin/assertion/mutation_analysis/operators/logical.py +0 -301
  478. pynguin-0.40.0/src/pynguin/assertion/mutation_analysis/operators/loop.py +0 -130
  479. pynguin-0.40.0/src/pynguin/assertion/mutation_analysis/operators/misc.py +0 -230
  480. pynguin-0.40.0/src/pynguin/assertion/mutation_analysis/strategies.py +0 -166
  481. pynguin-0.40.0/src/pynguin/assertion/mutation_analysis/transformer.py +0 -100
  482. pynguin-0.40.0/src/pynguin/cli.py +0 -215
  483. pynguin-0.40.0/src/pynguin/configuration.py +0 -642
  484. pynguin-0.40.0/src/pynguin/ga/__init__.py +0 -7
  485. pynguin-0.40.0/src/pynguin/ga/algorithms/__init__.py +0 -7
  486. pynguin-0.40.0/src/pynguin/ga/algorithms/abstractmosaalgorithm.py +0 -122
  487. pynguin-0.40.0/src/pynguin/ga/algorithms/archive.py +0 -430
  488. pynguin-0.40.0/src/pynguin/ga/algorithms/dynamosaalgorithm.py +0 -286
  489. pynguin-0.40.0/src/pynguin/ga/algorithms/generationalgorithm.py +0 -329
  490. pynguin-0.40.0/src/pynguin/ga/algorithms/mioalgorithm.py +0 -145
  491. pynguin-0.40.0/src/pynguin/ga/algorithms/mosaalgorithm.py +0 -109
  492. pynguin-0.40.0/src/pynguin/ga/algorithms/randomalgorithm.py +0 -168
  493. pynguin-0.40.0/src/pynguin/ga/algorithms/randomsearchalgorithm.py +0 -57
  494. pynguin-0.40.0/src/pynguin/ga/algorithms/wholesuitealgorithm.py +0 -185
  495. pynguin-0.40.0/src/pynguin/ga/chromosome.py +0 -191
  496. pynguin-0.40.0/src/pynguin/ga/chromosomefactory.py +0 -28
  497. pynguin-0.40.0/src/pynguin/ga/chromosomevisitor.py +0 -30
  498. pynguin-0.40.0/src/pynguin/ga/computations.py +0 -992
  499. pynguin-0.40.0/src/pynguin/ga/coveragegoals.py +0 -500
  500. pynguin-0.40.0/src/pynguin/ga/generationalgorithmfactory.py +0 -420
  501. pynguin-0.40.0/src/pynguin/ga/operators/__init__.py +0 -7
  502. pynguin-0.40.0/src/pynguin/ga/operators/comparator.py +0 -136
  503. pynguin-0.40.0/src/pynguin/ga/operators/crossover.py +0 -55
  504. pynguin-0.40.0/src/pynguin/ga/operators/ranking.py +0 -231
  505. pynguin-0.40.0/src/pynguin/ga/operators/selection.py +0 -116
  506. pynguin-0.40.0/src/pynguin/ga/postprocess.py +0 -264
  507. pynguin-0.40.0/src/pynguin/ga/searchobserver.py +0 -87
  508. pynguin-0.40.0/src/pynguin/ga/stoppingcondition.py +0 -475
  509. pynguin-0.40.0/src/pynguin/ga/testcasechromosome.py +0 -303
  510. pynguin-0.40.0/src/pynguin/ga/testcasechromosomefactory.py +0 -87
  511. pynguin-0.40.0/src/pynguin/ga/testcasefactory.py +0 -92
  512. pynguin-0.40.0/src/pynguin/ga/testsuitechromosome.py +0 -195
  513. pynguin-0.40.0/src/pynguin/ga/testsuitechromosomefactory.py +0 -64
  514. pynguin-0.40.0/src/pynguin/generator.py +0 -728
  515. pynguin-0.40.0/src/pynguin/instrumentation/__init__.py +0 -7
  516. pynguin-0.40.0/src/pynguin/instrumentation/instrumentation.py +0 -1942
  517. pynguin-0.40.0/src/pynguin/instrumentation/machinery.py +0 -269
  518. pynguin-0.40.0/src/pynguin/resources/__init__.py +0 -7
  519. pynguin-0.40.0/src/pynguin/resources/coverage-template.html +0 -80
  520. pynguin-0.40.0/src/pynguin/slicer/__init__.py +0 -7
  521. pynguin-0.40.0/src/pynguin/slicer/dynamicslicer.py +0 -882
  522. pynguin-0.40.0/src/pynguin/slicer/executedinstruction.py +0 -139
  523. pynguin-0.40.0/src/pynguin/slicer/executionflowbuilder.py +0 -614
  524. pynguin-0.40.0/src/pynguin/slicer/stack/__init__.py +0 -9
  525. pynguin-0.40.0/src/pynguin/slicer/stack/stackeffect.py +0 -219
  526. pynguin-0.40.0/src/pynguin/slicer/stack/stacksimulation.py +0 -197
  527. pynguin-0.40.0/src/pynguin/slicer/statementslicingobserver.py +0 -114
  528. pynguin-0.40.0/src/pynguin/testcase/__init__.py +0 -7
  529. pynguin-0.40.0/src/pynguin/testcase/defaulttestcase.py +0 -175
  530. pynguin-0.40.0/src/pynguin/testcase/execution.py +0 -2473
  531. pynguin-0.40.0/src/pynguin/testcase/export.py +0 -201
  532. pynguin-0.40.0/src/pynguin/testcase/statement.py +0 -2082
  533. pynguin-0.40.0/src/pynguin/testcase/statement_to_ast.py +0 -454
  534. pynguin-0.40.0/src/pynguin/testcase/testcase.py +0 -295
  535. pynguin-0.40.0/src/pynguin/testcase/testcase_to_ast.py +0 -133
  536. pynguin-0.40.0/src/pynguin/testcase/testcasevisitor.py +0 -22
  537. pynguin-0.40.0/src/pynguin/testcase/testfactory.py +0 -1311
  538. pynguin-0.40.0/src/pynguin/testcase/variablereference.py +0 -497
  539. pynguin-0.40.0/src/pynguin/utils/__init__.py +0 -7
  540. pynguin-0.40.0/src/pynguin/utils/ast_util.py +0 -202
  541. pynguin-0.40.0/src/pynguin/utils/atomicinteger.py +0 -67
  542. pynguin-0.40.0/src/pynguin/utils/collection_utils.py +0 -24
  543. pynguin-0.40.0/src/pynguin/utils/controlflowdistance.py +0 -228
  544. pynguin-0.40.0/src/pynguin/utils/exceptions.py +0 -39
  545. pynguin-0.40.0/src/pynguin/utils/generic/__init__.py +0 -7
  546. pynguin-0.40.0/src/pynguin/utils/generic/genericaccessibleobject.py +0 -572
  547. pynguin-0.40.0/src/pynguin/utils/mirror.py +0 -19
  548. pynguin-0.40.0/src/pynguin/utils/mutation_utils.py +0 -66
  549. pynguin-0.40.0/src/pynguin/utils/namingscope.py +0 -192
  550. pynguin-0.40.0/src/pynguin/utils/opcodes.py +0 -294
  551. pynguin-0.40.0/src/pynguin/utils/orderedset.py +0 -329
  552. pynguin-0.40.0/src/pynguin/utils/randomness.py +0 -192
  553. pynguin-0.40.0/src/pynguin/utils/report.py +0 -406
  554. pynguin-0.40.0/src/pynguin/utils/statistics/__init__.py +0 -7
  555. pynguin-0.40.0/src/pynguin/utils/statistics/outputvariablefactory.py +0 -320
  556. pynguin-0.40.0/src/pynguin/utils/statistics/runtimevariable.py +0 -185
  557. pynguin-0.40.0/src/pynguin/utils/statistics/statisticsbackend.py +0 -77
  558. pynguin-0.40.0/src/pynguin/utils/statistics/statisticsobserver.py +0 -90
  559. pynguin-0.40.0/src/pynguin/utils/statistics/stats.py +0 -474
  560. pynguin-0.40.0/src/pynguin/utils/type_utils.py +0 -305
  561. pynguin-0.40.0/src/pynguin/utils/typetracing.py +0 -757
  562. pynguin-0.40.0/tests/analyses/__init__.py +0 -6
  563. pynguin-0.40.0/tests/analyses/test_cfg.py +0 -314
  564. pynguin-0.40.0/tests/analyses/test_constants.py +0 -100
  565. pynguin-0.40.0/tests/analyses/test_controldependencegraph.py +0 -85
  566. pynguin-0.40.0/tests/analyses/test_dominatortree.py +0 -121
  567. pynguin-0.40.0/tests/analyses/test_initialpopulationseeding.py +0 -275
  568. pynguin-0.40.0/tests/analyses/test_module.py +0 -533
  569. pynguin-0.40.0/tests/analyses/test_modulecomplexity.py +0 -156
  570. pynguin-0.40.0/tests/analyses/test_programgraph.py +0 -151
  571. pynguin-0.40.0/tests/analyses/test_seeding.py +0 -63
  572. pynguin-0.40.0/tests/analyses/test_staticconstantseeding.py +0 -30
  573. pynguin-0.40.0/tests/analyses/test_syntaxtree.py +0 -374
  574. pynguin-0.40.0/tests/analyses/test_typesystem.py +0 -881
  575. pynguin-0.40.0/tests/assertion/__init__.py +0 -6
  576. pynguin-0.40.0/tests/assertion/mutation_analysis/__init__.py +0 -6
  577. pynguin-0.40.0/tests/assertion/mutation_analysis/test_controller.py +0 -40
  578. pynguin-0.40.0/tests/assertion/mutation_analysis/test_mutators.py +0 -151
  579. pynguin-0.40.0/tests/assertion/mutation_analysis/test_strategies.py +0 -195
  580. pynguin-0.40.0/tests/assertion/test_assertion.py +0 -135
  581. pynguin-0.40.0/tests/assertion/test_assertion_generation_integration.py +0 -340
  582. pynguin-0.40.0/tests/assertion/test_assertion_to_ast.py +0 -112
  583. pynguin-0.40.0/tests/assertion/test_assertion_trace.py +0 -83
  584. pynguin-0.40.0/tests/assertion/test_assertiongenerator.py +0 -32
  585. pynguin-0.40.0/tests/assertion/test_assertiontraceobserver.py +0 -52
  586. pynguin-0.40.0/tests/conftest.py +0 -512
  587. pynguin-0.40.0/tests/fixtures/__init__.py +0 -6
  588. pynguin-0.40.0/tests/fixtures/accessibles/__init__.py +0 -6
  589. pynguin-0.40.0/tests/fixtures/accessibles/accessible.py +0 -19
  590. pynguin-0.40.0/tests/fixtures/branchcoverage/__init__.py +0 -6
  591. pynguin-0.40.0/tests/fixtures/branchcoverage/nestedbranches.py +0 -16
  592. pynguin-0.40.0/tests/fixtures/branchcoverage/nobranches.py +0 -22
  593. pynguin-0.40.0/tests/fixtures/branchcoverage/simplenesting.py +0 -15
  594. pynguin-0.40.0/tests/fixtures/branchcoverage/singlebranches.py +0 -12
  595. pynguin-0.40.0/tests/fixtures/branchcoverage/twomethodsinglebranches.py +0 -18
  596. pynguin-0.40.0/tests/fixtures/cluster/__init__.py +0 -6
  597. pynguin-0.40.0/tests/fixtures/cluster/abstract.py +0 -14
  598. pynguin-0.40.0/tests/fixtures/cluster/alias_module.py +0 -14
  599. pynguin-0.40.0/tests/fixtures/cluster/async_class_gen.py +0 -9
  600. pynguin-0.40.0/tests/fixtures/cluster/async_class_method.py +0 -9
  601. pynguin-0.40.0/tests/fixtures/cluster/async_func.py +0 -8
  602. pynguin-0.40.0/tests/fixtures/cluster/async_gen.py +0 -8
  603. pynguin-0.40.0/tests/fixtures/cluster/attributes.py +0 -19
  604. pynguin-0.40.0/tests/fixtures/cluster/blacklist.py +0 -38
  605. pynguin-0.40.0/tests/fixtures/cluster/blacklist_transitive.py +0 -16
  606. pynguin-0.40.0/tests/fixtures/cluster/comments.py +0 -91
  607. pynguin-0.40.0/tests/fixtures/cluster/complex_dependencies.py +0 -12
  608. pynguin-0.40.0/tests/fixtures/cluster/complex_dependency.py +0 -23
  609. pynguin-0.40.0/tests/fixtures/cluster/conditional_import.py +0 -16
  610. pynguin-0.40.0/tests/fixtures/cluster/dependency.py +0 -11
  611. pynguin-0.40.0/tests/fixtures/cluster/diamond_bottom.py +0 -13
  612. pynguin-0.40.0/tests/fixtures/cluster/diamond_left.py +0 -13
  613. pynguin-0.40.0/tests/fixtures/cluster/diamond_right.py +0 -13
  614. pynguin-0.40.0/tests/fixtures/cluster/diamond_top.py +0 -13
  615. pynguin-0.40.0/tests/fixtures/cluster/enums.py +0 -22
  616. pynguin-0.40.0/tests/fixtures/cluster/import_dependency.py +0 -21
  617. pynguin-0.40.0/tests/fixtures/cluster/inheritance.py +0 -14
  618. pynguin-0.40.0/tests/fixtures/cluster/nested_functions.py +0 -19
  619. pynguin-0.40.0/tests/fixtures/cluster/no_any_annotations.py +0 -23
  620. pynguin-0.40.0/tests/fixtures/cluster/no_dependencies.py +0 -22
  621. pynguin-0.40.0/tests/fixtures/cluster/overridden_inherited_methods.py +0 -23
  622. pynguin-0.40.0/tests/fixtures/cluster/simple_dependencies.py +0 -12
  623. pynguin-0.40.0/tests/fixtures/cluster/typing_parameters.py +0 -22
  624. pynguin-0.40.0/tests/fixtures/cluster/uses_async_dependency.py +0 -17
  625. pynguin-0.40.0/tests/fixtures/duckmock/__init__.py +0 -6
  626. pynguin-0.40.0/tests/fixtures/duckmock/complex.py +0 -97
  627. pynguin-0.40.0/tests/fixtures/examples/__init__.py +0 -6
  628. pynguin-0.40.0/tests/fixtures/examples/assertions.py +0 -27
  629. pynguin-0.40.0/tests/fixtures/examples/basket.py +0 -13
  630. pynguin-0.40.0/tests/fixtures/examples/calculator.py +0 -61
  631. pynguin-0.40.0/tests/fixtures/examples/calculator_simple.py +0 -46
  632. pynguin-0.40.0/tests/fixtures/examples/collections.py +0 -43
  633. pynguin-0.40.0/tests/fixtures/examples/difficult.py +0 -23
  634. pynguin-0.40.0/tests/fixtures/examples/dummies.py +0 -14
  635. pynguin-0.40.0/tests/fixtures/examples/dynamosa_example.py +0 -17
  636. pynguin-0.40.0/tests/fixtures/examples/enums.py +0 -16
  637. pynguin-0.40.0/tests/fixtures/examples/exceptions.py +0 -17
  638. pynguin-0.40.0/tests/fixtures/examples/flaky.py +0 -22
  639. pynguin-0.40.0/tests/fixtures/examples/impossible.py +0 -11
  640. pynguin-0.40.0/tests/fixtures/examples/inheritance.py +0 -25
  641. pynguin-0.40.0/tests/fixtures/examples/loop.py +0 -19
  642. pynguin-0.40.0/tests/fixtures/examples/monkey.py +0 -45
  643. pynguin-0.40.0/tests/fixtures/examples/nested.py +0 -14
  644. pynguin-0.40.0/tests/fixtures/examples/objects.py +0 -27
  645. pynguin-0.40.0/tests/fixtures/examples/private_methods.py +0 -16
  646. pynguin-0.40.0/tests/fixtures/examples/queue.py +0 -43
  647. pynguin-0.40.0/tests/fixtures/examples/simple.py +0 -11
  648. pynguin-0.40.0/tests/fixtures/examples/triangle.py +0 -15
  649. pynguin-0.40.0/tests/fixtures/examples/type_inference.py +0 -14
  650. pynguin-0.40.0/tests/fixtures/examples/type_tracing/__init__.py +0 -6
  651. pynguin-0.40.0/tests/fixtures/examples/type_tracing/geometry.py +0 -17
  652. pynguin-0.40.0/tests/fixtures/examples/type_tracing/invoice.py +0 -17
  653. pynguin-0.40.0/tests/fixtures/examples/type_tracing/large_test_cluster.py +0 -59
  654. pynguin-0.40.0/tests/fixtures/examples/type_tracing/mixed.py +0 -58
  655. pynguin-0.40.0/tests/fixtures/grammar/__init__.py +0 -6
  656. pynguin-0.40.0/tests/fixtures/grammar/parameters.py +0 -14
  657. pynguin-0.40.0/tests/fixtures/instrumentation/__init__.py +0 -6
  658. pynguin-0.40.0/tests/fixtures/instrumentation/comparison.py +0 -64
  659. pynguin-0.40.0/tests/fixtures/instrumentation/inherited.py +0 -15
  660. pynguin-0.40.0/tests/fixtures/instrumentation/mixed.py +0 -62
  661. pynguin-0.40.0/tests/fixtures/instrumentation/simple.py +0 -78
  662. pynguin-0.40.0/tests/fixtures/linecoverage/__init__.py +0 -6
  663. pynguin-0.40.0/tests/fixtures/linecoverage/artificial_none.py +0 -39
  664. pynguin-0.40.0/tests/fixtures/linecoverage/emptyfile.py +0 -6
  665. pynguin-0.40.0/tests/fixtures/linecoverage/exception.py +0 -11
  666. pynguin-0.40.0/tests/fixtures/linecoverage/list.py +0 -10
  667. pynguin-0.40.0/tests/fixtures/linecoverage/plus.py +0 -18
  668. pynguin-0.40.0/tests/fixtures/linecoverage/setter_getter.py +0 -16
  669. pynguin-0.40.0/tests/fixtures/mutation/__init__.py +0 -6
  670. pynguin-0.40.0/tests/fixtures/mutation/exception.py +0 -12
  671. pynguin-0.40.0/tests/fixtures/mutation/expected.py +0 -9
  672. pynguin-0.40.0/tests/fixtures/mutation/mutation.py +0 -18
  673. pynguin-0.40.0/tests/fixtures/mutation/timeout.py +0 -13
  674. pynguin-0.40.0/tests/fixtures/programgraph/__init__.py +0 -6
  675. pynguin-0.40.0/tests/fixtures/programgraph/samples.py +0 -12
  676. pynguin-0.40.0/tests/fixtures/programgraph/whileloop.py +0 -13
  677. pynguin-0.40.0/tests/fixtures/seeding/__init__.py +0 -6
  678. pynguin-0.40.0/tests/fixtures/seeding/dynamicseeding/__init__.py +0 -6
  679. pynguin-0.40.0/tests/fixtures/seeding/dynamicseeding/dynamicseedingdummies.py +0 -12
  680. pynguin-0.40.0/tests/fixtures/seeding/initialpopulationseeding/__init__.py +0 -6
  681. pynguin-0.40.0/tests/fixtures/seeding/initialpopulationseeding/dummycontainer.py +0 -82
  682. pynguin-0.40.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/__init__.py +0 -6
  683. pynguin-0.40.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/assertseed_test_.py +0 -27
  684. pynguin-0.40.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/classseed_test_.py +0 -15
  685. pynguin-0.40.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/collfuncseed_test_.py +0 -37
  686. pynguin-0.40.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/collseed_test_.py +0 -31
  687. pynguin-0.40.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/nestedseed_test_.py +0 -14
  688. pynguin-0.40.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/notknowncall_test_.py +0 -18
  689. pynguin-0.40.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/notprimseed_test_.py +0 -14
  690. pynguin-0.40.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/primitiveseed_test_.py +0 -58
  691. pynguin-0.40.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/triangleseed_test_.py +0 -21
  692. pynguin-0.40.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/wrongassignseed_test_.py +0 -11
  693. pynguin-0.40.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/wrongfunctionnameseed_test_.py +0 -13
  694. pynguin-0.40.0/tests/fixtures/seeding/staticconstantseeding/__init__.py +0 -6
  695. pynguin-0.40.0/tests/fixtures/seeding/staticconstantseeding/dummy/__init__.py +0 -6
  696. pynguin-0.40.0/tests/fixtures/seeding/staticconstantseeding/dummy/dummy.py +0 -24
  697. pynguin-0.40.0/tests/fixtures/slicer/__init__.py +0 -6
  698. pynguin-0.40.0/tests/fixtures/slicer/attribute_dependencies.py +0 -23
  699. pynguin-0.40.0/tests/fixtures/slicer/closure.py +0 -19
  700. pynguin-0.40.0/tests/fixtures/slicer/generator.py +0 -37
  701. pynguin-0.40.0/tests/fixtures/slicer/immutable_attribute_dependency.py +0 -18
  702. pynguin-0.40.0/tests/fixtures/slicer/import_star_def.py +0 -10
  703. pynguin-0.40.0/tests/fixtures/slicer/import_star_main.py +0 -15
  704. pynguin-0.40.0/tests/fixtures/slicer/partial_cover_dependency.py +0 -22
  705. pynguin-0.40.0/tests/fixtures/slicer/simple_call.py +0 -17
  706. pynguin-0.40.0/tests/fixtures/slicer/simple_call_arg.py +0 -21
  707. pynguin-0.40.0/tests/fixtures/test.conf.license +0 -3
  708. pynguin-0.40.0/tests/fixtures/tests/typeinference/test_stubstrategy.pyi +0 -17
  709. pynguin-0.40.0/tests/fixtures/type_tracing/__init__.py +0 -6
  710. pynguin-0.40.0/tests/fixtures/type_tracing/guess_params.py +0 -11
  711. pynguin-0.40.0/tests/fixtures/type_tracing/return_types.py +0 -28
  712. pynguin-0.40.0/tests/fixtures/types/__init__.py +0 -6
  713. pynguin-0.40.0/tests/fixtures/types/outside.py +0 -16
  714. pynguin-0.40.0/tests/fixtures/types/subtyping.py +0 -12
  715. pynguin-0.40.0/tests/fixtures/types/symbols.py +0 -53
  716. pynguin-0.40.0/tests/ga/__init__.py +0 -6
  717. pynguin-0.40.0/tests/ga/algorithms/__init__.py +0 -7
  718. pynguin-0.40.0/tests/ga/algorithms/test_archive.py +0 -417
  719. pynguin-0.40.0/tests/ga/algorithms/test_dynamosaalgorithm.py +0 -84
  720. pynguin-0.40.0/tests/ga/algorithms/test_generationalgorithm.py +0 -32
  721. pynguin-0.40.0/tests/ga/algorithms/test_integration_mosaalgorithm.py +0 -72
  722. pynguin-0.40.0/tests/ga/algorithms/test_integration_varioussearchalgorithms.py +0 -128
  723. pynguin-0.40.0/tests/ga/algorithms/test_mioalgorithm.py +0 -68
  724. pynguin-0.40.0/tests/ga/algorithms/test_mosaalgorithm.py +0 -53
  725. pynguin-0.40.0/tests/ga/algorithms/test_randomalgorithm.py +0 -157
  726. pynguin-0.40.0/tests/ga/operators/__init__.py +0 -6
  727. pynguin-0.40.0/tests/ga/operators/crossover/__init__.py +0 -6
  728. pynguin-0.40.0/tests/ga/operators/crossover/test_singlepointrelativecrossover.py +0 -39
  729. pynguin-0.40.0/tests/ga/operators/ranking/__init__.py +0 -6
  730. pynguin-0.40.0/tests/ga/operators/ranking/test_rankingfunction.py +0 -73
  731. pynguin-0.40.0/tests/ga/operators/selection/__init__.py +0 -6
  732. pynguin-0.40.0/tests/ga/operators/selection/test_rankselection.py +0 -16
  733. pynguin-0.40.0/tests/ga/operators/selection/test_selection.py +0 -30
  734. pynguin-0.40.0/tests/ga/operators/selection/test_tournamentselection.py +0 -21
  735. pynguin-0.40.0/tests/ga/operators/test_dominancecomparator.py +0 -49
  736. pynguin-0.40.0/tests/ga/operators/test_preferencesortingcomparator.py +0 -25
  737. pynguin-0.40.0/tests/ga/stoppingconditions/__init__.py +0 -6
  738. pynguin-0.40.0/tests/ga/stoppingconditions/test_coverageplateaustoppingcondition.py +0 -65
  739. pynguin-0.40.0/tests/ga/stoppingconditions/test_maxcoveragestoppingcondition.py +0 -61
  740. pynguin-0.40.0/tests/ga/stoppingconditions/test_maxiterationsstoppingcondition.py +0 -43
  741. pynguin-0.40.0/tests/ga/stoppingconditions/test_maxstatementstoppingcondition.py +0 -47
  742. pynguin-0.40.0/tests/ga/stoppingconditions/test_maxtestsstoppingcondition.py +0 -31
  743. pynguin-0.40.0/tests/ga/stoppingconditions/test_maxtimestoppingcondition.py +0 -43
  744. pynguin-0.40.0/tests/ga/stoppingconditions/test_minimumcoverageplateaustoppingcondition.py +0 -88
  745. pynguin-0.40.0/tests/ga/stoppingconditions/test_stoppingcondition.py +0 -39
  746. pynguin-0.40.0/tests/ga/test_chromosome.py +0 -63
  747. pynguin-0.40.0/tests/ga/test_chromosomefactory.py +0 -84
  748. pynguin-0.40.0/tests/ga/test_computations.py +0 -212
  749. pynguin-0.40.0/tests/ga/test_computations_cache.py +0 -181
  750. pynguin-0.40.0/tests/ga/test_computations_fitness_utilities.py +0 -293
  751. pynguin-0.40.0/tests/ga/test_coveragegoals.py +0 -484
  752. pynguin-0.40.0/tests/ga/test_generationalgorithmfactory.py +0 -91
  753. pynguin-0.40.0/tests/ga/test_postprocess.py +0 -203
  754. pynguin-0.40.0/tests/ga/test_testcasechromosome.py +0 -340
  755. pynguin-0.40.0/tests/ga/test_testcasefactory.py +0 -35
  756. pynguin-0.40.0/tests/ga/test_testsuitechromosome.py +0 -220
  757. pynguin-0.40.0/tests/instrumentation/__init__.py +0 -6
  758. pynguin-0.40.0/tests/instrumentation/test_instrumentation.py +0 -778
  759. pynguin-0.40.0/tests/instrumentation/test_machinery.py +0 -49
  760. pynguin-0.40.0/tests/slicer/__init__.py +0 -6
  761. pynguin-0.40.0/tests/slicer/stack/__init__.py +0 -6
  762. pynguin-0.40.0/tests/slicer/stack/test_stack_effect.py +0 -62
  763. pynguin-0.40.0/tests/slicer/test_assertionslicer.py +0 -388
  764. pynguin-0.40.0/tests/slicer/test_dependencies.py +0 -374
  765. pynguin-0.40.0/tests/slicer/test_expected_failures.py +0 -293
  766. pynguin-0.40.0/tests/slicer/test_language_features.py +0 -692
  767. pynguin-0.40.0/tests/slicer/test_statementslicer.py +0 -326
  768. pynguin-0.40.0/tests/slicer/util.py +0 -159
  769. pynguin-0.40.0/tests/test___main__.py +0 -20
  770. pynguin-0.40.0/tests/test_cli.py +0 -280
  771. pynguin-0.40.0/tests/test_generator.py +0 -204
  772. pynguin-0.40.0/tests/testcase/__init__.py +0 -6
  773. pynguin-0.40.0/tests/testcase/execution/__init__.py +0 -6
  774. pynguin-0.40.0/tests/testcase/execution/test_executedinstruction.py +0 -22
  775. pynguin-0.40.0/tests/testcase/execution/test_executioncontext.py +0 -45
  776. pynguin-0.40.0/tests/testcase/execution/test_executionresult.py +0 -55
  777. pynguin-0.40.0/tests/testcase/execution/test_executiontrace.py +0 -84
  778. pynguin-0.40.0/tests/testcase/execution/test_executiontracer.py +0 -413
  779. pynguin-0.40.0/tests/testcase/execution/test_moduleprovider.py +0 -39
  780. pynguin-0.40.0/tests/testcase/execution/test_testcaseexecutor_integration.py +0 -149
  781. pynguin-0.40.0/tests/testcase/execution/test_typetracing.py +0 -97
  782. pynguin-0.40.0/tests/testcase/export/__init__.py +0 -6
  783. pynguin-0.40.0/tests/testcase/export/conftest.py +0 -58
  784. pynguin-0.40.0/tests/testcase/export/test_export.py +0 -82
  785. pynguin-0.40.0/tests/testcase/statements/__init__.py +0 -6
  786. pynguin-0.40.0/tests/testcase/statements/test_assignmentstatement.py +0 -126
  787. pynguin-0.40.0/tests/testcase/statements/test_collectionstatements.py +0 -113
  788. pynguin-0.40.0/tests/testcase/statements/test_fieldstatement.py +0 -171
  789. pynguin-0.40.0/tests/testcase/statements/test_parameterizedstatements.py +0 -549
  790. pynguin-0.40.0/tests/testcase/statements/test_primitivestatements.py +0 -643
  791. pynguin-0.40.0/tests/testcase/test_benchmark.py +0 -64
  792. pynguin-0.40.0/tests/testcase/test_defaulttestcase.py +0 -314
  793. pynguin-0.40.0/tests/testcase/test_statement_to_ast.py +0 -611
  794. pynguin-0.40.0/tests/testcase/test_testcase_integration.py +0 -161
  795. pynguin-0.40.0/tests/testcase/test_testcase_to_ast_integration.py +0 -60
  796. pynguin-0.40.0/tests/testcase/test_testfactory.py +0 -966
  797. pynguin-0.40.0/tests/testcase/variable/__init__.py +0 -6
  798. pynguin-0.40.0/tests/testcase/variable/test_variablereference.py +0 -318
  799. pynguin-0.40.0/tests/testutils.py +0 -159
  800. pynguin-0.40.0/tests/utils/__init__.py +0 -6
  801. pynguin-0.40.0/tests/utils/generic/__init__.py +0 -6
  802. pynguin-0.40.0/tests/utils/generic/test_genericaccessibleobject.py +0 -160
  803. pynguin-0.40.0/tests/utils/stats/__init__.py +0 -6
  804. pynguin-0.40.0/tests/utils/stats/test_outputvariablefactory.py +0 -186
  805. pynguin-0.40.0/tests/utils/stats/test_searchstatistics.py +0 -127
  806. pynguin-0.40.0/tests/utils/stats/test_statistics.py +0 -18
  807. pynguin-0.40.0/tests/utils/stats/test_statisticsbackend.py +0 -52
  808. pynguin-0.40.0/tests/utils/test_atomicinteger.py +0 -37
  809. pynguin-0.40.0/tests/utils/test_collection_utils.py +0 -14
  810. pynguin-0.40.0/tests/utils/test_controlflowdistance.py +0 -130
  811. pynguin-0.40.0/tests/utils/test_exceptions.py +0 -44
  812. pynguin-0.40.0/tests/utils/test_mirror.py +0 -19
  813. pynguin-0.40.0/tests/utils/test_mutation_utils.py +0 -32
  814. pynguin-0.40.0/tests/utils/test_namingscope.py +0 -131
  815. pynguin-0.40.0/tests/utils/test_orderedset.py +0 -63
  816. pynguin-0.40.0/tests/utils/test_randomness.py +0 -98
  817. pynguin-0.40.0/tests/utils/test_report.py +0 -508
  818. pynguin-0.40.0/tests/utils/test_type_utils.py +0 -241
  819. pynguin-0.40.0/tests/utils/test_typetracing.py +0 -655
  820. {pynguin-0.40.0 → pynguin-0.41.0}/LICENSES/Apache-2.0.txt +0 -0
  821. {pynguin-0.40.0 → pynguin-0.41.0}/LICENSES/BSD-2-Clause.txt +0 -0
  822. {pynguin-0.40.0 → pynguin-0.41.0}/LICENSES/CC-BY-4.0.txt +0 -0
  823. {pynguin-0.40.0 → pynguin-0.41.0}/LICENSES/CC0-1.0.txt +0 -0
  824. {pynguin-0.40.0 → pynguin-0.41.0}/LICENSES/MIT.txt +0 -0
  825. {pynguin-0.40.0 → pynguin-0.41.0}/tests/assertion/mutation_analysis/operators/__init__.py +0 -0
  826. {pynguin-0.40.0 → pynguin-0.41.0}/tests/assertion/mutation_analysis/operators/test_arithmetic.py +0 -0
  827. {pynguin-0.40.0 → pynguin-0.41.0}/tests/assertion/mutation_analysis/operators/test_decorator.py +0 -0
  828. {pynguin-0.40.0 → pynguin-0.41.0}/tests/assertion/mutation_analysis/operators/test_exception.py +0 -0
  829. {pynguin-0.40.0 → pynguin-0.41.0}/tests/assertion/mutation_analysis/operators/test_inheritance.py +0 -0
  830. {pynguin-0.40.0 → pynguin-0.41.0}/tests/assertion/mutation_analysis/operators/test_logical.py +0 -0
  831. {pynguin-0.40.0 → pynguin-0.41.0}/tests/assertion/mutation_analysis/operators/test_loop.py +0 -0
  832. {pynguin-0.40.0 → pynguin-0.41.0}/tests/assertion/mutation_analysis/operators/test_misc.py +0 -0
  833. {pynguin-0.40.0 → pynguin-0.41.0}/tests/fixtures/seeding/staticconstantseeding/dummy/empty.so +0 -0
  834. {pynguin-0.40.0 → pynguin-0.41.0}/tests/fixtures/test.conf +0 -0
  835. {pynguin-0.40.0/tests → pynguin-0.41.0/tests/large_language_model}/__init__.py +0 -0
@@ -0,0 +1,10 @@
1
+ MIT License
2
+ ===========
3
+
4
+ Copyright (c) 2019–2025 Pynguin Contributors
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
7
+
8
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
9
+
10
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,217 @@
1
+ Metadata-Version: 2.3
2
+ Name: pynguin
3
+ Version: 0.41.0
4
+ Summary: Pynguin is a tool for automated unit test generation for Python
5
+ License: MIT
6
+ Keywords: unit test,random testing,search based,test generation
7
+ Author: Stephan Lukasczyk
8
+ Author-email: stephan@pynguin.eu
9
+ Requires-Python: >=3.10,<3.11
10
+ Classifier: Development Status :: 3 - Alpha
11
+ Classifier: Environment :: Console
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Intended Audience :: Education
14
+ Classifier: Intended Audience :: Science/Research
15
+ Classifier: License :: OSI Approved :: MIT License
16
+ Classifier: Operating System :: MacOS :: MacOS X
17
+ Classifier: Operating System :: Microsoft :: Windows
18
+ Classifier: Operating System :: POSIX :: Linux
19
+ Classifier: Programming Language :: Python :: 3
20
+ Classifier: Programming Language :: Python :: 3.10
21
+ Classifier: Programming Language :: Python :: Implementation :: CPython
22
+ Classifier: Topic :: Education :: Testing
23
+ Classifier: Topic :: Software Development :: Testing
24
+ Classifier: Topic :: Software Development :: Testing :: Unit
25
+ Classifier: Typing :: Typed
26
+ Requires-Dist: Jinja2 (>=3.1.6,<4.0.0)
27
+ Requires-Dist: Pygments (>=2.19.1,<3.0.0)
28
+ Requires-Dist: asciitree (>=0.3.3,<0.4.0)
29
+ Requires-Dist: astroid (>=3.3.9,<4.0.0)
30
+ Requires-Dist: black (>=25.1.0,<26.0.0)
31
+ Requires-Dist: bytecode (>=0.16.1,<0.17.0)
32
+ Requires-Dist: dill (>=0.3.9,<0.4.0)
33
+ Requires-Dist: libcst (>=1.7.0,<2.0.0)
34
+ Requires-Dist: multiprocess (>=0.70.16,<0.71.0)
35
+ Requires-Dist: networkx (>=3.4,<4.0)
36
+ Requires-Dist: psutil (>=7.0.0,<8.0.0)
37
+ Requires-Dist: pytest (>=8.3.5,<9.0.0)
38
+ Requires-Dist: rich (>=14.0.0,<15.0.0)
39
+ Requires-Dist: setuptools (>=78.1,<79.0)
40
+ Requires-Dist: simple-parsing (>=0.1.7,<0.2.0)
41
+ Requires-Dist: toml (>=0.10.2,<0.11.0)
42
+ Requires-Dist: typing_inspect (>=0.9.0,<0.10.0)
43
+ Project-URL: Documentation, https://pynguin.readthedocs.io
44
+ Project-URL: Homepage, https://www.pynguin.eu
45
+ Project-URL: Repository, https://github.com/se2p/pynguin
46
+ Description-Content-Type: text/markdown
47
+
48
+ <!--
49
+ SPDX-FileCopyrightText: 2019–2025 Pynguin Contributors
50
+
51
+ SPDX-License-Identifier: CC-BY-4.0
52
+ -->
53
+
54
+ # Pynguin
55
+
56
+ Pynguin (IPA: ˈpɪŋɡuiːn),
57
+ the
58
+ PYthoN
59
+ General
60
+ UnIt
61
+ test
62
+ geNerator,
63
+ is a tool that allows developers to generate unit tests automatically.
64
+
65
+ Testing software is often considered to be a tedious task.
66
+ Thus, automated generation techniques have been proposed and mature tools exist—for
67
+ statically typed languages, such as Java.
68
+ There is, however, no fully-automated tool available that produces unit tests for
69
+ general-purpose programs in a dynamically typed language.
70
+ Pynguin is, to the best of our knowledge, the first tool that fills this gap
71
+ and allows the automated generation of unit tests for Python programs.
72
+
73
+ <details>
74
+ <summary>Internal Pipeline Status</summary>
75
+
76
+ [![pipeline status](https://gitlab.infosun.fim.uni-passau.de/se2/pynguin/pynguin/badges/main/pipeline.svg)](https://gitlab.infosun.fim.uni-passau.de/se2/pynguin/pynguin/-/commits/main)
77
+ [![coverage report](https://gitlab.infosun.fim.uni-passau.de/se2/pynguin/pynguin/badges/main/coverage.svg)](https://gitlab.infosun.fim.uni-passau.de/se2/pynguin/pynguin/-/commits/main)
78
+
79
+ </details>
80
+
81
+ [![License MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
82
+ [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)
83
+ [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
84
+ [![PyPI version](https://badge.fury.io/py/pynguin.svg)](https://badge.fury.io/py/pynguin)
85
+ [![Supported Python Versions](https://img.shields.io/pypi/pyversions/pynguin.svg)](https://github.com/se2p/pynguin)
86
+ [![Documentation Status](https://readthedocs.org/projects/pynguin/badge/?version=latest)](https://pynguin.readthedocs.io/en/latest/?badge=latest)
87
+ [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3989840.svg)](https://doi.org/10.5281/zenodo.3989840)
88
+ [![REUSE status](https://api.reuse.software/badge/github.com/se2p/pynguin)](https://api.reuse.software/info/github.com/se2p/pynguin)
89
+ [![Downloads](https://static.pepy.tech/personalized-badge/pynguin?period=total&units=international_system&left_color=grey&right_color=blue&left_text=Downloads)](https://pepy.tech/project/pynguin)
90
+ [![SWH](https://archive.softwareheritage.org/badge/origin/https://github.com/se2p/pynguin/)](https://archive.softwareheritage.org/browse/origin/?origin_url=https://github.com/se2p/pynguin)
91
+
92
+
93
+ ![Pynguin Logo](https://raw.githubusercontent.com/se2p/pynguin/master/docs/source/_static/pynguin-logo.png "Pynguin Logo")
94
+
95
+ ## Attention
96
+
97
+ *Please Note:*
98
+
99
+ **Pynguin executes the module under test!**
100
+ As a consequence, depending on what code is in that module,
101
+ running Pynguin can cause serious harm to your computer,
102
+ for example, wipe your entire hard disk!
103
+ We recommend running Pynguin in an isolated environment;
104
+ use, for example, a Docker container to minimize the risk of damaging
105
+ your system.
106
+
107
+ **Pynguin is only a research prototype!**
108
+ It is not tailored towards production use whatsoever.
109
+ However, we would love to see Pynguin in a production-ready stage at some point;
110
+ please report your experiences in using Pynguin to us.
111
+
112
+
113
+ ## Prerequisites
114
+
115
+ Before you begin, ensure you have met the following requirements:
116
+ - You have installed Python 3.10 (we have not yet tested with Python
117
+ 3.11, there might be some problems due to changed internals regarding the byte-code
118
+ instrumentation).
119
+
120
+ **Attention:** Pynguin now requires Python 3.10! Older versions are no longer
121
+ supported!
122
+ - You have a recent Linux/macOS/Windows machine.
123
+
124
+ Please consider reading the [online documentation](https://pynguin.readthedocs.io)
125
+ to start your Pynguin adventure.
126
+
127
+ ## Installing Pynguin
128
+
129
+ Pynguin can be easily installed using the `pip` tool by typing:
130
+ ```bash
131
+ pip install pynguin
132
+ ```
133
+
134
+ Make sure that your version of `pip` is that of a supported Python version, as any
135
+ older version is not supported by Pynguin!
136
+
137
+ ## Using Pynguin
138
+
139
+ Before you continue, please read the [quick start guide](https://pynguin.readthedocs.io/en/latest/user/quickstart.html)
140
+
141
+ Pynguin is a command-line application.
142
+ Once you installed it to a virtual environment, you can invoke the tool by typing
143
+ `pynguin` inside this virtual environment.
144
+ Pynguin will then print a list of its command-line parameters.
145
+
146
+ A minimal full command line to invoke Pynguin could be the following,
147
+ where we assume that a project `foo` is located in `/tmp/foo`,
148
+ we want to store Pynguin's generated tests in `/tmp/testgen`,
149
+ and we want to generate tests using a whole-suite approach for the module `foo.bar`
150
+ (wrapped for better readability):
151
+ ```bash
152
+ pynguin \
153
+ --project-path /tmp/foo \
154
+ --output-path /tmp/testgen \
155
+ --module-name foo.bar
156
+ ```
157
+ Please find a more detailed example in the [quick start guide](https://pynguin.readthedocs.io/en/latest/user/quickstart.html).
158
+
159
+
160
+ ## Contributing to Pynguin
161
+
162
+ For the development of Pynguin you will need the [`poetry`](https://python-poetry.org)
163
+ dependency management and packaging tool.
164
+ To start developing, follow these steps:
165
+ 1. Clone the repository
166
+ 2. Change to the `pynguin` folder: `cd pynguin`
167
+ 3. Create a virtual environment and install dependencies using `poetry`: `poetry install`
168
+ 4. Make your changes
169
+ 5. Run `make check` to verify that your changes pass all checks
170
+
171
+ Please see the [`poetry` documentation](https://python-poetry.org/docs/) for more information on this tool.
172
+
173
+ ## Contributors
174
+
175
+ Pynguin is developed at the
176
+ [Chair of Software Engineering II](https://www.fim.uni-passau.de/lehrstuhl-fuer-software-engineering-ii/)
177
+ of the [University of Passau](https://www.uni-passau.de).
178
+
179
+ Maintainers: [Stephan Lukasczyk](https://github.com/stephanlukasczyk), [Lukas Krodinger](https://github.com/LuKrO2011)
180
+
181
+ Contributors:
182
+ - [Altin Hajdari](https://github.com/AltinHajdari)
183
+ - [Abdelillah Aissani](https://github.com/Abassion)
184
+ - [Juan Altmayer Pizzorno](https://github.com/jaltmayerpizzorno)
185
+ - [Lucas Berg](https://github.com/BergLucas)
186
+ - [Tucker Blue](https://github.com/tuckcodes)
187
+ - [Gordon Fraser](https://github.com/gofraser)
188
+ - [Abdur-Rahmaan Janhangeer](https://github.com/Abdur-rahmaanJ)
189
+ - [Maximilian Königseder](https://github.com/mak1ng)
190
+ - [Florian Kroiß](https://github.com/Wooza)
191
+ - [Simon Labrenz](https://github.com/labrenz)
192
+ - [Roman Levin](https://github.com/romanlevin)
193
+ - [Juan Julián Merelo Guervós](https://github.com/JJ)
194
+ - [Lukas Steffens](https://github.com/Luki42)
195
+ - [Florian Straubinger](https://github.com/f-str)
196
+ - [Sara Tavares](https://github.com/stavares843)
197
+
198
+
199
+ ### Development using PyCharm.
200
+
201
+ If you want to use the PyCharm IDE you have to set up a few things:
202
+ 1. Import `pynguin` into PyCharm.
203
+ 2. Let PyCharm configure configure a virtual environment using `poetry`.
204
+ 3. Set the default test runner to `pytest`
205
+ 4. Set the DocString format to `Google`
206
+
207
+
208
+ ## License
209
+
210
+ This project is licensed under the terms of the [MIT License](LICENSE.rst).
211
+ Pynguin was using the GNU Lesser General Public License (LGPL) until version 0.29.0,
212
+ its licence was changed with version 0.30.0.
213
+
214
+ ## Star History
215
+
216
+ [![Star History Chart](https://api.star-history.com/svg?repos=se2p/pynguin&type=Date)](https://star-history.com/#se2p/pynguin)
217
+
@@ -0,0 +1,169 @@
1
+ <!--
2
+ SPDX-FileCopyrightText: 2019–2025 Pynguin Contributors
3
+
4
+ SPDX-License-Identifier: CC-BY-4.0
5
+ -->
6
+
7
+ # Pynguin
8
+
9
+ Pynguin (IPA: ˈpɪŋɡuiːn),
10
+ the
11
+ PYthoN
12
+ General
13
+ UnIt
14
+ test
15
+ geNerator,
16
+ is a tool that allows developers to generate unit tests automatically.
17
+
18
+ Testing software is often considered to be a tedious task.
19
+ Thus, automated generation techniques have been proposed and mature tools exist—for
20
+ statically typed languages, such as Java.
21
+ There is, however, no fully-automated tool available that produces unit tests for
22
+ general-purpose programs in a dynamically typed language.
23
+ Pynguin is, to the best of our knowledge, the first tool that fills this gap
24
+ and allows the automated generation of unit tests for Python programs.
25
+
26
+ <details>
27
+ <summary>Internal Pipeline Status</summary>
28
+
29
+ [![pipeline status](https://gitlab.infosun.fim.uni-passau.de/se2/pynguin/pynguin/badges/main/pipeline.svg)](https://gitlab.infosun.fim.uni-passau.de/se2/pynguin/pynguin/-/commits/main)
30
+ [![coverage report](https://gitlab.infosun.fim.uni-passau.de/se2/pynguin/pynguin/badges/main/coverage.svg)](https://gitlab.infosun.fim.uni-passau.de/se2/pynguin/pynguin/-/commits/main)
31
+
32
+ </details>
33
+
34
+ [![License MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
35
+ [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)
36
+ [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
37
+ [![PyPI version](https://badge.fury.io/py/pynguin.svg)](https://badge.fury.io/py/pynguin)
38
+ [![Supported Python Versions](https://img.shields.io/pypi/pyversions/pynguin.svg)](https://github.com/se2p/pynguin)
39
+ [![Documentation Status](https://readthedocs.org/projects/pynguin/badge/?version=latest)](https://pynguin.readthedocs.io/en/latest/?badge=latest)
40
+ [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3989840.svg)](https://doi.org/10.5281/zenodo.3989840)
41
+ [![REUSE status](https://api.reuse.software/badge/github.com/se2p/pynguin)](https://api.reuse.software/info/github.com/se2p/pynguin)
42
+ [![Downloads](https://static.pepy.tech/personalized-badge/pynguin?period=total&units=international_system&left_color=grey&right_color=blue&left_text=Downloads)](https://pepy.tech/project/pynguin)
43
+ [![SWH](https://archive.softwareheritage.org/badge/origin/https://github.com/se2p/pynguin/)](https://archive.softwareheritage.org/browse/origin/?origin_url=https://github.com/se2p/pynguin)
44
+
45
+
46
+ ![Pynguin Logo](https://raw.githubusercontent.com/se2p/pynguin/master/docs/source/_static/pynguin-logo.png "Pynguin Logo")
47
+
48
+ ## Attention
49
+
50
+ *Please Note:*
51
+
52
+ **Pynguin executes the module under test!**
53
+ As a consequence, depending on what code is in that module,
54
+ running Pynguin can cause serious harm to your computer,
55
+ for example, wipe your entire hard disk!
56
+ We recommend running Pynguin in an isolated environment;
57
+ use, for example, a Docker container to minimize the risk of damaging
58
+ your system.
59
+
60
+ **Pynguin is only a research prototype!**
61
+ It is not tailored towards production use whatsoever.
62
+ However, we would love to see Pynguin in a production-ready stage at some point;
63
+ please report your experiences in using Pynguin to us.
64
+
65
+
66
+ ## Prerequisites
67
+
68
+ Before you begin, ensure you have met the following requirements:
69
+ - You have installed Python 3.10 (we have not yet tested with Python
70
+ 3.11, there might be some problems due to changed internals regarding the byte-code
71
+ instrumentation).
72
+
73
+ **Attention:** Pynguin now requires Python 3.10! Older versions are no longer
74
+ supported!
75
+ - You have a recent Linux/macOS/Windows machine.
76
+
77
+ Please consider reading the [online documentation](https://pynguin.readthedocs.io)
78
+ to start your Pynguin adventure.
79
+
80
+ ## Installing Pynguin
81
+
82
+ Pynguin can be easily installed using the `pip` tool by typing:
83
+ ```bash
84
+ pip install pynguin
85
+ ```
86
+
87
+ Make sure that your version of `pip` is that of a supported Python version, as any
88
+ older version is not supported by Pynguin!
89
+
90
+ ## Using Pynguin
91
+
92
+ Before you continue, please read the [quick start guide](https://pynguin.readthedocs.io/en/latest/user/quickstart.html)
93
+
94
+ Pynguin is a command-line application.
95
+ Once you installed it to a virtual environment, you can invoke the tool by typing
96
+ `pynguin` inside this virtual environment.
97
+ Pynguin will then print a list of its command-line parameters.
98
+
99
+ A minimal full command line to invoke Pynguin could be the following,
100
+ where we assume that a project `foo` is located in `/tmp/foo`,
101
+ we want to store Pynguin's generated tests in `/tmp/testgen`,
102
+ and we want to generate tests using a whole-suite approach for the module `foo.bar`
103
+ (wrapped for better readability):
104
+ ```bash
105
+ pynguin \
106
+ --project-path /tmp/foo \
107
+ --output-path /tmp/testgen \
108
+ --module-name foo.bar
109
+ ```
110
+ Please find a more detailed example in the [quick start guide](https://pynguin.readthedocs.io/en/latest/user/quickstart.html).
111
+
112
+
113
+ ## Contributing to Pynguin
114
+
115
+ For the development of Pynguin you will need the [`poetry`](https://python-poetry.org)
116
+ dependency management and packaging tool.
117
+ To start developing, follow these steps:
118
+ 1. Clone the repository
119
+ 2. Change to the `pynguin` folder: `cd pynguin`
120
+ 3. Create a virtual environment and install dependencies using `poetry`: `poetry install`
121
+ 4. Make your changes
122
+ 5. Run `make check` to verify that your changes pass all checks
123
+
124
+ Please see the [`poetry` documentation](https://python-poetry.org/docs/) for more information on this tool.
125
+
126
+ ## Contributors
127
+
128
+ Pynguin is developed at the
129
+ [Chair of Software Engineering II](https://www.fim.uni-passau.de/lehrstuhl-fuer-software-engineering-ii/)
130
+ of the [University of Passau](https://www.uni-passau.de).
131
+
132
+ Maintainers: [Stephan Lukasczyk](https://github.com/stephanlukasczyk), [Lukas Krodinger](https://github.com/LuKrO2011)
133
+
134
+ Contributors:
135
+ - [Altin Hajdari](https://github.com/AltinHajdari)
136
+ - [Abdelillah Aissani](https://github.com/Abassion)
137
+ - [Juan Altmayer Pizzorno](https://github.com/jaltmayerpizzorno)
138
+ - [Lucas Berg](https://github.com/BergLucas)
139
+ - [Tucker Blue](https://github.com/tuckcodes)
140
+ - [Gordon Fraser](https://github.com/gofraser)
141
+ - [Abdur-Rahmaan Janhangeer](https://github.com/Abdur-rahmaanJ)
142
+ - [Maximilian Königseder](https://github.com/mak1ng)
143
+ - [Florian Kroiß](https://github.com/Wooza)
144
+ - [Simon Labrenz](https://github.com/labrenz)
145
+ - [Roman Levin](https://github.com/romanlevin)
146
+ - [Juan Julián Merelo Guervós](https://github.com/JJ)
147
+ - [Lukas Steffens](https://github.com/Luki42)
148
+ - [Florian Straubinger](https://github.com/f-str)
149
+ - [Sara Tavares](https://github.com/stavares843)
150
+
151
+
152
+ ### Development using PyCharm.
153
+
154
+ If you want to use the PyCharm IDE you have to set up a few things:
155
+ 1. Import `pynguin` into PyCharm.
156
+ 2. Let PyCharm configure configure a virtual environment using `poetry`.
157
+ 3. Set the default test runner to `pytest`
158
+ 4. Set the DocString format to `Google`
159
+
160
+
161
+ ## License
162
+
163
+ This project is licensed under the terms of the [MIT License](LICENSE.rst).
164
+ Pynguin was using the GNU Lesser General Public License (LGPL) until version 0.29.0,
165
+ its licence was changed with version 0.30.0.
166
+
167
+ ## Star History
168
+
169
+ [![Star History Chart](https://api.star-history.com/svg?repos=se2p/pynguin&type=Date)](https://star-history.com/#se2p/pynguin)
@@ -0,0 +1,278 @@
1
+ # SPDX-FileCopyrightText: 2019–2025 Pynguin Contributors
2
+ #
3
+ # SPDX-License-Identifier: MIT
4
+
5
+ [tool.poetry]
6
+ name = "pynguin"
7
+ version = "0.41.0"
8
+ description = "Pynguin is a tool for automated unit test generation for Python"
9
+ authors = [
10
+ "Stephan Lukasczyk <stephan@pynguin.eu>",
11
+ "Lukas Krodinger <lukas.krodinger@gmail.com>",
12
+ ]
13
+ license = "MIT"
14
+ readme = "README.md"
15
+ repository = "https://github.com/se2p/pynguin"
16
+ documentation = "https://pynguin.readthedocs.io"
17
+ homepage = "https://www.pynguin.eu"
18
+ keywords = [
19
+ "unit test",
20
+ "random testing",
21
+ "search based",
22
+ "test generation"
23
+ ]
24
+ classifiers = [
25
+ "Development Status :: 3 - Alpha",
26
+ "Environment :: Console",
27
+ "Intended Audience :: Developers",
28
+ "Intended Audience :: Education",
29
+ "Intended Audience :: Science/Research",
30
+ "License :: OSI Approved :: MIT License",
31
+ "Operating System :: MacOS :: MacOS X",
32
+ "Operating System :: Microsoft :: Windows",
33
+ "Operating System :: POSIX :: Linux",
34
+ "Programming Language :: Python :: 3.10",
35
+ "Programming Language :: Python :: Implementation :: CPython",
36
+ "Topic :: Education :: Testing",
37
+ "Topic :: Software Development :: Testing",
38
+ "Topic :: Software Development :: Testing :: Unit",
39
+ "Typing :: Typed",
40
+ ]
41
+ packages = [
42
+ { include = "pynguin", from = "src" }
43
+ ]
44
+ include = [
45
+ { path = "tests", format = "sdist" }
46
+ ]
47
+
48
+ [tool.poetry.dependencies]
49
+ python = ">=3.10, <3.11"
50
+ astroid = "^3.3.9"
51
+ black = "^25.1.0"
52
+ bytecode = "^0.16.1"
53
+ dill = "^0.3.9"
54
+ Jinja2 = "^3.1.6"
55
+ networkx = "^3.4"
56
+ multiprocess = "^0.70.16"
57
+ rich = "^14.0.0"
58
+ Pygments = "^2.19.1"
59
+ pytest = "^8.3.5"
60
+ simple-parsing = "^0.1.7"
61
+ typing_inspect = "^0.9.0"
62
+ asciitree = "^0.3.3"
63
+ libcst = "^1.7.0"
64
+ setuptools = "^78.1"
65
+ toml = "^0.10.2"
66
+ psutil = "^7.0.0"
67
+
68
+ [tool.poetry.group.dev.dependencies]
69
+ isort = { extras = ["pyproject"], version = "^6.0.1" }
70
+ mypy = "^1.15.0"
71
+ pre-commit = "^4.2.0"
72
+ ruff = "^0.11"
73
+ types-toml = "^0.10.8.20240310"
74
+ types-pyyaml = "^6.0.12.20250516"
75
+
76
+ [tool.poetry.group.docs.dependencies]
77
+ sphinx = "^8.1.3"
78
+ sphinx-autodoc-typehints = "^3.0"
79
+ sphinx-hoverxref = "^1.4.2"
80
+ sphinx-rtd-theme = "^3.0.2"
81
+
82
+ [tool.poetry.group.test.dependencies]
83
+ coverage = "^7.8.0"
84
+ hypothesis = "^6.131"
85
+ pytest-cov = "^6.1.1"
86
+ pytest-mock = "^3.14.0"
87
+ pytest-picked = "^0.5.1"
88
+ pytest-sugar = "^1.0.0"
89
+
90
+ [tool.poetry.group.openai]
91
+ optional = true
92
+
93
+ [tool.poetry.group.openai.dependencies]
94
+ openai = "^1.72.0"
95
+
96
+ [tool.poetry.group.numpy]
97
+ optional = true
98
+
99
+ [tool.poetry.group.numpy.dependencies]
100
+ numpy = "^1.26.4"
101
+
102
+ [tool.poetry.scripts]
103
+ pynguin = "pynguin.cli:main"
104
+
105
+ [tool.coverage.run]
106
+ branch = true
107
+ source = ["src/pynguin", "tests"]
108
+ omit = ["tests/fixtures/*"]
109
+
110
+ [tool.coverage.report]
111
+ exclude_lines = [
112
+ "pragma: no cover",
113
+ "def __repr__",
114
+ "def __str__",
115
+ "raise AssertionError",
116
+ "raise NotImplementedError",
117
+ "if __name__ == .__main__.:",
118
+ "if TYPE_CHECKING:",
119
+ "if typing.TYPE_CHECKING:"
120
+ ]
121
+
122
+ [tool.coverage.html]
123
+ directory = "cov_html"
124
+
125
+ [tool.isort]
126
+ py_version = 310
127
+ profile = "black"
128
+ force_single_line = true
129
+ combine_as_imports = true
130
+ lines_between_types = 1
131
+ lines_after_imports = 2
132
+ src_paths = ["src", "tests"]
133
+
134
+ [tool.mypy]
135
+ files = "src"
136
+ mypy_path = "src"
137
+ namespace_packages = true
138
+ explicit_package_bases = true
139
+ show_error_codes = true
140
+ enable_error_code = [
141
+ "ignore-without-code",
142
+ "truthy-bool",
143
+ ]
144
+ check_untyped_defs = true
145
+ ignore_errors = false
146
+ ignore_missing_imports = true
147
+ strict_optional = true
148
+ warn_unused_ignores = true
149
+ warn_redundant_casts = true
150
+ warn_unused_configs = true
151
+
152
+ [tool.pytest.ini_options]
153
+ testpaths = [
154
+ "tests",
155
+ ]
156
+ # A lot of our own classes start with Test so pytest will pick them up during test collection.
157
+ # But they don't actually contains tests, so we set an empty matcher for the class name.
158
+ python_classes = ''
159
+
160
+ [build-system]
161
+ requires = ["poetry-core"]
162
+ build-backend = "poetry.core.masonry.api"
163
+
164
+
165
+ [tool.ruff]
166
+ # Assume Python 3.10.
167
+ target-version = "py310"
168
+ line-length = 100
169
+ preview = true
170
+ src = ["src", "tests"]
171
+ exclude = [
172
+ ".bzr",
173
+ ".direnv",
174
+ ".eggs",
175
+ ".git",
176
+ ".hg",
177
+ ".mypy_cache",
178
+ ".nox",
179
+ ".pants.d",
180
+ ".ruff_cache",
181
+ ".svn",
182
+ ".tox",
183
+ ".venv",
184
+ "__pypackages__",
185
+ "_build",
186
+ "buck-out",
187
+ "build",
188
+ "dist",
189
+ "docs",
190
+ "node_modules",
191
+ "venv",
192
+ "tests/fixtures/*.py",
193
+ "tests/fixtures/*.pyi",
194
+ ]
195
+
196
+ [tool.ruff.lint]
197
+ select = [
198
+ "A", # flake8-builtins
199
+ "ARG", # flake8-unused-arguments
200
+ "B", # bugbear
201
+ "BLE", # flake8-blind-except
202
+ "CPY", # flake8-copyright
203
+ "C4", # flake8-comprehensions
204
+ "C90", # mccabe
205
+ "D", # pydocstyle
206
+ "DTZ", # flake8-datetimez
207
+ "E", # pycodestyle
208
+ "ERA", # flake8-eradicate
209
+ "F", # pyflakes
210
+ "FA", # flake8-future-annotations
211
+ "FBT", # flake8-boolean-trap
212
+ "FIX", # flake8-fixme
213
+ "FLY", # flynt
214
+ "FURB", # refurb
215
+ "G", # flake8-logging-format
216
+ "ICN", # flake8-import-conventions
217
+ "INT", # flake8-gettext
218
+ "ISC", # flake8-implicit-str-concat
219
+ "LOG", # flake8-logging
220
+ "N", # flake8-naming
221
+ "NPY", # numpy
222
+ "PERF", # perflint
223
+ "PGH", # pygrep-hooks
224
+ "PIE", # flake8-pie
225
+ "PL", # pylint
226
+ "PT", # flake8-pytest-style
227
+ "PTH", # flake8-use-pathlib
228
+ "PYI", # flake8-pyi
229
+ "Q", # flake8-quotes
230
+ "RET", # flake8-return
231
+ "RSE", # flake8-raise
232
+ "RUF", # ruff
233
+ "S", # flake8-bandig
234
+ "SIM", # flake8-simplify
235
+ "SLF", # flake8-self
236
+ "SLOT", # flake8-slots
237
+ "TCH", # flake8-type-checking
238
+ "TID", # flake8-tidy-imports
239
+ "T20", # flake8-print
240
+ "UP", # pyupgrade
241
+ "W", # pycodestyle
242
+ ]
243
+ ignore = [
244
+ "ARG002", # unused method argument
245
+ "B019", # functools.lru_cache might cause memory leaks
246
+ "CPY001", # missing copyright notice at top of file
247
+ "D105", # missing docstrings in magic methods
248
+ "FIX002", # valid TODO comments
249
+ "ISC001", # conflicts with ruff-format
250
+ "PLR0911", # do not complain about too many return statements
251
+ "PLR0912", # do not complain about too many branches
252
+ "PLR0913", # do not complain about too many arguments to function call
253
+ "PLR2004", # magic values in comparisons
254
+ "PLR6301", # method could be a function, class method, or static method
255
+ "RUF003", # comment contains ambiguous en dash
256
+ "RUF009", # do not perform function call in dataclass defaults
257
+ "S101", # do not complain about using assert statements
258
+ ]
259
+ # Allow unused variables when underscore-prefixed:
260
+ dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
261
+
262
+ [tool.ruff.lint.mccabe]
263
+ max-complexity = 10
264
+
265
+ [tool.ruff.lint.pydocstyle]
266
+ convention = "google"
267
+
268
+ [tool.ruff.lint.per-file-ignores]
269
+ "tests/**/*.py" = [
270
+ "D100", # Missing docstring in public module
271
+ "D101", # Missing docstring in public class
272
+ "D102", # Missing docstring in public method
273
+ "D103", # Missing docstring in public function
274
+ "D104", # Missing docstring in public package
275
+ "PT006", # Wrong name(s) type in `@pytest.mark.parameterize`, expected `tuple`
276
+ "S101", # Use of `assert` detected
277
+ "SLF001", # Private member accessed
278
+ ]