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.
- pynguin-0.41.0/LICENSE.rst +10 -0
- pynguin-0.41.0/PKG-INFO +217 -0
- pynguin-0.41.0/README.md +169 -0
- pynguin-0.41.0/pyproject.toml +278 -0
- pynguin-0.41.0/src/pynguin/__init__.py +64 -0
- pynguin-0.41.0/src/pynguin/__main__.py +18 -0
- pynguin-0.41.0/src/pynguin/__version__.py +9 -0
- pynguin-0.41.0/src/pynguin/analyses/__init__.py +7 -0
- pynguin-0.41.0/src/pynguin/analyses/constants.py +355 -0
- pynguin-0.41.0/src/pynguin/analyses/controlflow.py +983 -0
- pynguin-0.41.0/src/pynguin/analyses/module.py +1593 -0
- pynguin-0.41.0/src/pynguin/analyses/modulecomplexity.py +326 -0
- pynguin-0.41.0/src/pynguin/analyses/seeding.py +902 -0
- pynguin-0.41.0/src/pynguin/analyses/syntaxtree.py +568 -0
- pynguin-0.41.0/src/pynguin/analyses/typesystem.py +1721 -0
- pynguin-0.41.0/src/pynguin/assertion/__init__.py +7 -0
- pynguin-0.41.0/src/pynguin/assertion/assertion.py +441 -0
- pynguin-0.41.0/src/pynguin/assertion/assertion_to_ast.py +337 -0
- pynguin-0.41.0/src/pynguin/assertion/assertion_trace.py +129 -0
- pynguin-0.41.0/src/pynguin/assertion/assertiongenerator.py +481 -0
- pynguin-0.41.0/src/pynguin/assertion/assertiontraceobserver.py +355 -0
- pynguin-0.41.0/src/pynguin/assertion/llmassertiongenerator.py +171 -0
- pynguin-0.41.0/src/pynguin/assertion/mutation_analysis/__init__.py +7 -0
- pynguin-0.41.0/src/pynguin/assertion/mutation_analysis/controller.py +94 -0
- pynguin-0.41.0/src/pynguin/assertion/mutation_analysis/mutators.py +126 -0
- pynguin-0.41.0/src/pynguin/assertion/mutation_analysis/operators/__init__.py +94 -0
- pynguin-0.41.0/src/pynguin/assertion/mutation_analysis/operators/arithmetic.py +233 -0
- pynguin-0.41.0/src/pynguin/assertion/mutation_analysis/operators/base.py +290 -0
- pynguin-0.41.0/src/pynguin/assertion/mutation_analysis/operators/decorator.py +36 -0
- pynguin-0.41.0/src/pynguin/assertion/mutation_analysis/operators/exception.py +86 -0
- pynguin-0.41.0/src/pynguin/assertion/mutation_analysis/operators/inheritance.py +378 -0
- pynguin-0.41.0/src/pynguin/assertion/mutation_analysis/operators/logical.py +301 -0
- pynguin-0.41.0/src/pynguin/assertion/mutation_analysis/operators/loop.py +130 -0
- pynguin-0.41.0/src/pynguin/assertion/mutation_analysis/operators/misc.py +230 -0
- pynguin-0.41.0/src/pynguin/assertion/mutation_analysis/strategies.py +166 -0
- pynguin-0.41.0/src/pynguin/assertion/mutation_analysis/transformer.py +100 -0
- pynguin-0.41.0/src/pynguin/cli.py +221 -0
- pynguin-0.41.0/src/pynguin/configuration.py +770 -0
- pynguin-0.41.0/src/pynguin/ga/__init__.py +7 -0
- pynguin-0.41.0/src/pynguin/ga/algorithms/__init__.py +7 -0
- pynguin-0.41.0/src/pynguin/ga/algorithms/abstractmosaalgorithm.py +179 -0
- pynguin-0.41.0/src/pynguin/ga/algorithms/archive.py +430 -0
- pynguin-0.41.0/src/pynguin/ga/algorithms/dynamosaalgorithm.py +286 -0
- pynguin-0.41.0/src/pynguin/ga/algorithms/generationalgorithm.py +332 -0
- pynguin-0.41.0/src/pynguin/ga/algorithms/llmosalgorithm.py +214 -0
- pynguin-0.41.0/src/pynguin/ga/algorithms/mioalgorithm.py +145 -0
- pynguin-0.41.0/src/pynguin/ga/algorithms/mosaalgorithm.py +70 -0
- pynguin-0.41.0/src/pynguin/ga/algorithms/randomalgorithm.py +168 -0
- pynguin-0.41.0/src/pynguin/ga/algorithms/randomsearchalgorithm.py +57 -0
- pynguin-0.41.0/src/pynguin/ga/algorithms/wholesuitealgorithm.py +185 -0
- pynguin-0.41.0/src/pynguin/ga/chromosome.py +191 -0
- pynguin-0.41.0/src/pynguin/ga/chromosomefactory.py +28 -0
- pynguin-0.41.0/src/pynguin/ga/chromosomevisitor.py +30 -0
- pynguin-0.41.0/src/pynguin/ga/computations.py +1013 -0
- pynguin-0.41.0/src/pynguin/ga/coveragegoals.py +500 -0
- pynguin-0.41.0/src/pynguin/ga/generationalgorithmfactory.py +444 -0
- pynguin-0.41.0/src/pynguin/ga/llmtestsuitechromosomefactory.py +131 -0
- pynguin-0.41.0/src/pynguin/ga/operators/__init__.py +7 -0
- pynguin-0.41.0/src/pynguin/ga/operators/comparator.py +136 -0
- pynguin-0.41.0/src/pynguin/ga/operators/crossover.py +55 -0
- pynguin-0.41.0/src/pynguin/ga/operators/ranking.py +231 -0
- pynguin-0.41.0/src/pynguin/ga/operators/selection.py +116 -0
- pynguin-0.41.0/src/pynguin/ga/postprocess.py +273 -0
- pynguin-0.41.0/src/pynguin/ga/searchobserver.py +87 -0
- pynguin-0.41.0/src/pynguin/ga/stoppingcondition.py +640 -0
- pynguin-0.41.0/src/pynguin/ga/testcasechromosome.py +303 -0
- pynguin-0.41.0/src/pynguin/ga/testcasechromosomefactory.py +87 -0
- pynguin-0.41.0/src/pynguin/ga/testcasefactory.py +92 -0
- pynguin-0.41.0/src/pynguin/ga/testsuitechromosome.py +195 -0
- pynguin-0.41.0/src/pynguin/ga/testsuitechromosomefactory.py +64 -0
- pynguin-0.41.0/src/pynguin/generator.py +822 -0
- pynguin-0.41.0/src/pynguin/instrumentation/__init__.py +7 -0
- pynguin-0.41.0/src/pynguin/instrumentation/instrumentation.py +1973 -0
- pynguin-0.41.0/src/pynguin/instrumentation/machinery.py +277 -0
- pynguin-0.41.0/src/pynguin/instrumentation/tracer.py +1731 -0
- pynguin-0.41.0/src/pynguin/large_language_model/__init__.py +7 -0
- pynguin-0.41.0/src/pynguin/large_language_model/caching.py +73 -0
- pynguin-0.41.0/src/pynguin/large_language_model/helpers/__init__.py +7 -0
- pynguin-0.41.0/src/pynguin/large_language_model/helpers/testcasereferencecopier.py +147 -0
- pynguin-0.41.0/src/pynguin/large_language_model/llmagent.py +382 -0
- pynguin-0.41.0/src/pynguin/large_language_model/llmtestcasehandler.py +168 -0
- pynguin-0.41.0/src/pynguin/large_language_model/parsing/__init__.py +7 -0
- pynguin-0.41.0/src/pynguin/large_language_model/parsing/astscoping.py +561 -0
- pynguin-0.41.0/src/pynguin/large_language_model/parsing/deserializer.py +906 -0
- pynguin-0.41.0/src/pynguin/large_language_model/parsing/helpers.py +166 -0
- pynguin-0.41.0/src/pynguin/large_language_model/parsing/rewriter.py +934 -0
- pynguin-0.41.0/src/pynguin/large_language_model/prompts/__init__.py +7 -0
- pynguin-0.41.0/src/pynguin/large_language_model/prompts/assertiongenerationprompt.py +33 -0
- pynguin-0.41.0/src/pynguin/large_language_model/prompts/prompt.py +38 -0
- pynguin-0.41.0/src/pynguin/large_language_model/prompts/testcasegenerationprompt.py +32 -0
- pynguin-0.41.0/src/pynguin/large_language_model/prompts/uncoveredtargetsprompt.py +81 -0
- pynguin-0.41.0/src/pynguin/resources/__init__.py +7 -0
- pynguin-0.41.0/src/pynguin/resources/coverage-template.html +80 -0
- pynguin-0.41.0/src/pynguin/slicer/__init__.py +7 -0
- pynguin-0.41.0/src/pynguin/slicer/dynamicslicer.py +882 -0
- pynguin-0.41.0/src/pynguin/slicer/executedinstruction.py +138 -0
- pynguin-0.41.0/src/pynguin/slicer/executionflowbuilder.py +614 -0
- pynguin-0.41.0/src/pynguin/slicer/stack/__init__.py +9 -0
- pynguin-0.41.0/src/pynguin/slicer/stack/stackeffect.py +219 -0
- pynguin-0.41.0/src/pynguin/slicer/stack/stacksimulation.py +197 -0
- pynguin-0.41.0/src/pynguin/slicer/statementslicingobserver.py +99 -0
- pynguin-0.41.0/src/pynguin/testcase/__init__.py +7 -0
- pynguin-0.41.0/src/pynguin/testcase/defaulttestcase.py +175 -0
- pynguin-0.41.0/src/pynguin/testcase/execution.py +2024 -0
- pynguin-0.41.0/src/pynguin/testcase/export.py +203 -0
- pynguin-0.41.0/src/pynguin/testcase/statement.py +2520 -0
- pynguin-0.41.0/src/pynguin/testcase/statement_to_ast.py +486 -0
- pynguin-0.41.0/src/pynguin/testcase/testcase.py +295 -0
- pynguin-0.41.0/src/pynguin/testcase/testcase_to_ast.py +136 -0
- pynguin-0.41.0/src/pynguin/testcase/testcasevisitor.py +22 -0
- pynguin-0.41.0/src/pynguin/testcase/testfactory.py +1761 -0
- pynguin-0.41.0/src/pynguin/testcase/variablereference.py +497 -0
- pynguin-0.41.0/src/pynguin/utils/__init__.py +7 -0
- pynguin-0.41.0/src/pynguin/utils/ast_util.py +219 -0
- pynguin-0.41.0/src/pynguin/utils/atomicinteger.py +67 -0
- pynguin-0.41.0/src/pynguin/utils/collection_utils.py +24 -0
- pynguin-0.41.0/src/pynguin/utils/configuration_writer.py +121 -0
- pynguin-0.41.0/src/pynguin/utils/controlflowdistance.py +228 -0
- pynguin-0.41.0/src/pynguin/utils/exceptions.py +43 -0
- pynguin-0.41.0/src/pynguin/utils/generic/__init__.py +7 -0
- pynguin-0.41.0/src/pynguin/utils/generic/genericaccessibleobject.py +587 -0
- pynguin-0.41.0/src/pynguin/utils/llm.py +161 -0
- pynguin-0.41.0/src/pynguin/utils/mirror.py +19 -0
- pynguin-0.41.0/src/pynguin/utils/mutation_utils.py +209 -0
- pynguin-0.41.0/src/pynguin/utils/namingscope.py +192 -0
- pynguin-0.41.0/src/pynguin/utils/opcodes.py +294 -0
- pynguin-0.41.0/src/pynguin/utils/orderedset.py +459 -0
- pynguin-0.41.0/src/pynguin/utils/pynguinml/__init__.py +7 -0
- pynguin-0.41.0/src/pynguin/utils/pynguinml/ml_parsing_utils.py +416 -0
- pynguin-0.41.0/src/pynguin/utils/pynguinml/ml_testfactory_utils.py +532 -0
- pynguin-0.41.0/src/pynguin/utils/pynguinml/ml_testing_resources.py +297 -0
- pynguin-0.41.0/src/pynguin/utils/pynguinml/mlparameter.py +575 -0
- pynguin-0.41.0/src/pynguin/utils/pynguinml/np_rng.py +43 -0
- pynguin-0.41.0/src/pynguin/utils/randomness.py +192 -0
- pynguin-0.41.0/src/pynguin/utils/report.py +406 -0
- pynguin-0.41.0/src/pynguin/utils/statistics/__init__.py +7 -0
- pynguin-0.41.0/src/pynguin/utils/statistics/outputvariablefactory.py +320 -0
- pynguin-0.41.0/src/pynguin/utils/statistics/runtimevariable.py +228 -0
- pynguin-0.41.0/src/pynguin/utils/statistics/statisticsbackend.py +77 -0
- pynguin-0.41.0/src/pynguin/utils/statistics/statisticsobserver.py +90 -0
- pynguin-0.41.0/src/pynguin/utils/statistics/stats.py +474 -0
- pynguin-0.41.0/src/pynguin/utils/type_utils.py +373 -0
- pynguin-0.41.0/src/pynguin/utils/typeevalpy_json_schema.py +341 -0
- pynguin-0.41.0/src/pynguin/utils/typetracing.py +758 -0
- pynguin-0.41.0/tests/__init__.py +6 -0
- pynguin-0.41.0/tests/analyses/__init__.py +6 -0
- pynguin-0.41.0/tests/analyses/test_cfg.py +325 -0
- pynguin-0.41.0/tests/analyses/test_constants.py +100 -0
- pynguin-0.41.0/tests/analyses/test_controldependencegraph.py +100 -0
- pynguin-0.41.0/tests/analyses/test_dominatortree.py +121 -0
- pynguin-0.41.0/tests/analyses/test_initialpopulationseeding.py +275 -0
- pynguin-0.41.0/tests/analyses/test_module.py +574 -0
- pynguin-0.41.0/tests/analyses/test_modulecomplexity.py +156 -0
- pynguin-0.41.0/tests/analyses/test_programgraph.py +187 -0
- pynguin-0.41.0/tests/analyses/test_seeding.py +63 -0
- pynguin-0.41.0/tests/analyses/test_staticconstantseeding.py +30 -0
- pynguin-0.41.0/tests/analyses/test_syntaxtree.py +374 -0
- pynguin-0.41.0/tests/analyses/test_typesystem.py +931 -0
- pynguin-0.41.0/tests/assertion/__init__.py +6 -0
- pynguin-0.41.0/tests/assertion/mutation_analysis/__init__.py +6 -0
- pynguin-0.41.0/tests/assertion/mutation_analysis/test_controller.py +76 -0
- pynguin-0.41.0/tests/assertion/mutation_analysis/test_mutators.py +151 -0
- pynguin-0.41.0/tests/assertion/mutation_analysis/test_strategies.py +195 -0
- pynguin-0.41.0/tests/assertion/test_assertion.py +168 -0
- pynguin-0.41.0/tests/assertion/test_assertion_generation_integration.py +340 -0
- pynguin-0.41.0/tests/assertion/test_assertion_to_ast.py +123 -0
- pynguin-0.41.0/tests/assertion/test_assertion_trace.py +83 -0
- pynguin-0.41.0/tests/assertion/test_assertiongenerator.py +32 -0
- pynguin-0.41.0/tests/assertion/test_assertiontraceobserver.py +52 -0
- pynguin-0.41.0/tests/assertion/test_llmassertiongenerator.py +216 -0
- pynguin-0.41.0/tests/conftest.py +617 -0
- pynguin-0.41.0/tests/fixtures/__init__.py +6 -0
- pynguin-0.41.0/tests/fixtures/accessibles/__init__.py +6 -0
- pynguin-0.41.0/tests/fixtures/accessibles/accessible.py +19 -0
- pynguin-0.41.0/tests/fixtures/branchcoverage/__init__.py +6 -0
- pynguin-0.41.0/tests/fixtures/branchcoverage/nestedbranches.py +16 -0
- pynguin-0.41.0/tests/fixtures/branchcoverage/nobranches.py +22 -0
- pynguin-0.41.0/tests/fixtures/branchcoverage/simplenesting.py +15 -0
- pynguin-0.41.0/tests/fixtures/branchcoverage/singlebranches.py +12 -0
- pynguin-0.41.0/tests/fixtures/branchcoverage/twomethodsinglebranches.py +18 -0
- pynguin-0.41.0/tests/fixtures/cluster/__init__.py +6 -0
- pynguin-0.41.0/tests/fixtures/cluster/abstract.py +14 -0
- pynguin-0.41.0/tests/fixtures/cluster/alias_module.py +14 -0
- pynguin-0.41.0/tests/fixtures/cluster/async_class_gen.py +9 -0
- pynguin-0.41.0/tests/fixtures/cluster/async_class_method.py +9 -0
- pynguin-0.41.0/tests/fixtures/cluster/async_func.py +8 -0
- pynguin-0.41.0/tests/fixtures/cluster/async_gen.py +8 -0
- pynguin-0.41.0/tests/fixtures/cluster/attributes.py +19 -0
- pynguin-0.41.0/tests/fixtures/cluster/blacklist.py +38 -0
- pynguin-0.41.0/tests/fixtures/cluster/blacklist_transitive.py +16 -0
- pynguin-0.41.0/tests/fixtures/cluster/comments.py +91 -0
- pynguin-0.41.0/tests/fixtures/cluster/complex_dependencies.py +12 -0
- pynguin-0.41.0/tests/fixtures/cluster/complex_dependency.py +23 -0
- pynguin-0.41.0/tests/fixtures/cluster/conditional_import.py +16 -0
- pynguin-0.41.0/tests/fixtures/cluster/dependency.py +11 -0
- pynguin-0.41.0/tests/fixtures/cluster/diamond_bottom.py +13 -0
- pynguin-0.41.0/tests/fixtures/cluster/diamond_left.py +13 -0
- pynguin-0.41.0/tests/fixtures/cluster/diamond_right.py +13 -0
- pynguin-0.41.0/tests/fixtures/cluster/diamond_top.py +13 -0
- pynguin-0.41.0/tests/fixtures/cluster/enums.py +22 -0
- pynguin-0.41.0/tests/fixtures/cluster/import_dependency.py +21 -0
- pynguin-0.41.0/tests/fixtures/cluster/inheritance.py +14 -0
- pynguin-0.41.0/tests/fixtures/cluster/lambda.py +11 -0
- pynguin-0.41.0/tests/fixtures/cluster/nested_functions.py +19 -0
- pynguin-0.41.0/tests/fixtures/cluster/no_any_annotations.py +23 -0
- pynguin-0.41.0/tests/fixtures/cluster/no_dependencies.py +22 -0
- pynguin-0.41.0/tests/fixtures/cluster/overridden_inherited_methods.py +23 -0
- pynguin-0.41.0/tests/fixtures/cluster/simple_dependencies.py +12 -0
- pynguin-0.41.0/tests/fixtures/cluster/typing_parameters.py +22 -0
- pynguin-0.41.0/tests/fixtures/cluster/uses_async_dependency.py +17 -0
- pynguin-0.41.0/tests/fixtures/duckmock/__init__.py +6 -0
- pynguin-0.41.0/tests/fixtures/duckmock/complex.py +97 -0
- pynguin-0.41.0/tests/fixtures/errors/__init__.py +6 -0
- pynguin-0.41.0/tests/fixtures/errors/import_error.py +11 -0
- pynguin-0.41.0/tests/fixtures/examples/__init__.py +6 -0
- pynguin-0.41.0/tests/fixtures/examples/assertions.py +27 -0
- pynguin-0.41.0/tests/fixtures/examples/basket.py +13 -0
- pynguin-0.41.0/tests/fixtures/examples/calculator.py +61 -0
- pynguin-0.41.0/tests/fixtures/examples/calculator_simple.py +46 -0
- pynguin-0.41.0/tests/fixtures/examples/collections.py +43 -0
- pynguin-0.41.0/tests/fixtures/examples/difficult.py +23 -0
- pynguin-0.41.0/tests/fixtures/examples/dummies.py +14 -0
- pynguin-0.41.0/tests/fixtures/examples/dynamosa_example.py +17 -0
- pynguin-0.41.0/tests/fixtures/examples/enums.py +16 -0
- pynguin-0.41.0/tests/fixtures/examples/exceptions.py +17 -0
- pynguin-0.41.0/tests/fixtures/examples/flaky.py +22 -0
- pynguin-0.41.0/tests/fixtures/examples/impossible.py +11 -0
- pynguin-0.41.0/tests/fixtures/examples/inheritance.py +25 -0
- pynguin-0.41.0/tests/fixtures/examples/loop.py +19 -0
- pynguin-0.41.0/tests/fixtures/examples/monkey.py +45 -0
- pynguin-0.41.0/tests/fixtures/examples/nested.py +14 -0
- pynguin-0.41.0/tests/fixtures/examples/objects.py +27 -0
- pynguin-0.41.0/tests/fixtures/examples/private_methods.py +16 -0
- pynguin-0.41.0/tests/fixtures/examples/queue.py +43 -0
- pynguin-0.41.0/tests/fixtures/examples/simple.py +11 -0
- pynguin-0.41.0/tests/fixtures/examples/triangle.py +15 -0
- pynguin-0.41.0/tests/fixtures/examples/type_inference.py +14 -0
- pynguin-0.41.0/tests/fixtures/examples/type_tracing/__init__.py +6 -0
- pynguin-0.41.0/tests/fixtures/examples/type_tracing/geometry.py +17 -0
- pynguin-0.41.0/tests/fixtures/examples/type_tracing/invoice.py +17 -0
- pynguin-0.41.0/tests/fixtures/examples/type_tracing/large_test_cluster.py +59 -0
- pynguin-0.41.0/tests/fixtures/examples/type_tracing/mixed.py +58 -0
- pynguin-0.41.0/tests/fixtures/grammar/__init__.py +6 -0
- pynguin-0.41.0/tests/fixtures/grammar/parameters.py +14 -0
- pynguin-0.41.0/tests/fixtures/instrumentation/__init__.py +6 -0
- pynguin-0.41.0/tests/fixtures/instrumentation/comparison.py +64 -0
- pynguin-0.41.0/tests/fixtures/instrumentation/inherited.py +15 -0
- pynguin-0.41.0/tests/fixtures/instrumentation/mixed.py +62 -0
- pynguin-0.41.0/tests/fixtures/instrumentation/simple.py +78 -0
- pynguin-0.41.0/tests/fixtures/linecoverage/__init__.py +6 -0
- pynguin-0.41.0/tests/fixtures/linecoverage/artificial_none.py +39 -0
- pynguin-0.41.0/tests/fixtures/linecoverage/emptyfile.py +6 -0
- pynguin-0.41.0/tests/fixtures/linecoverage/exception.py +11 -0
- pynguin-0.41.0/tests/fixtures/linecoverage/list.py +10 -0
- pynguin-0.41.0/tests/fixtures/linecoverage/plus.py +18 -0
- pynguin-0.41.0/tests/fixtures/linecoverage/setter_getter.py +16 -0
- pynguin-0.41.0/tests/fixtures/mutation/__init__.py +6 -0
- pynguin-0.41.0/tests/fixtures/mutation/exception.py +12 -0
- pynguin-0.41.0/tests/fixtures/mutation/expected.py +9 -0
- pynguin-0.41.0/tests/fixtures/mutation/mutation.py +18 -0
- pynguin-0.41.0/tests/fixtures/mutation/timeout.py +13 -0
- pynguin-0.41.0/tests/fixtures/programgraph/__init__.py +6 -0
- pynguin-0.41.0/tests/fixtures/programgraph/samples.py +12 -0
- pynguin-0.41.0/tests/fixtures/programgraph/whileloop.py +13 -0
- pynguin-0.41.0/tests/fixtures/programgraph/yield_fun.py +12 -0
- pynguin-0.41.0/tests/fixtures/regression/__init__.py +6 -0
- pynguin-0.41.0/tests/fixtures/regression/argparse_sys_exit.py +16 -0
- pynguin-0.41.0/tests/fixtures/regression/custom_error.py +7 -0
- pynguin-0.41.0/tests/fixtures/regression/not_main.py +16 -0
- pynguin-0.41.0/tests/fixtures/seeding/__init__.py +6 -0
- pynguin-0.41.0/tests/fixtures/seeding/dynamicseeding/__init__.py +6 -0
- pynguin-0.41.0/tests/fixtures/seeding/dynamicseeding/dynamicseedingdummies.py +12 -0
- pynguin-0.41.0/tests/fixtures/seeding/initialpopulationseeding/__init__.py +6 -0
- pynguin-0.41.0/tests/fixtures/seeding/initialpopulationseeding/dummycontainer.py +82 -0
- pynguin-0.41.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/__init__.py +6 -0
- pynguin-0.41.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/assertseed_test_.py +27 -0
- pynguin-0.41.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/classseed_test_.py +15 -0
- pynguin-0.41.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/collfuncseed_test_.py +37 -0
- pynguin-0.41.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/collseed_test_.py +31 -0
- pynguin-0.41.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/nestedseed_test_.py +14 -0
- pynguin-0.41.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/notknowncall_test_.py +18 -0
- pynguin-0.41.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/notprimseed_test_.py +14 -0
- pynguin-0.41.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/primitiveseed_test_.py +58 -0
- pynguin-0.41.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/triangleseed_test_.py +21 -0
- pynguin-0.41.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/wrongassignseed_test_.py +11 -0
- pynguin-0.41.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/wrongfunctionnameseed_test_.py +13 -0
- pynguin-0.41.0/tests/fixtures/seeding/staticconstantseeding/__init__.py +6 -0
- pynguin-0.41.0/tests/fixtures/seeding/staticconstantseeding/dummy/__init__.py +6 -0
- pynguin-0.41.0/tests/fixtures/seeding/staticconstantseeding/dummy/dummy.py +24 -0
- pynguin-0.41.0/tests/fixtures/slicer/__init__.py +6 -0
- pynguin-0.41.0/tests/fixtures/slicer/attribute_dependencies.py +23 -0
- pynguin-0.41.0/tests/fixtures/slicer/closure.py +19 -0
- pynguin-0.41.0/tests/fixtures/slicer/generator.py +37 -0
- pynguin-0.41.0/tests/fixtures/slicer/immutable_attribute_dependency.py +18 -0
- pynguin-0.41.0/tests/fixtures/slicer/import_star_def.py +10 -0
- pynguin-0.41.0/tests/fixtures/slicer/import_star_main.py +15 -0
- pynguin-0.41.0/tests/fixtures/slicer/partial_cover_dependency.py +22 -0
- pynguin-0.41.0/tests/fixtures/slicer/simple_call.py +17 -0
- pynguin-0.41.0/tests/fixtures/slicer/simple_call_arg.py +21 -0
- pynguin-0.41.0/tests/fixtures/test.conf.license +3 -0
- pynguin-0.41.0/tests/fixtures/tests/typeinference/test_stubstrategy.pyi +17 -0
- pynguin-0.41.0/tests/fixtures/type_tracing/__init__.py +6 -0
- pynguin-0.41.0/tests/fixtures/type_tracing/guess_params.py +11 -0
- pynguin-0.41.0/tests/fixtures/type_tracing/return_types.py +28 -0
- pynguin-0.41.0/tests/fixtures/type_tracing/union_type.py +9 -0
- pynguin-0.41.0/tests/fixtures/types/__init__.py +6 -0
- pynguin-0.41.0/tests/fixtures/types/outside.py +16 -0
- pynguin-0.41.0/tests/fixtures/types/subtyping.py +12 -0
- pynguin-0.41.0/tests/fixtures/types/symbols.py +53 -0
- pynguin-0.41.0/tests/ga/__init__.py +6 -0
- pynguin-0.41.0/tests/ga/algorithms/__init__.py +7 -0
- pynguin-0.41.0/tests/ga/algorithms/test_archive.py +417 -0
- pynguin-0.41.0/tests/ga/algorithms/test_dynamosaalgorithm.py +84 -0
- pynguin-0.41.0/tests/ga/algorithms/test_generationalgorithm.py +32 -0
- pynguin-0.41.0/tests/ga/algorithms/test_integration_mosaalgorithm.py +72 -0
- pynguin-0.41.0/tests/ga/algorithms/test_integration_varioussearchalgorithms.py +128 -0
- pynguin-0.41.0/tests/ga/algorithms/test_llmosalgorithm.py +435 -0
- pynguin-0.41.0/tests/ga/algorithms/test_mioalgorithm.py +68 -0
- pynguin-0.41.0/tests/ga/algorithms/test_mosaalgorithm.py +53 -0
- pynguin-0.41.0/tests/ga/algorithms/test_randomalgorithm.py +157 -0
- pynguin-0.41.0/tests/ga/operators/__init__.py +6 -0
- pynguin-0.41.0/tests/ga/operators/crossover/__init__.py +6 -0
- pynguin-0.41.0/tests/ga/operators/crossover/test_singlepointrelativecrossover.py +39 -0
- pynguin-0.41.0/tests/ga/operators/ranking/__init__.py +6 -0
- pynguin-0.41.0/tests/ga/operators/ranking/test_rankingfunction.py +73 -0
- pynguin-0.41.0/tests/ga/operators/selection/__init__.py +6 -0
- pynguin-0.41.0/tests/ga/operators/selection/test_rankselection.py +16 -0
- pynguin-0.41.0/tests/ga/operators/selection/test_selection.py +30 -0
- pynguin-0.41.0/tests/ga/operators/selection/test_tournamentselection.py +21 -0
- pynguin-0.41.0/tests/ga/operators/test_dominancecomparator.py +49 -0
- pynguin-0.41.0/tests/ga/operators/test_preferencesortingcomparator.py +25 -0
- pynguin-0.41.0/tests/ga/stoppingconditions/__init__.py +6 -0
- pynguin-0.41.0/tests/ga/stoppingconditions/test_coverageplateaustoppingcondition.py +65 -0
- pynguin-0.41.0/tests/ga/stoppingconditions/test_maxcoveragestoppingcondition.py +61 -0
- pynguin-0.41.0/tests/ga/stoppingconditions/test_maxiterationsstoppingcondition.py +43 -0
- pynguin-0.41.0/tests/ga/stoppingconditions/test_maxmemorystoppingcondition.py +43 -0
- pynguin-0.41.0/tests/ga/stoppingconditions/test_maxstatementstoppingcondition.py +47 -0
- pynguin-0.41.0/tests/ga/stoppingconditions/test_maxtestsstoppingcondition.py +31 -0
- pynguin-0.41.0/tests/ga/stoppingconditions/test_maxtimestoppingcondition.py +43 -0
- pynguin-0.41.0/tests/ga/stoppingconditions/test_minimumcoverageplateaustoppingcondition.py +88 -0
- pynguin-0.41.0/tests/ga/stoppingconditions/test_stoppingcondition.py +39 -0
- pynguin-0.41.0/tests/ga/test_chromosome.py +63 -0
- pynguin-0.41.0/tests/ga/test_chromosomefactory.py +84 -0
- pynguin-0.41.0/tests/ga/test_computations.py +212 -0
- pynguin-0.41.0/tests/ga/test_computations_cache.py +181 -0
- pynguin-0.41.0/tests/ga/test_computations_fitness_utilities.py +293 -0
- pynguin-0.41.0/tests/ga/test_coveragegoals.py +484 -0
- pynguin-0.41.0/tests/ga/test_generationalgorithmfactory.py +98 -0
- pynguin-0.41.0/tests/ga/test_llmtestsuitechromosomefactory.py +190 -0
- pynguin-0.41.0/tests/ga/test_postprocess.py +240 -0
- pynguin-0.41.0/tests/ga/test_testcasechromosome.py +340 -0
- pynguin-0.41.0/tests/ga/test_testcasefactory.py +35 -0
- pynguin-0.41.0/tests/ga/test_testsuitechromosome.py +220 -0
- pynguin-0.41.0/tests/instrumentation/__init__.py +6 -0
- pynguin-0.41.0/tests/instrumentation/test_instrumentation.py +778 -0
- pynguin-0.41.0/tests/instrumentation/test_machinery.py +49 -0
- pynguin-0.41.0/tests/large_language_model/helpers/test_testcasereferencecopier.py +190 -0
- pynguin-0.41.0/tests/large_language_model/parsing/test_astscoping.py +688 -0
- pynguin-0.41.0/tests/large_language_model/parsing/test_helpers.py +344 -0
- pynguin-0.41.0/tests/large_language_model/prompts/__init__.py +0 -0
- pynguin-0.41.0/tests/large_language_model/prompts/test_assertiongenerationprompt.py +106 -0
- pynguin-0.41.0/tests/large_language_model/prompts/test_testcasegenerationprompt.py +114 -0
- pynguin-0.41.0/tests/large_language_model/prompts/test_uncovered_targets_prompt.py +93 -0
- pynguin-0.41.0/tests/large_language_model/test_caching.py +111 -0
- pynguin-0.41.0/tests/large_language_model/test_llm_caching.py +55 -0
- pynguin-0.41.0/tests/large_language_model/test_llm_deserializer.py +652 -0
- pynguin-0.41.0/tests/large_language_model/test_llmagent.py +105 -0
- pynguin-0.41.0/tests/large_language_model/test_llmagent_extended.py +417 -0
- pynguin-0.41.0/tests/large_language_model/test_llmtestcasehandler.py +110 -0
- pynguin-0.41.0/tests/large_language_model/test_llmtestcasehandler_coverage.py +50 -0
- pynguin-0.41.0/tests/large_language_model/test_rewriter.py +514 -0
- pynguin-0.41.0/tests/slicer/__init__.py +6 -0
- pynguin-0.41.0/tests/slicer/stack/__init__.py +6 -0
- pynguin-0.41.0/tests/slicer/stack/test_stack_effect.py +62 -0
- pynguin-0.41.0/tests/slicer/test_assertionslicer.py +388 -0
- pynguin-0.41.0/tests/slicer/test_dependencies.py +374 -0
- pynguin-0.41.0/tests/slicer/test_expected_failures.py +293 -0
- pynguin-0.41.0/tests/slicer/test_language_features.py +692 -0
- pynguin-0.41.0/tests/slicer/test_statementslicer.py +326 -0
- pynguin-0.41.0/tests/slicer/util.py +159 -0
- pynguin-0.41.0/tests/test___main__.py +20 -0
- pynguin-0.41.0/tests/test_cli.py +320 -0
- pynguin-0.41.0/tests/test_generator.py +364 -0
- pynguin-0.41.0/tests/testcase/__init__.py +6 -0
- pynguin-0.41.0/tests/testcase/execution/__init__.py +6 -0
- pynguin-0.41.0/tests/testcase/execution/test_executedinstruction.py +22 -0
- pynguin-0.41.0/tests/testcase/execution/test_executioncontext.py +45 -0
- pynguin-0.41.0/tests/testcase/execution/test_executionmocking.py +0 -0
- pynguin-0.41.0/tests/testcase/execution/test_executionresult.py +55 -0
- pynguin-0.41.0/tests/testcase/execution/test_executiontrace.py +84 -0
- pynguin-0.41.0/tests/testcase/execution/test_executiontracer.py +479 -0
- pynguin-0.41.0/tests/testcase/execution/test_moduleprovider.py +39 -0
- pynguin-0.41.0/tests/testcase/execution/test_subprocesstestcaseexecutor_differential.py +43 -0
- pynguin-0.41.0/tests/testcase/execution/test_testcaseexecutor_integration.py +211 -0
- pynguin-0.41.0/tests/testcase/execution/test_typetracing.py +111 -0
- pynguin-0.41.0/tests/testcase/export/__init__.py +6 -0
- pynguin-0.41.0/tests/testcase/export/conftest.py +94 -0
- pynguin-0.41.0/tests/testcase/export/test_export.py +123 -0
- pynguin-0.41.0/tests/testcase/statements/__init__.py +6 -0
- pynguin-0.41.0/tests/testcase/statements/test_assignmentstatement.py +126 -0
- pynguin-0.41.0/tests/testcase/statements/test_collectionstatements.py +113 -0
- pynguin-0.41.0/tests/testcase/statements/test_fieldstatement.py +171 -0
- pynguin-0.41.0/tests/testcase/statements/test_parameterizedstatements.py +549 -0
- pynguin-0.41.0/tests/testcase/statements/test_primitivestatements.py +643 -0
- pynguin-0.41.0/tests/testcase/test_ast_assign_statement.py +385 -0
- pynguin-0.41.0/tests/testcase/test_benchmark.py +64 -0
- pynguin-0.41.0/tests/testcase/test_defaulttestcase.py +314 -0
- pynguin-0.41.0/tests/testcase/test_statement_to_ast.py +666 -0
- pynguin-0.41.0/tests/testcase/test_testcase_integration.py +161 -0
- pynguin-0.41.0/tests/testcase/test_testcase_to_ast_integration.py +144 -0
- pynguin-0.41.0/tests/testcase/test_testfactory.py +1024 -0
- pynguin-0.41.0/tests/testcase/variable/__init__.py +6 -0
- pynguin-0.41.0/tests/testcase/variable/test_variablereference.py +318 -0
- pynguin-0.41.0/tests/testutils.py +187 -0
- pynguin-0.41.0/tests/utils/__init__.py +6 -0
- pynguin-0.41.0/tests/utils/generic/__init__.py +6 -0
- pynguin-0.41.0/tests/utils/generic/test_genericaccessibleobject.py +191 -0
- pynguin-0.41.0/tests/utils/pynguinml/__init__.py +6 -0
- pynguin-0.41.0/tests/utils/pynguinml/test_ml_parsing_utils.py +292 -0
- pynguin-0.41.0/tests/utils/pynguinml/test_ml_testfactory_utils.py +380 -0
- pynguin-0.41.0/tests/utils/pynguinml/test_ml_testing_resources.py +262 -0
- pynguin-0.41.0/tests/utils/pynguinml/test_mlparameter.py +207 -0
- pynguin-0.41.0/tests/utils/pynguinml/test_np_rng.py +17 -0
- pynguin-0.41.0/tests/utils/pynguinml/test_pynguinml_integration.py +44 -0
- pynguin-0.41.0/tests/utils/stats/__init__.py +6 -0
- pynguin-0.41.0/tests/utils/stats/test_outputvariablefactory.py +186 -0
- pynguin-0.41.0/tests/utils/stats/test_runtimevariable.py +41 -0
- pynguin-0.41.0/tests/utils/stats/test_searchstatistics.py +193 -0
- pynguin-0.41.0/tests/utils/stats/test_statistics.py +18 -0
- pynguin-0.41.0/tests/utils/stats/test_statisticsbackend.py +52 -0
- pynguin-0.41.0/tests/utils/test_atomicinteger.py +37 -0
- pynguin-0.41.0/tests/utils/test_collection_utils.py +14 -0
- pynguin-0.41.0/tests/utils/test_configuration_writer.py +474 -0
- pynguin-0.41.0/tests/utils/test_controlflowdistance.py +130 -0
- pynguin-0.41.0/tests/utils/test_exceptions.py +44 -0
- pynguin-0.41.0/tests/utils/test_llm.py +38 -0
- pynguin-0.41.0/tests/utils/test_mirror.py +19 -0
- pynguin-0.41.0/tests/utils/test_mutation_utils.py +32 -0
- pynguin-0.41.0/tests/utils/test_namingscope.py +131 -0
- pynguin-0.41.0/tests/utils/test_orderedset.py +270 -0
- pynguin-0.41.0/tests/utils/test_randomness.py +98 -0
- pynguin-0.41.0/tests/utils/test_report.py +509 -0
- pynguin-0.41.0/tests/utils/test_type_utils.py +241 -0
- pynguin-0.41.0/tests/utils/test_typeevalpy_json_schema.py +418 -0
- pynguin-0.41.0/tests/utils/test_typetracing.py +655 -0
- pynguin-0.41.0/tests/utils/utils.py +29 -0
- pynguin-0.40.0/LICENSE.rst +0 -10
- pynguin-0.40.0/PKG-INFO +0 -211
- pynguin-0.40.0/README.md +0 -167
- pynguin-0.40.0/pyproject.toml +0 -258
- pynguin-0.40.0/src/pynguin/__init__.py +0 -29
- pynguin-0.40.0/src/pynguin/__main__.py +0 -18
- pynguin-0.40.0/src/pynguin/__version__.py +0 -9
- pynguin-0.40.0/src/pynguin/analyses/__init__.py +0 -7
- pynguin-0.40.0/src/pynguin/analyses/constants.py +0 -336
- pynguin-0.40.0/src/pynguin/analyses/controlflow.py +0 -861
- pynguin-0.40.0/src/pynguin/analyses/module.py +0 -1417
- pynguin-0.40.0/src/pynguin/analyses/modulecomplexity.py +0 -326
- pynguin-0.40.0/src/pynguin/analyses/seeding.py +0 -902
- pynguin-0.40.0/src/pynguin/analyses/syntaxtree.py +0 -568
- pynguin-0.40.0/src/pynguin/analyses/typesystem.py +0 -1671
- pynguin-0.40.0/src/pynguin/assertion/__init__.py +0 -7
- pynguin-0.40.0/src/pynguin/assertion/assertion.py +0 -381
- pynguin-0.40.0/src/pynguin/assertion/assertion_to_ast.py +0 -314
- pynguin-0.40.0/src/pynguin/assertion/assertion_trace.py +0 -123
- pynguin-0.40.0/src/pynguin/assertion/assertiongenerator.py +0 -417
- pynguin-0.40.0/src/pynguin/assertion/assertiontraceobserver.py +0 -333
- pynguin-0.40.0/src/pynguin/assertion/mutation_analysis/__init__.py +0 -7
- pynguin-0.40.0/src/pynguin/assertion/mutation_analysis/controller.py +0 -91
- pynguin-0.40.0/src/pynguin/assertion/mutation_analysis/mutators.py +0 -126
- pynguin-0.40.0/src/pynguin/assertion/mutation_analysis/operators/__init__.py +0 -94
- pynguin-0.40.0/src/pynguin/assertion/mutation_analysis/operators/arithmetic.py +0 -233
- pynguin-0.40.0/src/pynguin/assertion/mutation_analysis/operators/base.py +0 -290
- pynguin-0.40.0/src/pynguin/assertion/mutation_analysis/operators/decorator.py +0 -36
- pynguin-0.40.0/src/pynguin/assertion/mutation_analysis/operators/exception.py +0 -86
- pynguin-0.40.0/src/pynguin/assertion/mutation_analysis/operators/inheritance.py +0 -378
- pynguin-0.40.0/src/pynguin/assertion/mutation_analysis/operators/logical.py +0 -301
- pynguin-0.40.0/src/pynguin/assertion/mutation_analysis/operators/loop.py +0 -130
- pynguin-0.40.0/src/pynguin/assertion/mutation_analysis/operators/misc.py +0 -230
- pynguin-0.40.0/src/pynguin/assertion/mutation_analysis/strategies.py +0 -166
- pynguin-0.40.0/src/pynguin/assertion/mutation_analysis/transformer.py +0 -100
- pynguin-0.40.0/src/pynguin/cli.py +0 -215
- pynguin-0.40.0/src/pynguin/configuration.py +0 -642
- pynguin-0.40.0/src/pynguin/ga/__init__.py +0 -7
- pynguin-0.40.0/src/pynguin/ga/algorithms/__init__.py +0 -7
- pynguin-0.40.0/src/pynguin/ga/algorithms/abstractmosaalgorithm.py +0 -122
- pynguin-0.40.0/src/pynguin/ga/algorithms/archive.py +0 -430
- pynguin-0.40.0/src/pynguin/ga/algorithms/dynamosaalgorithm.py +0 -286
- pynguin-0.40.0/src/pynguin/ga/algorithms/generationalgorithm.py +0 -329
- pynguin-0.40.0/src/pynguin/ga/algorithms/mioalgorithm.py +0 -145
- pynguin-0.40.0/src/pynguin/ga/algorithms/mosaalgorithm.py +0 -109
- pynguin-0.40.0/src/pynguin/ga/algorithms/randomalgorithm.py +0 -168
- pynguin-0.40.0/src/pynguin/ga/algorithms/randomsearchalgorithm.py +0 -57
- pynguin-0.40.0/src/pynguin/ga/algorithms/wholesuitealgorithm.py +0 -185
- pynguin-0.40.0/src/pynguin/ga/chromosome.py +0 -191
- pynguin-0.40.0/src/pynguin/ga/chromosomefactory.py +0 -28
- pynguin-0.40.0/src/pynguin/ga/chromosomevisitor.py +0 -30
- pynguin-0.40.0/src/pynguin/ga/computations.py +0 -992
- pynguin-0.40.0/src/pynguin/ga/coveragegoals.py +0 -500
- pynguin-0.40.0/src/pynguin/ga/generationalgorithmfactory.py +0 -420
- pynguin-0.40.0/src/pynguin/ga/operators/__init__.py +0 -7
- pynguin-0.40.0/src/pynguin/ga/operators/comparator.py +0 -136
- pynguin-0.40.0/src/pynguin/ga/operators/crossover.py +0 -55
- pynguin-0.40.0/src/pynguin/ga/operators/ranking.py +0 -231
- pynguin-0.40.0/src/pynguin/ga/operators/selection.py +0 -116
- pynguin-0.40.0/src/pynguin/ga/postprocess.py +0 -264
- pynguin-0.40.0/src/pynguin/ga/searchobserver.py +0 -87
- pynguin-0.40.0/src/pynguin/ga/stoppingcondition.py +0 -475
- pynguin-0.40.0/src/pynguin/ga/testcasechromosome.py +0 -303
- pynguin-0.40.0/src/pynguin/ga/testcasechromosomefactory.py +0 -87
- pynguin-0.40.0/src/pynguin/ga/testcasefactory.py +0 -92
- pynguin-0.40.0/src/pynguin/ga/testsuitechromosome.py +0 -195
- pynguin-0.40.0/src/pynguin/ga/testsuitechromosomefactory.py +0 -64
- pynguin-0.40.0/src/pynguin/generator.py +0 -728
- pynguin-0.40.0/src/pynguin/instrumentation/__init__.py +0 -7
- pynguin-0.40.0/src/pynguin/instrumentation/instrumentation.py +0 -1942
- pynguin-0.40.0/src/pynguin/instrumentation/machinery.py +0 -269
- pynguin-0.40.0/src/pynguin/resources/__init__.py +0 -7
- pynguin-0.40.0/src/pynguin/resources/coverage-template.html +0 -80
- pynguin-0.40.0/src/pynguin/slicer/__init__.py +0 -7
- pynguin-0.40.0/src/pynguin/slicer/dynamicslicer.py +0 -882
- pynguin-0.40.0/src/pynguin/slicer/executedinstruction.py +0 -139
- pynguin-0.40.0/src/pynguin/slicer/executionflowbuilder.py +0 -614
- pynguin-0.40.0/src/pynguin/slicer/stack/__init__.py +0 -9
- pynguin-0.40.0/src/pynguin/slicer/stack/stackeffect.py +0 -219
- pynguin-0.40.0/src/pynguin/slicer/stack/stacksimulation.py +0 -197
- pynguin-0.40.0/src/pynguin/slicer/statementslicingobserver.py +0 -114
- pynguin-0.40.0/src/pynguin/testcase/__init__.py +0 -7
- pynguin-0.40.0/src/pynguin/testcase/defaulttestcase.py +0 -175
- pynguin-0.40.0/src/pynguin/testcase/execution.py +0 -2473
- pynguin-0.40.0/src/pynguin/testcase/export.py +0 -201
- pynguin-0.40.0/src/pynguin/testcase/statement.py +0 -2082
- pynguin-0.40.0/src/pynguin/testcase/statement_to_ast.py +0 -454
- pynguin-0.40.0/src/pynguin/testcase/testcase.py +0 -295
- pynguin-0.40.0/src/pynguin/testcase/testcase_to_ast.py +0 -133
- pynguin-0.40.0/src/pynguin/testcase/testcasevisitor.py +0 -22
- pynguin-0.40.0/src/pynguin/testcase/testfactory.py +0 -1311
- pynguin-0.40.0/src/pynguin/testcase/variablereference.py +0 -497
- pynguin-0.40.0/src/pynguin/utils/__init__.py +0 -7
- pynguin-0.40.0/src/pynguin/utils/ast_util.py +0 -202
- pynguin-0.40.0/src/pynguin/utils/atomicinteger.py +0 -67
- pynguin-0.40.0/src/pynguin/utils/collection_utils.py +0 -24
- pynguin-0.40.0/src/pynguin/utils/controlflowdistance.py +0 -228
- pynguin-0.40.0/src/pynguin/utils/exceptions.py +0 -39
- pynguin-0.40.0/src/pynguin/utils/generic/__init__.py +0 -7
- pynguin-0.40.0/src/pynguin/utils/generic/genericaccessibleobject.py +0 -572
- pynguin-0.40.0/src/pynguin/utils/mirror.py +0 -19
- pynguin-0.40.0/src/pynguin/utils/mutation_utils.py +0 -66
- pynguin-0.40.0/src/pynguin/utils/namingscope.py +0 -192
- pynguin-0.40.0/src/pynguin/utils/opcodes.py +0 -294
- pynguin-0.40.0/src/pynguin/utils/orderedset.py +0 -329
- pynguin-0.40.0/src/pynguin/utils/randomness.py +0 -192
- pynguin-0.40.0/src/pynguin/utils/report.py +0 -406
- pynguin-0.40.0/src/pynguin/utils/statistics/__init__.py +0 -7
- pynguin-0.40.0/src/pynguin/utils/statistics/outputvariablefactory.py +0 -320
- pynguin-0.40.0/src/pynguin/utils/statistics/runtimevariable.py +0 -185
- pynguin-0.40.0/src/pynguin/utils/statistics/statisticsbackend.py +0 -77
- pynguin-0.40.0/src/pynguin/utils/statistics/statisticsobserver.py +0 -90
- pynguin-0.40.0/src/pynguin/utils/statistics/stats.py +0 -474
- pynguin-0.40.0/src/pynguin/utils/type_utils.py +0 -305
- pynguin-0.40.0/src/pynguin/utils/typetracing.py +0 -757
- pynguin-0.40.0/tests/analyses/__init__.py +0 -6
- pynguin-0.40.0/tests/analyses/test_cfg.py +0 -314
- pynguin-0.40.0/tests/analyses/test_constants.py +0 -100
- pynguin-0.40.0/tests/analyses/test_controldependencegraph.py +0 -85
- pynguin-0.40.0/tests/analyses/test_dominatortree.py +0 -121
- pynguin-0.40.0/tests/analyses/test_initialpopulationseeding.py +0 -275
- pynguin-0.40.0/tests/analyses/test_module.py +0 -533
- pynguin-0.40.0/tests/analyses/test_modulecomplexity.py +0 -156
- pynguin-0.40.0/tests/analyses/test_programgraph.py +0 -151
- pynguin-0.40.0/tests/analyses/test_seeding.py +0 -63
- pynguin-0.40.0/tests/analyses/test_staticconstantseeding.py +0 -30
- pynguin-0.40.0/tests/analyses/test_syntaxtree.py +0 -374
- pynguin-0.40.0/tests/analyses/test_typesystem.py +0 -881
- pynguin-0.40.0/tests/assertion/__init__.py +0 -6
- pynguin-0.40.0/tests/assertion/mutation_analysis/__init__.py +0 -6
- pynguin-0.40.0/tests/assertion/mutation_analysis/test_controller.py +0 -40
- pynguin-0.40.0/tests/assertion/mutation_analysis/test_mutators.py +0 -151
- pynguin-0.40.0/tests/assertion/mutation_analysis/test_strategies.py +0 -195
- pynguin-0.40.0/tests/assertion/test_assertion.py +0 -135
- pynguin-0.40.0/tests/assertion/test_assertion_generation_integration.py +0 -340
- pynguin-0.40.0/tests/assertion/test_assertion_to_ast.py +0 -112
- pynguin-0.40.0/tests/assertion/test_assertion_trace.py +0 -83
- pynguin-0.40.0/tests/assertion/test_assertiongenerator.py +0 -32
- pynguin-0.40.0/tests/assertion/test_assertiontraceobserver.py +0 -52
- pynguin-0.40.0/tests/conftest.py +0 -512
- pynguin-0.40.0/tests/fixtures/__init__.py +0 -6
- pynguin-0.40.0/tests/fixtures/accessibles/__init__.py +0 -6
- pynguin-0.40.0/tests/fixtures/accessibles/accessible.py +0 -19
- pynguin-0.40.0/tests/fixtures/branchcoverage/__init__.py +0 -6
- pynguin-0.40.0/tests/fixtures/branchcoverage/nestedbranches.py +0 -16
- pynguin-0.40.0/tests/fixtures/branchcoverage/nobranches.py +0 -22
- pynguin-0.40.0/tests/fixtures/branchcoverage/simplenesting.py +0 -15
- pynguin-0.40.0/tests/fixtures/branchcoverage/singlebranches.py +0 -12
- pynguin-0.40.0/tests/fixtures/branchcoverage/twomethodsinglebranches.py +0 -18
- pynguin-0.40.0/tests/fixtures/cluster/__init__.py +0 -6
- pynguin-0.40.0/tests/fixtures/cluster/abstract.py +0 -14
- pynguin-0.40.0/tests/fixtures/cluster/alias_module.py +0 -14
- pynguin-0.40.0/tests/fixtures/cluster/async_class_gen.py +0 -9
- pynguin-0.40.0/tests/fixtures/cluster/async_class_method.py +0 -9
- pynguin-0.40.0/tests/fixtures/cluster/async_func.py +0 -8
- pynguin-0.40.0/tests/fixtures/cluster/async_gen.py +0 -8
- pynguin-0.40.0/tests/fixtures/cluster/attributes.py +0 -19
- pynguin-0.40.0/tests/fixtures/cluster/blacklist.py +0 -38
- pynguin-0.40.0/tests/fixtures/cluster/blacklist_transitive.py +0 -16
- pynguin-0.40.0/tests/fixtures/cluster/comments.py +0 -91
- pynguin-0.40.0/tests/fixtures/cluster/complex_dependencies.py +0 -12
- pynguin-0.40.0/tests/fixtures/cluster/complex_dependency.py +0 -23
- pynguin-0.40.0/tests/fixtures/cluster/conditional_import.py +0 -16
- pynguin-0.40.0/tests/fixtures/cluster/dependency.py +0 -11
- pynguin-0.40.0/tests/fixtures/cluster/diamond_bottom.py +0 -13
- pynguin-0.40.0/tests/fixtures/cluster/diamond_left.py +0 -13
- pynguin-0.40.0/tests/fixtures/cluster/diamond_right.py +0 -13
- pynguin-0.40.0/tests/fixtures/cluster/diamond_top.py +0 -13
- pynguin-0.40.0/tests/fixtures/cluster/enums.py +0 -22
- pynguin-0.40.0/tests/fixtures/cluster/import_dependency.py +0 -21
- pynguin-0.40.0/tests/fixtures/cluster/inheritance.py +0 -14
- pynguin-0.40.0/tests/fixtures/cluster/nested_functions.py +0 -19
- pynguin-0.40.0/tests/fixtures/cluster/no_any_annotations.py +0 -23
- pynguin-0.40.0/tests/fixtures/cluster/no_dependencies.py +0 -22
- pynguin-0.40.0/tests/fixtures/cluster/overridden_inherited_methods.py +0 -23
- pynguin-0.40.0/tests/fixtures/cluster/simple_dependencies.py +0 -12
- pynguin-0.40.0/tests/fixtures/cluster/typing_parameters.py +0 -22
- pynguin-0.40.0/tests/fixtures/cluster/uses_async_dependency.py +0 -17
- pynguin-0.40.0/tests/fixtures/duckmock/__init__.py +0 -6
- pynguin-0.40.0/tests/fixtures/duckmock/complex.py +0 -97
- pynguin-0.40.0/tests/fixtures/examples/__init__.py +0 -6
- pynguin-0.40.0/tests/fixtures/examples/assertions.py +0 -27
- pynguin-0.40.0/tests/fixtures/examples/basket.py +0 -13
- pynguin-0.40.0/tests/fixtures/examples/calculator.py +0 -61
- pynguin-0.40.0/tests/fixtures/examples/calculator_simple.py +0 -46
- pynguin-0.40.0/tests/fixtures/examples/collections.py +0 -43
- pynguin-0.40.0/tests/fixtures/examples/difficult.py +0 -23
- pynguin-0.40.0/tests/fixtures/examples/dummies.py +0 -14
- pynguin-0.40.0/tests/fixtures/examples/dynamosa_example.py +0 -17
- pynguin-0.40.0/tests/fixtures/examples/enums.py +0 -16
- pynguin-0.40.0/tests/fixtures/examples/exceptions.py +0 -17
- pynguin-0.40.0/tests/fixtures/examples/flaky.py +0 -22
- pynguin-0.40.0/tests/fixtures/examples/impossible.py +0 -11
- pynguin-0.40.0/tests/fixtures/examples/inheritance.py +0 -25
- pynguin-0.40.0/tests/fixtures/examples/loop.py +0 -19
- pynguin-0.40.0/tests/fixtures/examples/monkey.py +0 -45
- pynguin-0.40.0/tests/fixtures/examples/nested.py +0 -14
- pynguin-0.40.0/tests/fixtures/examples/objects.py +0 -27
- pynguin-0.40.0/tests/fixtures/examples/private_methods.py +0 -16
- pynguin-0.40.0/tests/fixtures/examples/queue.py +0 -43
- pynguin-0.40.0/tests/fixtures/examples/simple.py +0 -11
- pynguin-0.40.0/tests/fixtures/examples/triangle.py +0 -15
- pynguin-0.40.0/tests/fixtures/examples/type_inference.py +0 -14
- pynguin-0.40.0/tests/fixtures/examples/type_tracing/__init__.py +0 -6
- pynguin-0.40.0/tests/fixtures/examples/type_tracing/geometry.py +0 -17
- pynguin-0.40.0/tests/fixtures/examples/type_tracing/invoice.py +0 -17
- pynguin-0.40.0/tests/fixtures/examples/type_tracing/large_test_cluster.py +0 -59
- pynguin-0.40.0/tests/fixtures/examples/type_tracing/mixed.py +0 -58
- pynguin-0.40.0/tests/fixtures/grammar/__init__.py +0 -6
- pynguin-0.40.0/tests/fixtures/grammar/parameters.py +0 -14
- pynguin-0.40.0/tests/fixtures/instrumentation/__init__.py +0 -6
- pynguin-0.40.0/tests/fixtures/instrumentation/comparison.py +0 -64
- pynguin-0.40.0/tests/fixtures/instrumentation/inherited.py +0 -15
- pynguin-0.40.0/tests/fixtures/instrumentation/mixed.py +0 -62
- pynguin-0.40.0/tests/fixtures/instrumentation/simple.py +0 -78
- pynguin-0.40.0/tests/fixtures/linecoverage/__init__.py +0 -6
- pynguin-0.40.0/tests/fixtures/linecoverage/artificial_none.py +0 -39
- pynguin-0.40.0/tests/fixtures/linecoverage/emptyfile.py +0 -6
- pynguin-0.40.0/tests/fixtures/linecoverage/exception.py +0 -11
- pynguin-0.40.0/tests/fixtures/linecoverage/list.py +0 -10
- pynguin-0.40.0/tests/fixtures/linecoverage/plus.py +0 -18
- pynguin-0.40.0/tests/fixtures/linecoverage/setter_getter.py +0 -16
- pynguin-0.40.0/tests/fixtures/mutation/__init__.py +0 -6
- pynguin-0.40.0/tests/fixtures/mutation/exception.py +0 -12
- pynguin-0.40.0/tests/fixtures/mutation/expected.py +0 -9
- pynguin-0.40.0/tests/fixtures/mutation/mutation.py +0 -18
- pynguin-0.40.0/tests/fixtures/mutation/timeout.py +0 -13
- pynguin-0.40.0/tests/fixtures/programgraph/__init__.py +0 -6
- pynguin-0.40.0/tests/fixtures/programgraph/samples.py +0 -12
- pynguin-0.40.0/tests/fixtures/programgraph/whileloop.py +0 -13
- pynguin-0.40.0/tests/fixtures/seeding/__init__.py +0 -6
- pynguin-0.40.0/tests/fixtures/seeding/dynamicseeding/__init__.py +0 -6
- pynguin-0.40.0/tests/fixtures/seeding/dynamicseeding/dynamicseedingdummies.py +0 -12
- pynguin-0.40.0/tests/fixtures/seeding/initialpopulationseeding/__init__.py +0 -6
- pynguin-0.40.0/tests/fixtures/seeding/initialpopulationseeding/dummycontainer.py +0 -82
- pynguin-0.40.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/__init__.py +0 -6
- pynguin-0.40.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/assertseed_test_.py +0 -27
- pynguin-0.40.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/classseed_test_.py +0 -15
- pynguin-0.40.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/collfuncseed_test_.py +0 -37
- pynguin-0.40.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/collseed_test_.py +0 -31
- pynguin-0.40.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/nestedseed_test_.py +0 -14
- pynguin-0.40.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/notknowncall_test_.py +0 -18
- pynguin-0.40.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/notprimseed_test_.py +0 -14
- pynguin-0.40.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/primitiveseed_test_.py +0 -58
- pynguin-0.40.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/triangleseed_test_.py +0 -21
- pynguin-0.40.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/wrongassignseed_test_.py +0 -11
- pynguin-0.40.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules/wrongfunctionnameseed_test_.py +0 -13
- pynguin-0.40.0/tests/fixtures/seeding/staticconstantseeding/__init__.py +0 -6
- pynguin-0.40.0/tests/fixtures/seeding/staticconstantseeding/dummy/__init__.py +0 -6
- pynguin-0.40.0/tests/fixtures/seeding/staticconstantseeding/dummy/dummy.py +0 -24
- pynguin-0.40.0/tests/fixtures/slicer/__init__.py +0 -6
- pynguin-0.40.0/tests/fixtures/slicer/attribute_dependencies.py +0 -23
- pynguin-0.40.0/tests/fixtures/slicer/closure.py +0 -19
- pynguin-0.40.0/tests/fixtures/slicer/generator.py +0 -37
- pynguin-0.40.0/tests/fixtures/slicer/immutable_attribute_dependency.py +0 -18
- pynguin-0.40.0/tests/fixtures/slicer/import_star_def.py +0 -10
- pynguin-0.40.0/tests/fixtures/slicer/import_star_main.py +0 -15
- pynguin-0.40.0/tests/fixtures/slicer/partial_cover_dependency.py +0 -22
- pynguin-0.40.0/tests/fixtures/slicer/simple_call.py +0 -17
- pynguin-0.40.0/tests/fixtures/slicer/simple_call_arg.py +0 -21
- pynguin-0.40.0/tests/fixtures/test.conf.license +0 -3
- pynguin-0.40.0/tests/fixtures/tests/typeinference/test_stubstrategy.pyi +0 -17
- pynguin-0.40.0/tests/fixtures/type_tracing/__init__.py +0 -6
- pynguin-0.40.0/tests/fixtures/type_tracing/guess_params.py +0 -11
- pynguin-0.40.0/tests/fixtures/type_tracing/return_types.py +0 -28
- pynguin-0.40.0/tests/fixtures/types/__init__.py +0 -6
- pynguin-0.40.0/tests/fixtures/types/outside.py +0 -16
- pynguin-0.40.0/tests/fixtures/types/subtyping.py +0 -12
- pynguin-0.40.0/tests/fixtures/types/symbols.py +0 -53
- pynguin-0.40.0/tests/ga/__init__.py +0 -6
- pynguin-0.40.0/tests/ga/algorithms/__init__.py +0 -7
- pynguin-0.40.0/tests/ga/algorithms/test_archive.py +0 -417
- pynguin-0.40.0/tests/ga/algorithms/test_dynamosaalgorithm.py +0 -84
- pynguin-0.40.0/tests/ga/algorithms/test_generationalgorithm.py +0 -32
- pynguin-0.40.0/tests/ga/algorithms/test_integration_mosaalgorithm.py +0 -72
- pynguin-0.40.0/tests/ga/algorithms/test_integration_varioussearchalgorithms.py +0 -128
- pynguin-0.40.0/tests/ga/algorithms/test_mioalgorithm.py +0 -68
- pynguin-0.40.0/tests/ga/algorithms/test_mosaalgorithm.py +0 -53
- pynguin-0.40.0/tests/ga/algorithms/test_randomalgorithm.py +0 -157
- pynguin-0.40.0/tests/ga/operators/__init__.py +0 -6
- pynguin-0.40.0/tests/ga/operators/crossover/__init__.py +0 -6
- pynguin-0.40.0/tests/ga/operators/crossover/test_singlepointrelativecrossover.py +0 -39
- pynguin-0.40.0/tests/ga/operators/ranking/__init__.py +0 -6
- pynguin-0.40.0/tests/ga/operators/ranking/test_rankingfunction.py +0 -73
- pynguin-0.40.0/tests/ga/operators/selection/__init__.py +0 -6
- pynguin-0.40.0/tests/ga/operators/selection/test_rankselection.py +0 -16
- pynguin-0.40.0/tests/ga/operators/selection/test_selection.py +0 -30
- pynguin-0.40.0/tests/ga/operators/selection/test_tournamentselection.py +0 -21
- pynguin-0.40.0/tests/ga/operators/test_dominancecomparator.py +0 -49
- pynguin-0.40.0/tests/ga/operators/test_preferencesortingcomparator.py +0 -25
- pynguin-0.40.0/tests/ga/stoppingconditions/__init__.py +0 -6
- pynguin-0.40.0/tests/ga/stoppingconditions/test_coverageplateaustoppingcondition.py +0 -65
- pynguin-0.40.0/tests/ga/stoppingconditions/test_maxcoveragestoppingcondition.py +0 -61
- pynguin-0.40.0/tests/ga/stoppingconditions/test_maxiterationsstoppingcondition.py +0 -43
- pynguin-0.40.0/tests/ga/stoppingconditions/test_maxstatementstoppingcondition.py +0 -47
- pynguin-0.40.0/tests/ga/stoppingconditions/test_maxtestsstoppingcondition.py +0 -31
- pynguin-0.40.0/tests/ga/stoppingconditions/test_maxtimestoppingcondition.py +0 -43
- pynguin-0.40.0/tests/ga/stoppingconditions/test_minimumcoverageplateaustoppingcondition.py +0 -88
- pynguin-0.40.0/tests/ga/stoppingconditions/test_stoppingcondition.py +0 -39
- pynguin-0.40.0/tests/ga/test_chromosome.py +0 -63
- pynguin-0.40.0/tests/ga/test_chromosomefactory.py +0 -84
- pynguin-0.40.0/tests/ga/test_computations.py +0 -212
- pynguin-0.40.0/tests/ga/test_computations_cache.py +0 -181
- pynguin-0.40.0/tests/ga/test_computations_fitness_utilities.py +0 -293
- pynguin-0.40.0/tests/ga/test_coveragegoals.py +0 -484
- pynguin-0.40.0/tests/ga/test_generationalgorithmfactory.py +0 -91
- pynguin-0.40.0/tests/ga/test_postprocess.py +0 -203
- pynguin-0.40.0/tests/ga/test_testcasechromosome.py +0 -340
- pynguin-0.40.0/tests/ga/test_testcasefactory.py +0 -35
- pynguin-0.40.0/tests/ga/test_testsuitechromosome.py +0 -220
- pynguin-0.40.0/tests/instrumentation/__init__.py +0 -6
- pynguin-0.40.0/tests/instrumentation/test_instrumentation.py +0 -778
- pynguin-0.40.0/tests/instrumentation/test_machinery.py +0 -49
- pynguin-0.40.0/tests/slicer/__init__.py +0 -6
- pynguin-0.40.0/tests/slicer/stack/__init__.py +0 -6
- pynguin-0.40.0/tests/slicer/stack/test_stack_effect.py +0 -62
- pynguin-0.40.0/tests/slicer/test_assertionslicer.py +0 -388
- pynguin-0.40.0/tests/slicer/test_dependencies.py +0 -374
- pynguin-0.40.0/tests/slicer/test_expected_failures.py +0 -293
- pynguin-0.40.0/tests/slicer/test_language_features.py +0 -692
- pynguin-0.40.0/tests/slicer/test_statementslicer.py +0 -326
- pynguin-0.40.0/tests/slicer/util.py +0 -159
- pynguin-0.40.0/tests/test___main__.py +0 -20
- pynguin-0.40.0/tests/test_cli.py +0 -280
- pynguin-0.40.0/tests/test_generator.py +0 -204
- pynguin-0.40.0/tests/testcase/__init__.py +0 -6
- pynguin-0.40.0/tests/testcase/execution/__init__.py +0 -6
- pynguin-0.40.0/tests/testcase/execution/test_executedinstruction.py +0 -22
- pynguin-0.40.0/tests/testcase/execution/test_executioncontext.py +0 -45
- pynguin-0.40.0/tests/testcase/execution/test_executionresult.py +0 -55
- pynguin-0.40.0/tests/testcase/execution/test_executiontrace.py +0 -84
- pynguin-0.40.0/tests/testcase/execution/test_executiontracer.py +0 -413
- pynguin-0.40.0/tests/testcase/execution/test_moduleprovider.py +0 -39
- pynguin-0.40.0/tests/testcase/execution/test_testcaseexecutor_integration.py +0 -149
- pynguin-0.40.0/tests/testcase/execution/test_typetracing.py +0 -97
- pynguin-0.40.0/tests/testcase/export/__init__.py +0 -6
- pynguin-0.40.0/tests/testcase/export/conftest.py +0 -58
- pynguin-0.40.0/tests/testcase/export/test_export.py +0 -82
- pynguin-0.40.0/tests/testcase/statements/__init__.py +0 -6
- pynguin-0.40.0/tests/testcase/statements/test_assignmentstatement.py +0 -126
- pynguin-0.40.0/tests/testcase/statements/test_collectionstatements.py +0 -113
- pynguin-0.40.0/tests/testcase/statements/test_fieldstatement.py +0 -171
- pynguin-0.40.0/tests/testcase/statements/test_parameterizedstatements.py +0 -549
- pynguin-0.40.0/tests/testcase/statements/test_primitivestatements.py +0 -643
- pynguin-0.40.0/tests/testcase/test_benchmark.py +0 -64
- pynguin-0.40.0/tests/testcase/test_defaulttestcase.py +0 -314
- pynguin-0.40.0/tests/testcase/test_statement_to_ast.py +0 -611
- pynguin-0.40.0/tests/testcase/test_testcase_integration.py +0 -161
- pynguin-0.40.0/tests/testcase/test_testcase_to_ast_integration.py +0 -60
- pynguin-0.40.0/tests/testcase/test_testfactory.py +0 -966
- pynguin-0.40.0/tests/testcase/variable/__init__.py +0 -6
- pynguin-0.40.0/tests/testcase/variable/test_variablereference.py +0 -318
- pynguin-0.40.0/tests/testutils.py +0 -159
- pynguin-0.40.0/tests/utils/__init__.py +0 -6
- pynguin-0.40.0/tests/utils/generic/__init__.py +0 -6
- pynguin-0.40.0/tests/utils/generic/test_genericaccessibleobject.py +0 -160
- pynguin-0.40.0/tests/utils/stats/__init__.py +0 -6
- pynguin-0.40.0/tests/utils/stats/test_outputvariablefactory.py +0 -186
- pynguin-0.40.0/tests/utils/stats/test_searchstatistics.py +0 -127
- pynguin-0.40.0/tests/utils/stats/test_statistics.py +0 -18
- pynguin-0.40.0/tests/utils/stats/test_statisticsbackend.py +0 -52
- pynguin-0.40.0/tests/utils/test_atomicinteger.py +0 -37
- pynguin-0.40.0/tests/utils/test_collection_utils.py +0 -14
- pynguin-0.40.0/tests/utils/test_controlflowdistance.py +0 -130
- pynguin-0.40.0/tests/utils/test_exceptions.py +0 -44
- pynguin-0.40.0/tests/utils/test_mirror.py +0 -19
- pynguin-0.40.0/tests/utils/test_mutation_utils.py +0 -32
- pynguin-0.40.0/tests/utils/test_namingscope.py +0 -131
- pynguin-0.40.0/tests/utils/test_orderedset.py +0 -63
- pynguin-0.40.0/tests/utils/test_randomness.py +0 -98
- pynguin-0.40.0/tests/utils/test_report.py +0 -508
- pynguin-0.40.0/tests/utils/test_type_utils.py +0 -241
- pynguin-0.40.0/tests/utils/test_typetracing.py +0 -655
- {pynguin-0.40.0 → pynguin-0.41.0}/LICENSES/Apache-2.0.txt +0 -0
- {pynguin-0.40.0 → pynguin-0.41.0}/LICENSES/BSD-2-Clause.txt +0 -0
- {pynguin-0.40.0 → pynguin-0.41.0}/LICENSES/CC-BY-4.0.txt +0 -0
- {pynguin-0.40.0 → pynguin-0.41.0}/LICENSES/CC0-1.0.txt +0 -0
- {pynguin-0.40.0 → pynguin-0.41.0}/LICENSES/MIT.txt +0 -0
- {pynguin-0.40.0 → pynguin-0.41.0}/tests/assertion/mutation_analysis/operators/__init__.py +0 -0
- {pynguin-0.40.0 → pynguin-0.41.0}/tests/assertion/mutation_analysis/operators/test_arithmetic.py +0 -0
- {pynguin-0.40.0 → pynguin-0.41.0}/tests/assertion/mutation_analysis/operators/test_decorator.py +0 -0
- {pynguin-0.40.0 → pynguin-0.41.0}/tests/assertion/mutation_analysis/operators/test_exception.py +0 -0
- {pynguin-0.40.0 → pynguin-0.41.0}/tests/assertion/mutation_analysis/operators/test_inheritance.py +0 -0
- {pynguin-0.40.0 → pynguin-0.41.0}/tests/assertion/mutation_analysis/operators/test_logical.py +0 -0
- {pynguin-0.40.0 → pynguin-0.41.0}/tests/assertion/mutation_analysis/operators/test_loop.py +0 -0
- {pynguin-0.40.0 → pynguin-0.41.0}/tests/assertion/mutation_analysis/operators/test_misc.py +0 -0
- {pynguin-0.40.0 → pynguin-0.41.0}/tests/fixtures/seeding/staticconstantseeding/dummy/empty.so +0 -0
- {pynguin-0.40.0 → pynguin-0.41.0}/tests/fixtures/test.conf +0 -0
- {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.
|
pynguin-0.41.0/PKG-INFO
ADDED
|
@@ -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
|
+
[](https://gitlab.infosun.fim.uni-passau.de/se2/pynguin/pynguin/-/commits/main)
|
|
77
|
+
[](https://gitlab.infosun.fim.uni-passau.de/se2/pynguin/pynguin/-/commits/main)
|
|
78
|
+
|
|
79
|
+
</details>
|
|
80
|
+
|
|
81
|
+
[](https://opensource.org/licenses/MIT)
|
|
82
|
+
[](https://github.com/ambv/black)
|
|
83
|
+
[](https://github.com/astral-sh/ruff)
|
|
84
|
+
[](https://badge.fury.io/py/pynguin)
|
|
85
|
+
[](https://github.com/se2p/pynguin)
|
|
86
|
+
[](https://pynguin.readthedocs.io/en/latest/?badge=latest)
|
|
87
|
+
[](https://doi.org/10.5281/zenodo.3989840)
|
|
88
|
+
[](https://api.reuse.software/info/github.com/se2p/pynguin)
|
|
89
|
+
[](https://pepy.tech/project/pynguin)
|
|
90
|
+
[](https://archive.softwareheritage.org/browse/origin/?origin_url=https://github.com/se2p/pynguin)
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+

|
|
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
|
+
[](https://star-history.com/#se2p/pynguin)
|
|
217
|
+
|
pynguin-0.41.0/README.md
ADDED
|
@@ -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
|
+
[](https://gitlab.infosun.fim.uni-passau.de/se2/pynguin/pynguin/-/commits/main)
|
|
30
|
+
[](https://gitlab.infosun.fim.uni-passau.de/se2/pynguin/pynguin/-/commits/main)
|
|
31
|
+
|
|
32
|
+
</details>
|
|
33
|
+
|
|
34
|
+
[](https://opensource.org/licenses/MIT)
|
|
35
|
+
[](https://github.com/ambv/black)
|
|
36
|
+
[](https://github.com/astral-sh/ruff)
|
|
37
|
+
[](https://badge.fury.io/py/pynguin)
|
|
38
|
+
[](https://github.com/se2p/pynguin)
|
|
39
|
+
[](https://pynguin.readthedocs.io/en/latest/?badge=latest)
|
|
40
|
+
[](https://doi.org/10.5281/zenodo.3989840)
|
|
41
|
+
[](https://api.reuse.software/info/github.com/se2p/pynguin)
|
|
42
|
+
[](https://pepy.tech/project/pynguin)
|
|
43
|
+
[](https://archive.softwareheritage.org/browse/origin/?origin_url=https://github.com/se2p/pynguin)
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+

|
|
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
|
+
[](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
|
+
]
|