pynguin 0.46.0.dev0__tar.gz → 0.48.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.48.0/PKG-INFO +240 -0
- pynguin-0.48.0/README.md +174 -0
- pynguin-0.48.0/pyproject.toml +321 -0
- pynguin-0.48.0/src/pynguin/__version__.py +9 -0
- pynguin-0.48.0/src/pynguin/analyses/ast_utils.py +177 -0
- pynguin-0.48.0/src/pynguin/analyses/constants.py +406 -0
- pynguin-0.48.0/src/pynguin/analyses/generator.py +473 -0
- pynguin-0.48.0/src/pynguin/analyses/generics.py +560 -0
- pynguin-0.48.0/src/pynguin/analyses/module.py +2780 -0
- pynguin-0.48.0/src/pynguin/analyses/seeding.py +224 -0
- pynguin-0.48.0/src/pynguin/analyses/syntaxtree.py +566 -0
- pynguin-0.48.0/src/pynguin/analyses/type_inference.py +858 -0
- pynguin-0.48.0/src/pynguin/analyses/typesystem.py +2607 -0
- pynguin-0.48.0/src/pynguin/assertion/assertion.py +503 -0
- pynguin-0.48.0/src/pynguin/assertion/assertion_to_ast.py +293 -0
- pynguin-0.48.0/src/pynguin/assertion/assertion_trace.py +125 -0
- pynguin-0.48.0/src/pynguin/assertion/assertiongenerator.py +732 -0
- pynguin-0.48.0/src/pynguin/assertion/assertiontraceobserver.py +651 -0
- pynguin-0.48.0/src/pynguin/assertion/llmassertiongenerator.py +319 -0
- pynguin-0.48.0/src/pynguin/assertion/mutation_analysis/controller.py +252 -0
- pynguin-0.48.0/src/pynguin/assertion/mutation_analysis/mutators.py +290 -0
- pynguin-0.48.0/src/pynguin/assertion/mutation_analysis/operators/__init__.py +93 -0
- pynguin-0.48.0/src/pynguin/assertion/mutation_analysis/operators/arithmetic.py +301 -0
- pynguin-0.48.0/src/pynguin/assertion/mutation_analysis/operators/exception.py +128 -0
- pynguin-0.48.0/src/pynguin/assertion/mutation_analysis/operators/inheritance.py +382 -0
- pynguin-0.48.0/src/pynguin/assertion/mutation_analysis/operators/logical.py +333 -0
- pynguin-0.48.0/src/pynguin/assertion/mutation_analysis/operators/loop.py +126 -0
- pynguin-0.48.0/src/pynguin/assertion/mutation_analysis/operators/misc.py +432 -0
- pynguin-0.48.0/src/pynguin/assertion/mutation_analysis/operators/statement.py +70 -0
- pynguin-0.48.0/src/pynguin/assertion/mutation_analysis/transformer.py +120 -0
- pynguin-0.48.0/src/pynguin/cli.py +266 -0
- pynguin-0.48.0/src/pynguin/configuration.py +1472 -0
- pynguin-0.48.0/src/pynguin/ga/AGENTS.md +464 -0
- pynguin-0.48.0/src/pynguin/ga/__init__.py +7 -0
- pynguin-0.48.0/src/pynguin/ga/algorithms/AGENTS.md +658 -0
- pynguin-0.48.0/src/pynguin/ga/algorithms/__init__.py +7 -0
- pynguin-0.48.0/src/pynguin/ga/algorithms/abstractmosaalgorithm.py +174 -0
- pynguin-0.48.0/src/pynguin/ga/algorithms/archive.py +475 -0
- pynguin-0.48.0/src/pynguin/ga/algorithms/dynamosaalgorithm.py +622 -0
- pynguin-0.48.0/src/pynguin/ga/algorithms/generationalgorithm.py +326 -0
- pynguin-0.48.0/src/pynguin/ga/algorithms/lldynamosaalgorithm.py +249 -0
- pynguin-0.48.0/src/pynguin/ga/algorithms/llmosalgorithm.py +604 -0
- pynguin-0.48.0/src/pynguin/ga/algorithms/mioalgorithm.py +142 -0
- pynguin-0.48.0/src/pynguin/ga/algorithms/mosaalgorithm.py +67 -0
- pynguin-0.48.0/src/pynguin/ga/algorithms/randomalgorithm.py +162 -0
- pynguin-0.48.0/src/pynguin/ga/algorithms/randomsearchalgorithm.py +55 -0
- pynguin-0.48.0/src/pynguin/ga/algorithms/wholesuitealgorithm.py +181 -0
- pynguin-0.48.0/src/pynguin/ga/checked_coverage.py +173 -0
- pynguin-0.48.0/src/pynguin/ga/chromosome.py +211 -0
- pynguin-0.48.0/src/pynguin/ga/chromosomefactory.py +26 -0
- pynguin-0.48.0/src/pynguin/ga/chromosomevisitor.py +29 -0
- pynguin-0.48.0/src/pynguin/ga/computation_cache.py +261 -0
- pynguin-0.48.0/src/pynguin/ga/computations.py +484 -0
- pynguin-0.48.0/src/pynguin/ga/coveragegoals.py +583 -0
- pynguin-0.48.0/src/pynguin/ga/fitness_metrics.py +315 -0
- pynguin-0.48.0/src/pynguin/ga/generationalgorithmfactory.py +465 -0
- pynguin-0.48.0/src/pynguin/ga/llmtestsuitechromosomefactory.py +127 -0
- pynguin-0.48.0/src/pynguin/ga/operators/AGENTS.md +162 -0
- pynguin-0.48.0/src/pynguin/ga/operators/__init__.py +7 -0
- pynguin-0.48.0/src/pynguin/ga/operators/comparator.py +153 -0
- pynguin-0.48.0/src/pynguin/ga/operators/crossover.py +109 -0
- pynguin-0.48.0/src/pynguin/ga/operators/mutation.py +263 -0
- pynguin-0.48.0/src/pynguin/ga/operators/ranking.py +224 -0
- pynguin-0.48.0/src/pynguin/ga/operators/selection.py +201 -0
- pynguin-0.48.0/src/pynguin/ga/postprocess.py +575 -0
- pynguin-0.48.0/src/pynguin/ga/searchobserver.py +84 -0
- pynguin-0.48.0/src/pynguin/ga/stoppingcondition.py +621 -0
- pynguin-0.48.0/src/pynguin/ga/testcasechromosome.py +214 -0
- pynguin-0.48.0/src/pynguin/ga/testcasechromosomefactory.py +84 -0
- pynguin-0.48.0/src/pynguin/ga/testcasefactory.py +88 -0
- pynguin-0.48.0/src/pynguin/ga/testsuitechromosome.py +170 -0
- pynguin-0.48.0/src/pynguin/ga/testsuitechromosomefactory.py +61 -0
- pynguin-0.48.0/src/pynguin/generator.py +1794 -0
- pynguin-0.48.0/src/pynguin/instrumentation/controlflow.py +1003 -0
- pynguin-0.48.0/src/pynguin/instrumentation/machinery.py +297 -0
- pynguin-0.48.0/src/pynguin/instrumentation/tracer.py +2355 -0
- pynguin-0.48.0/src/pynguin/instrumentation/transformer.py +1728 -0
- pynguin-0.48.0/src/pynguin/instrumentation/version/__init__.py +239 -0
- pynguin-0.48.0/src/pynguin/instrumentation/version/common.py +379 -0
- pynguin-0.48.0/src/pynguin/instrumentation/version/python3_10.py +2166 -0
- pynguin-0.48.0/src/pynguin/instrumentation/version/python3_11.py +697 -0
- pynguin-0.48.0/src/pynguin/instrumentation/version/python3_12.py +641 -0
- pynguin-0.48.0/src/pynguin/instrumentation/version/python3_13.py +441 -0
- pynguin-0.48.0/src/pynguin/instrumentation/version/python3_14.py +328 -0
- pynguin-0.48.0/src/pynguin/instrumentation/version/python3_15.py +168 -0
- pynguin-0.48.0/src/pynguin/islands/__init__.py +7 -0
- pynguin-0.48.0/src/pynguin/islands/aggregation.py +140 -0
- pynguin-0.48.0/src/pynguin/islands/island.py +219 -0
- pynguin-0.48.0/src/pynguin/islands/llm_worker.py +385 -0
- pynguin-0.48.0/src/pynguin/islands/llm_worker_algorithm.py +109 -0
- pynguin-0.48.0/src/pynguin/islands/llm_worker_protocol.py +145 -0
- pynguin-0.48.0/src/pynguin/islands/migration.py +163 -0
- pynguin-0.48.0/src/pynguin/islands/migration_algorithm.py +259 -0
- pynguin-0.48.0/src/pynguin/islands/orchestrator.py +563 -0
- pynguin-0.48.0/src/pynguin/islands/population_allocation.py +57 -0
- pynguin-0.48.0/src/pynguin/large_language_model/AGENTS.md +231 -0
- pynguin-0.48.0/src/pynguin/large_language_model/__init__.py +7 -0
- pynguin-0.48.0/src/pynguin/large_language_model/cache.py +124 -0
- pynguin-0.48.0/src/pynguin/large_language_model/caching.py +73 -0
- pynguin-0.48.0/src/pynguin/large_language_model/client.py +694 -0
- pynguin-0.48.0/src/pynguin/large_language_model/config_schema.py +42 -0
- pynguin-0.48.0/src/pynguin/large_language_model/llmagent.py +832 -0
- pynguin-0.48.0/src/pynguin/large_language_model/llmtestcasehandler.py +194 -0
- pynguin-0.48.0/src/pynguin/large_language_model/parsing/AGENTS.md +161 -0
- pynguin-0.48.0/src/pynguin/large_language_model/parsing/__init__.py +7 -0
- pynguin-0.48.0/src/pynguin/large_language_model/parsing/deserializer.py +1938 -0
- pynguin-0.48.0/src/pynguin/large_language_model/parsing/helpers.py +25 -0
- pynguin-0.48.0/src/pynguin/large_language_model/parsing/rewriter.py +1211 -0
- pynguin-0.48.0/src/pynguin/large_language_model/parsing/type_str_parser.py +196 -0
- pynguin-0.48.0/src/pynguin/large_language_model/prompts/AGENTS.md +101 -0
- pynguin-0.48.0/src/pynguin/large_language_model/prompts/__init__.py +41 -0
- pynguin-0.48.0/src/pynguin/large_language_model/prompts/assertiongenerationprompt.py +40 -0
- pynguin-0.48.0/src/pynguin/large_language_model/prompts/base_inference_prompt.py +128 -0
- pynguin-0.48.0/src/pynguin/large_language_model/prompts/localsearchprompt.py +83 -0
- pynguin-0.48.0/src/pynguin/large_language_model/prompts/modulemutationstrengthenprompt.py +60 -0
- pynguin-0.48.0/src/pynguin/large_language_model/prompts/modulereadabilityrefinementprompt.py +47 -0
- pynguin-0.48.0/src/pynguin/large_language_model/prompts/modulerefinementprompt.py +47 -0
- pynguin-0.48.0/src/pynguin/large_language_model/prompts/modulesemanticassertionsprompt.py +47 -0
- pynguin-0.48.0/src/pynguin/large_language_model/prompts/mutationstrengthenprompt.py +59 -0
- pynguin-0.48.0/src/pynguin/large_language_model/prompts/prompt.py +169 -0
- pynguin-0.48.0/src/pynguin/large_language_model/prompts/readabilityrefinementprompt.py +50 -0
- pynguin-0.48.0/src/pynguin/large_language_model/prompts/repairprompt.py +70 -0
- pynguin-0.48.0/src/pynguin/large_language_model/prompts/resources/assertion_generation.yaml +32 -0
- pynguin-0.48.0/src/pynguin/large_language_model/prompts/resources/defaults.yaml +22 -0
- pynguin-0.48.0/src/pynguin/large_language_model/prompts/resources/generator_generate.yaml +16 -0
- pynguin-0.48.0/src/pynguin/large_language_model/prompts/resources/local_search.yaml +40 -0
- pynguin-0.48.0/src/pynguin/large_language_model/prompts/resources/module_mutation_strengthen.yaml +62 -0
- pynguin-0.48.0/src/pynguin/large_language_model/prompts/resources/module_readability_refinement.yaml +54 -0
- pynguin-0.48.0/src/pynguin/large_language_model/prompts/resources/module_refinement_combined.yaml +51 -0
- pynguin-0.48.0/src/pynguin/large_language_model/prompts/resources/module_semantic_assertions.yaml +65 -0
- pynguin-0.48.0/src/pynguin/large_language_model/prompts/resources/mutation_strengthen.yaml +46 -0
- pynguin-0.48.0/src/pynguin/large_language_model/prompts/resources/readability_refinement.yaml +79 -0
- pynguin-0.48.0/src/pynguin/large_language_model/prompts/resources/refinement.yaml +13 -0
- pynguin-0.48.0/src/pynguin/large_language_model/prompts/resources/repair.yaml +57 -0
- pynguin-0.48.0/src/pynguin/large_language_model/prompts/resources/semantic_assertions.yaml +146 -0
- pynguin-0.48.0/src/pynguin/large_language_model/prompts/resources/test_case_generation.yaml +59 -0
- pynguin-0.48.0/src/pynguin/large_language_model/prompts/resources/type_inference.yaml +59 -0
- pynguin-0.48.0/src/pynguin/large_language_model/prompts/resources/type_subtype_inference.yaml +85 -0
- pynguin-0.48.0/src/pynguin/large_language_model/prompts/resources/uncovered_targets.yaml +46 -0
- pynguin-0.48.0/src/pynguin/large_language_model/prompts/semanticassertionsprompt.py +50 -0
- pynguin-0.48.0/src/pynguin/large_language_model/prompts/testcasegenerationprompt.py +72 -0
- pynguin-0.48.0/src/pynguin/large_language_model/prompts/type_and_subtype_inference_prompt.py +74 -0
- pynguin-0.48.0/src/pynguin/large_language_model/prompts/typeinferenceprompt.py +62 -0
- pynguin-0.48.0/src/pynguin/large_language_model/prompts/uncoveredtargetsprompt.py +102 -0
- pynguin-0.48.0/src/pynguin/large_language_model/query_strategy.py +202 -0
- pynguin-0.48.0/src/pynguin/large_language_model/request.py +57 -0
- pynguin-0.48.0/src/pynguin/mock_generation/__init__.py +7 -0
- pynguin-0.48.0/src/pynguin/mock_generation/ast_helpers.py +51 -0
- pynguin-0.48.0/src/pynguin/mock_generation/context_extractor.py +421 -0
- pynguin-0.48.0/src/pynguin/mock_generation/dependency_analyzer.py +262 -0
- pynguin-0.48.0/src/pynguin/mock_generation/llm_classifier_client.py +71 -0
- pynguin-0.48.0/src/pynguin/mock_generation/mock_generator.py +155 -0
- pynguin-0.48.0/src/pynguin/mock_generation/mock_hint_generator.py +331 -0
- pynguin-0.48.0/src/pynguin/mock_generation/mock_rule_generator.py +395 -0
- pynguin-0.48.0/src/pynguin/mock_generation/proxy_cache_resolver.py +69 -0
- pynguin-0.48.0/src/pynguin/mock_generation/static_setups.py +404 -0
- pynguin-0.48.0/src/pynguin/mock_generation/untyped_param_analyzer.py +195 -0
- pynguin-0.48.0/src/pynguin/refinement/AGENTS.md +115 -0
- pynguin-0.48.0/src/pynguin/refinement/__init__.py +11 -0
- pynguin-0.48.0/src/pynguin/refinement/aaa_inserter.py +140 -0
- pynguin-0.48.0/src/pynguin/refinement/alignment.py +185 -0
- pynguin-0.48.0/src/pynguin/refinement/api_signatures.py +160 -0
- pynguin-0.48.0/src/pynguin/refinement/ast_analyzer.py +283 -0
- pynguin-0.48.0/src/pynguin/refinement/coverage_checker.py +606 -0
- pynguin-0.48.0/src/pynguin/refinement/llm_client.py +213 -0
- pynguin-0.48.0/src/pynguin/refinement/llm_judge.py +352 -0
- pynguin-0.48.0/src/pynguin/refinement/mutation_analyzer.py +935 -0
- pynguin-0.48.0/src/pynguin/refinement/pipeline.py +1664 -0
- pynguin-0.48.0/src/pynguin/refinement/readability_metrics.py +117 -0
- pynguin-0.48.0/src/pynguin/refinement/refiner.py +1017 -0
- pynguin-0.48.0/src/pynguin/refinement/sut_inspector.py +713 -0
- pynguin-0.48.0/src/pynguin/refinement/validator.py +350 -0
- pynguin-0.48.0/src/pynguin/slicer/AGENTS.md +159 -0
- pynguin-0.48.0/src/pynguin/slicer/__init__.py +7 -0
- pynguin-0.48.0/src/pynguin/slicer/dynamicslicer.py +909 -0
- pynguin-0.48.0/src/pynguin/slicer/executedinstruction.py +144 -0
- pynguin-0.48.0/src/pynguin/slicer/executionflowbuilder.py +638 -0
- pynguin-0.48.0/src/pynguin/slicer/stack/__init__.py +9 -0
- pynguin-0.48.0/src/pynguin/slicer/stack/stacksimulation.py +228 -0
- pynguin-0.48.0/src/pynguin/slicer/statementslicingobserver.py +99 -0
- pynguin-0.48.0/src/pynguin/testcase/AGENTS.md +274 -0
- pynguin-0.48.0/src/pynguin/testcase/collection_tracker.py +503 -0
- pynguin-0.48.0/src/pynguin/testcase/crash_minimization.py +118 -0
- pynguin-0.48.0/src/pynguin/testcase/execution.py +838 -0
- pynguin-0.48.0/src/pynguin/testcase/execution_isolation.py +132 -0
- pynguin-0.48.0/src/pynguin/testcase/execution_observers.py +692 -0
- pynguin-0.48.0/src/pynguin/testcase/execution_result.py +142 -0
- pynguin-0.48.0/src/pynguin/testcase/export.py +1336 -0
- pynguin-0.48.0/src/pynguin/testcase/literalgen.py +1385 -0
- pynguin-0.48.0/src/pynguin/testcase/llmlocalsearch.py +244 -0
- pynguin-0.48.0/src/pynguin/testcase/localsearch.py +306 -0
- pynguin-0.48.0/src/pynguin/testcase/localsearchobjective.py +143 -0
- pynguin-0.48.0/src/pynguin/testcase/localsearchstatement.py +921 -0
- pynguin-0.48.0/src/pynguin/testcase/localsearchtimer.py +42 -0
- pynguin-0.48.0/src/pynguin/testcase/mock_statement.py +309 -0
- pynguin-0.48.0/src/pynguin/testcase/mock_templates_store.py +23 -0
- pynguin-0.48.0/src/pynguin/testcase/subprocess_executor.py +898 -0
- pynguin-0.48.0/src/pynguin/testcase/testcase.py +959 -0
- pynguin-0.48.0/src/pynguin/testcase/testfactory.py +3508 -0
- pynguin-0.48.0/src/pynguin/utils/AGENTS.md +315 -0
- pynguin-0.48.0/src/pynguin/utils/configuration_writer.py +241 -0
- pynguin-0.48.0/src/pynguin/utils/controlflowdistance.py +290 -0
- pynguin-0.48.0/src/pynguin/utils/cst_imports.py +210 -0
- pynguin-0.48.0/src/pynguin/utils/exceptions.py +69 -0
- pynguin-0.48.0/src/pynguin/utils/execution_recorder.py +91 -0
- pynguin-0.48.0/src/pynguin/utils/generic/genericaccessibleobject.py +660 -0
- pynguin-0.48.0/src/pynguin/utils/llm.py +31 -0
- pynguin-0.48.0/src/pynguin/utils/naming.py +151 -0
- pynguin-0.48.0/src/pynguin/utils/openai_key_resolver.py +147 -0
- pynguin-0.48.0/src/pynguin/utils/pynguinml/ml_testfactory_utils.py +548 -0
- pynguin-0.48.0/src/pynguin/utils/pynguinml/ndarray_cst.py +165 -0
- pynguin-0.48.0/src/pynguin/utils/pynguinml/ndarray_mutation.py +176 -0
- pynguin-0.48.0/src/pynguin/utils/report.py +407 -0
- pynguin-0.48.0/src/pynguin/utils/statistics/outputvariablefactory.py +336 -0
- pynguin-0.48.0/src/pynguin/utils/statistics/runtimevariable.py +484 -0
- pynguin-0.48.0/src/pynguin/utils/statistics/statisticsobserver.py +88 -0
- pynguin-0.48.0/src/pynguin/utils/statistics/stats.py +545 -0
- pynguin-0.48.0/src/pynguin/utils/timeout.py +106 -0
- pynguin-0.48.0/src/pynguin/utils/type_utils.py +522 -0
- pynguin-0.48.0/src/pynguin/utils/typeevalpy_json_schema.py +487 -0
- pynguin-0.48.0/src/pynguin/utils/typetracing.py +812 -0
- pynguin-0.48.0/tests/analyses/test_ast_utils.py +111 -0
- pynguin-0.48.0/tests/analyses/test_constants.py +115 -0
- pynguin-0.48.0/tests/analyses/test_generics.py +462 -0
- pynguin-0.48.0/tests/analyses/test_initialpopulationseeding.py +307 -0
- pynguin-0.48.0/tests/analyses/test_module.py +1282 -0
- pynguin-0.48.0/tests/analyses/test_native_libraries.py +325 -0
- pynguin-0.48.0/tests/analyses/test_seeding.py +244 -0
- pynguin-0.48.0/tests/analyses/test_staticconstantseeding.py +84 -0
- pynguin-0.48.0/tests/analyses/test_string_subtype_inference.py +261 -0
- pynguin-0.48.0/tests/analyses/test_subtypes.py +155 -0
- pynguin-0.48.0/tests/analyses/test_syntaxtree.py +579 -0
- pynguin-0.48.0/tests/analyses/test_type_inference.py +348 -0
- pynguin-0.48.0/tests/analyses/test_typesystem.py +1155 -0
- pynguin-0.48.0/tests/assertion/mutation_analysis/operators/test_arithmetic.py +393 -0
- pynguin-0.48.0/tests/assertion/mutation_analysis/operators/test_exception.py +222 -0
- pynguin-0.48.0/tests/assertion/mutation_analysis/operators/test_inheritance.py +358 -0
- pynguin-0.48.0/tests/assertion/mutation_analysis/operators/test_logical.py +567 -0
- pynguin-0.48.0/tests/assertion/mutation_analysis/operators/test_misc.py +706 -0
- pynguin-0.48.0/tests/assertion/mutation_analysis/operators/test_statement.py +160 -0
- pynguin-0.48.0/tests/assertion/mutation_analysis/test_controller.py +137 -0
- pynguin-0.48.0/tests/assertion/mutation_analysis/test_mutators.py +287 -0
- pynguin-0.48.0/tests/assertion/mutation_analysis/test_strategies.py +199 -0
- pynguin-0.48.0/tests/assertion/mutation_analysis/test_transformer.py +71 -0
- pynguin-0.48.0/tests/assertion/test_assertion.py +174 -0
- pynguin-0.48.0/tests/assertion/test_assertion_generation_integration.py +1172 -0
- pynguin-0.48.0/tests/assertion/test_assertion_to_ast.py +286 -0
- pynguin-0.48.0/tests/assertion/test_assertion_trace.py +78 -0
- pynguin-0.48.0/tests/assertion/test_assertiongenerator.py +379 -0
- pynguin-0.48.0/tests/assertion/test_assertiontraceobserver.py +913 -0
- pynguin-0.48.0/tests/assertion/test_llmassertiongenerator.py +393 -0
- pynguin-0.48.0/tests/conftest.py +635 -0
- pynguin-0.48.0/tests/fixtures/accessibles/accessible.py +41 -0
- pynguin-0.48.0/tests/fixtures/branchcoverage/dict_branch.py +28 -0
- pynguin-0.48.0/tests/fixtures/cluster/async_and_sync.py +12 -0
- pynguin-0.48.0/tests/fixtures/cluster/cached_function.py +12 -0
- pynguin-0.48.0/tests/fixtures/cluster/fields.py +39 -0
- pynguin-0.48.0/tests/fixtures/cluster/generic_classes.py +45 -0
- pynguin-0.48.0/tests/fixtures/cluster/lazy_module_getattr.py +33 -0
- pynguin-0.48.0/tests/fixtures/cluster/methods.py +54 -0
- pynguin-0.48.0/tests/fixtures/cluster/rewritten_module.py +35 -0
- pynguin-0.48.0/tests/fixtures/cluster/tuple_return.py +41 -0
- pynguin-0.48.0/tests/fixtures/cluster/visibility.py +40 -0
- pynguin-0.48.0/tests/fixtures/cluster/visibility_dependency.py +11 -0
- pynguin-0.48.0/tests/fixtures/errors/timeout_error.py +9 -0
- pynguin-0.48.0/tests/fixtures/examples/abstract_classes.py +141 -0
- pynguin-0.48.0/tests/fixtures/examples/higher_order.py +20 -0
- pynguin-0.48.0/tests/fixtures/examples/no_cover_example.py +17 -0
- pynguin-0.48.0/tests/fixtures/examples/pattern_matching.py +41 -0
- pynguin-0.48.0/tests/fixtures/examples/reexport_package/__init__.py +13 -0
- pynguin-0.48.0/tests/fixtures/examples/reexport_package/widget.py +23 -0
- pynguin-0.48.0/tests/fixtures/examples/shadowed_submodule/__init__.py +13 -0
- pynguin-0.48.0/tests/fixtures/examples/shadowed_submodule/shadowed.py +15 -0
- pynguin-0.48.0/tests/fixtures/examples/submodule_package/helper.py +12 -0
- pynguin-0.48.0/tests/fixtures/examples/submodule_package/target.py +14 -0
- pynguin-0.48.0/tests/fixtures/instrumentation/if_else_targets.py +166 -0
- pynguin-0.48.0/tests/fixtures/instrumentation/simple.py +111 -0
- pynguin-0.48.0/tests/fixtures/instrumentation/unpickling.py +27 -0
- pynguin-0.48.0/tests/fixtures/mutation/busy_loop.py +11 -0
- pynguin-0.48.0/tests/fixtures/mutation/raising.py +10 -0
- pynguin-0.48.0/tests/fixtures/mutation/recursive_enum.py +30 -0
- pynguin-0.48.0/tests/fixtures/mutation/relative_package/__init__.py +13 -0
- pynguin-0.48.0/tests/fixtures/mutation/relative_package/helper.py +10 -0
- pynguin-0.48.0/tests/fixtures/programgraph/infinite_loops.py +87 -0
- pynguin-0.48.0/tests/fixtures/seeding/dynamicseeding/dynamicseedingdummies.py +17 -0
- pynguin-0.48.0/tests/fixtures/type_tracing/guess_params.py +15 -0
- pynguin-0.48.0/tests/ga/AGENTS.md +170 -0
- pynguin-0.48.0/tests/ga/algorithms/__init__.py +7 -0
- pynguin-0.48.0/tests/ga/algorithms/test_archive.py +551 -0
- pynguin-0.48.0/tests/ga/algorithms/test_dynamosaalgorithm.py +562 -0
- pynguin-0.48.0/tests/ga/algorithms/test_generationalgorithm.py +32 -0
- pynguin-0.48.0/tests/ga/algorithms/test_integration_mosaalgorithm.py +68 -0
- pynguin-0.48.0/tests/ga/algorithms/test_integration_varioussearchalgorithms.py +125 -0
- pynguin-0.48.0/tests/ga/algorithms/test_lldynamosaalgorithm.py +383 -0
- pynguin-0.48.0/tests/ga/algorithms/test_llm_async_search.py +355 -0
- pynguin-0.48.0/tests/ga/algorithms/test_llmosalgorithm.py +733 -0
- pynguin-0.48.0/tests/ga/algorithms/test_mioalgorithm.py +66 -0
- pynguin-0.48.0/tests/ga/algorithms/test_mosaalgorithm.py +52 -0
- pynguin-0.48.0/tests/ga/algorithms/test_randomalgorithm.py +193 -0
- pynguin-0.48.0/tests/ga/operators/crossover/test_singlepointrelativecrossover.py +39 -0
- pynguin-0.48.0/tests/ga/operators/ranking/test_rankingfunction.py +70 -0
- pynguin-0.48.0/tests/ga/operators/selection/test_randomselection.py +16 -0
- pynguin-0.48.0/tests/ga/operators/selection/test_rankselection.py +16 -0
- pynguin-0.48.0/tests/ga/operators/selection/test_selection.py +29 -0
- pynguin-0.48.0/tests/ga/operators/selection/test_tournamentselection.py +20 -0
- pynguin-0.48.0/tests/ga/operators/selection/test_truncationselection.py +28 -0
- pynguin-0.48.0/tests/ga/operators/test_dominancecomparator.py +48 -0
- pynguin-0.48.0/tests/ga/operators/test_preferencesortingcomparator.py +25 -0
- pynguin-0.48.0/tests/ga/stoppingconditions/__init__.py +6 -0
- pynguin-0.48.0/tests/ga/stoppingconditions/test_coverageplateaustoppingcondition.py +63 -0
- pynguin-0.48.0/tests/ga/stoppingconditions/test_maxcoveragestoppingcondition.py +59 -0
- pynguin-0.48.0/tests/ga/stoppingconditions/test_maxiterationsstoppingcondition.py +43 -0
- pynguin-0.48.0/tests/ga/stoppingconditions/test_maxmemorystoppingcondition.py +43 -0
- pynguin-0.48.0/tests/ga/stoppingconditions/test_maxstatementstoppingcondition.py +47 -0
- pynguin-0.48.0/tests/ga/stoppingconditions/test_maxtestsstoppingcondition.py +31 -0
- pynguin-0.48.0/tests/ga/stoppingconditions/test_maxtimestoppingcondition.py +42 -0
- pynguin-0.48.0/tests/ga/stoppingconditions/test_minimumcoverageplateaustoppingcondition.py +85 -0
- pynguin-0.48.0/tests/ga/stoppingconditions/test_stoppingcondition.py +39 -0
- pynguin-0.48.0/tests/ga/test_chromosome.py +62 -0
- pynguin-0.48.0/tests/ga/test_chromosomefactory.py +83 -0
- pynguin-0.48.0/tests/ga/test_computations.py +466 -0
- pynguin-0.48.0/tests/ga/test_computations_cache.py +227 -0
- pynguin-0.48.0/tests/ga/test_computations_fitness_utilities.py +324 -0
- pynguin-0.48.0/tests/ga/test_coveragegoals.py +632 -0
- pynguin-0.48.0/tests/ga/test_fine_grained_targeting.py +304 -0
- pynguin-0.48.0/tests/ga/test_fine_grained_targeting_integration.py +43 -0
- pynguin-0.48.0/tests/ga/test_generationalgorithmfactory.py +129 -0
- pynguin-0.48.0/tests/ga/test_generator.py +283 -0
- pynguin-0.48.0/tests/ga/test_llmtestsuitechromosomefactory.py +207 -0
- pynguin-0.48.0/tests/ga/test_postprocess.py +694 -0
- pynguin-0.48.0/tests/ga/test_testcasechromosome.py +676 -0
- pynguin-0.48.0/tests/ga/test_testcasefactory.py +40 -0
- pynguin-0.48.0/tests/ga/test_testsuitechromosome.py +220 -0
- pynguin-0.48.0/tests/instrumentation/__init__.py +6 -0
- pynguin-0.48.0/tests/instrumentation/test_adapters.py +1116 -0
- pynguin-0.48.0/tests/instrumentation/test_ast_info.py +864 -0
- pynguin-0.48.0/tests/instrumentation/test_cfg.py +1138 -0
- pynguin-0.48.0/tests/instrumentation/test_controldependencegraph.py +526 -0
- pynguin-0.48.0/tests/instrumentation/test_machinery.py +124 -0
- pynguin-0.48.0/tests/instrumentation/test_programgraph.py +171 -0
- pynguin-0.48.0/tests/instrumentation/test_tracer.py +899 -0
- pynguin-0.48.0/tests/instrumentation/test_type_checking_integration.py +190 -0
- pynguin-0.48.0/tests/instrumentation/test_version.py +267 -0
- pynguin-0.48.0/tests/islands/__init__.py +7 -0
- pynguin-0.48.0/tests/islands/test_aggregation.py +135 -0
- pynguin-0.48.0/tests/islands/test_island.py +262 -0
- pynguin-0.48.0/tests/islands/test_llm_worker.py +363 -0
- pynguin-0.48.0/tests/islands/test_llm_worker_algorithm.py +322 -0
- pynguin-0.48.0/tests/islands/test_llm_worker_protocol.py +85 -0
- pynguin-0.48.0/tests/islands/test_migration.py +123 -0
- pynguin-0.48.0/tests/islands/test_migration_algorithm.py +473 -0
- pynguin-0.48.0/tests/islands/test_orchestrator.py +593 -0
- pynguin-0.48.0/tests/islands/test_population_allocation.py +58 -0
- pynguin-0.48.0/tests/large_language_model/__init__.py +6 -0
- pynguin-0.48.0/tests/large_language_model/parsing/test_helpers.py +18 -0
- pynguin-0.48.0/tests/large_language_model/parsing/test_type_str_parser.py +139 -0
- pynguin-0.48.0/tests/large_language_model/prompts/test_assertiongenerationprompt.py +106 -0
- pynguin-0.48.0/tests/large_language_model/prompts/test_module_prompts.py +95 -0
- pynguin-0.48.0/tests/large_language_model/prompts/test_mutationstrengthenprompt.py +42 -0
- pynguin-0.48.0/tests/large_language_model/prompts/test_readabilityrefinementprompt.py +33 -0
- pynguin-0.48.0/tests/large_language_model/prompts/test_repairprompt.py +46 -0
- pynguin-0.48.0/tests/large_language_model/prompts/test_semanticassertionsprompt.py +33 -0
- pynguin-0.48.0/tests/large_language_model/prompts/test_testcasegenerationprompt.py +113 -0
- pynguin-0.48.0/tests/large_language_model/prompts/test_uncovered_targets_prompt.py +132 -0
- pynguin-0.48.0/tests/large_language_model/test_cache.py +147 -0
- pynguin-0.48.0/tests/large_language_model/test_caching.py +109 -0
- pynguin-0.48.0/tests/large_language_model/test_characterization.py +206 -0
- pynguin-0.48.0/tests/large_language_model/test_client_async.py +237 -0
- pynguin-0.48.0/tests/large_language_model/test_client_thinking.py +94 -0
- pynguin-0.48.0/tests/large_language_model/test_extract_python_code.py +45 -0
- pynguin-0.48.0/tests/large_language_model/test_llm_caching.py +54 -0
- pynguin-0.48.0/tests/large_language_model/test_llm_deserializer.py +1820 -0
- pynguin-0.48.0/tests/large_language_model/test_llmagent.py +311 -0
- pynguin-0.48.0/tests/large_language_model/test_llmagent_extended.py +762 -0
- pynguin-0.48.0/tests/large_language_model/test_llmtestcasehandler.py +146 -0
- pynguin-0.48.0/tests/large_language_model/test_llmtestcasehandler_coverage.py +48 -0
- pynguin-0.48.0/tests/large_language_model/test_query_strategy.py +180 -0
- pynguin-0.48.0/tests/large_language_model/test_request_budget.py +151 -0
- pynguin-0.48.0/tests/large_language_model/test_rewriter.py +984 -0
- pynguin-0.48.0/tests/large_language_model/test_temperature_fallback.py +124 -0
- pynguin-0.48.0/tests/master_worker/test_client.py +135 -0
- pynguin-0.48.0/tests/master_worker/test_master.py +115 -0
- pynguin-0.48.0/tests/mock_generation/__init__.py +6 -0
- pynguin-0.48.0/tests/mock_generation/test_context_extractor.py +357 -0
- pynguin-0.48.0/tests/mock_generation/test_dependency_analyzer.py +228 -0
- pynguin-0.48.0/tests/mock_generation/test_mock_generator.py +94 -0
- pynguin-0.48.0/tests/mock_generation/test_mock_hint_generator.py +142 -0
- pynguin-0.48.0/tests/mock_generation/test_mock_rule_generator.py +224 -0
- pynguin-0.48.0/tests/mock_generation/test_static_setups.py +205 -0
- pynguin-0.48.0/tests/mock_generation/test_untyped_param_analyzer.py +183 -0
- pynguin-0.48.0/tests/quick_eval/__init__.py +6 -0
- pynguin-0.48.0/tests/quick_eval/test_args.py +119 -0
- pynguin-0.48.0/tests/quick_eval/test_output_dir.py +53 -0
- pynguin-0.48.0/tests/quick_eval/test_stats.py +257 -0
- pynguin-0.48.0/tests/quick_eval/test_suite_project_path.py +155 -0
- pynguin-0.48.0/tests/quick_eval/test_suite_scope.py +40 -0
- pynguin-0.48.0/tests/refinement/__init__.py +6 -0
- pynguin-0.48.0/tests/refinement/test_aaa_inserter.py +107 -0
- pynguin-0.48.0/tests/refinement/test_alignment.py +59 -0
- pynguin-0.48.0/tests/refinement/test_api_signatures.py +175 -0
- pynguin-0.48.0/tests/refinement/test_ast_analyzer.py +134 -0
- pynguin-0.48.0/tests/refinement/test_coverage_checker.py +365 -0
- pynguin-0.48.0/tests/refinement/test_llm_client.py +259 -0
- pynguin-0.48.0/tests/refinement/test_llm_judge.py +208 -0
- pynguin-0.48.0/tests/refinement/test_module_mutation_strengthening.py +408 -0
- pynguin-0.48.0/tests/refinement/test_module_refinement.py +299 -0
- pynguin-0.48.0/tests/refinement/test_mutation_analyzer.py +771 -0
- pynguin-0.48.0/tests/refinement/test_pipeline.py +1296 -0
- pynguin-0.48.0/tests/refinement/test_readability_metrics.py +111 -0
- pynguin-0.48.0/tests/refinement/test_refiner.py +1020 -0
- pynguin-0.48.0/tests/refinement/test_sut_inspector.py +457 -0
- pynguin-0.48.0/tests/refinement/test_validator.py +385 -0
- pynguin-0.48.0/tests/slicer/__init__.py +6 -0
- pynguin-0.48.0/tests/slicer/test_assertionslicer.py +316 -0
- pynguin-0.48.0/tests/slicer/test_dependencies.py +474 -0
- pynguin-0.48.0/tests/slicer/test_expected_failures.py +709 -0
- pynguin-0.48.0/tests/slicer/test_language_features.py +1523 -0
- pynguin-0.48.0/tests/slicer/test_statementslicer.py +330 -0
- pynguin-0.48.0/tests/slicer/util.py +200 -0
- pynguin-0.48.0/tests/test_cli.py +390 -0
- pynguin-0.48.0/tests/test_compiled_sut_integration.py +96 -0
- pynguin-0.48.0/tests/test_generator.py +1100 -0
- pynguin-0.48.0/tests/test_random_sut_integration.py +92 -0
- pynguin-0.48.0/tests/test_reload_state_coverage_integration.py +76 -0
- pynguin-0.48.0/tests/test_shadowed_sut_integration.py +64 -0
- pynguin-0.48.0/tests/testcase/__init__.py +6 -0
- pynguin-0.48.0/tests/testcase/_builders.py +106 -0
- pynguin-0.48.0/tests/testcase/execution/__init__.py +6 -0
- pynguin-0.48.0/tests/testcase/execution/test_executedinstruction.py +22 -0
- pynguin-0.48.0/tests/testcase/execution/test_executionmocking.py +48 -0
- pynguin-0.48.0/tests/testcase/execution/test_executionresult.py +64 -0
- pynguin-0.48.0/tests/testcase/execution/test_executiontrace.py +83 -0
- pynguin-0.48.0/tests/testcase/execution/test_generator_integration.py +108 -0
- pynguin-0.48.0/tests/testcase/execution/test_moduleprovider.py +137 -0
- pynguin-0.48.0/tests/testcase/execution/test_outputsuppression.py +219 -0
- pynguin-0.48.0/tests/testcase/execution/test_returntype.py +139 -0
- pynguin-0.48.0/tests/testcase/execution/test_subprocesstestcaseexecutor.py +394 -0
- pynguin-0.48.0/tests/testcase/execution/test_subprocesstestcaseexecutor_differential.py +36 -0
- pynguin-0.48.0/tests/testcase/execution/test_subprocesstestcaseexecutor_integration.py +358 -0
- pynguin-0.48.0/tests/testcase/execution/test_testcaseexecutor_integration.py +310 -0
- pynguin-0.48.0/tests/testcase/execution/test_tuple_deconstruction_integration.py +108 -0
- pynguin-0.48.0/tests/testcase/execution/test_typetracing.py +269 -0
- pynguin-0.48.0/tests/testcase/export/__init__.py +6 -0
- pynguin-0.48.0/tests/testcase/export/conftest.py +14 -0
- pynguin-0.48.0/tests/testcase/export/test_export.py +1647 -0
- pynguin-0.48.0/tests/testcase/statements/__init__.py +6 -0
- pynguin-0.48.0/tests/testcase/test_collection_tracker.py +508 -0
- pynguin-0.48.0/tests/testcase/test_constant_seeding_integration.py +76 -0
- pynguin-0.48.0/tests/testcase/test_dict_branch_coverage_integration.py +162 -0
- pynguin-0.48.0/tests/testcase/test_literalgen.py +880 -0
- pynguin-0.48.0/tests/testcase/test_llmlocalsearch.py +214 -0
- pynguin-0.48.0/tests/testcase/test_localsearch.py +471 -0
- pynguin-0.48.0/tests/testcase/test_localsearchstatement.py +545 -0
- pynguin-0.48.0/tests/testcase/test_localsearchtimer.py +28 -0
- pynguin-0.48.0/tests/testcase/test_ml_testfactory.py +381 -0
- pynguin-0.48.0/tests/testcase/test_mock_statement.py +424 -0
- pynguin-0.48.0/tests/testcase/test_testcase.py +351 -0
- pynguin-0.48.0/tests/testcase/test_testfactory.py +1892 -0
- pynguin-0.48.0/tests/testcase/variable/__init__.py +6 -0
- pynguin-0.48.0/tests/testutils.py +258 -0
- pynguin-0.48.0/tests/utils/__init__.py +6 -0
- pynguin-0.48.0/tests/utils/generic/__init__.py +6 -0
- pynguin-0.48.0/tests/utils/generic/test_genericaccessibleobject.py +322 -0
- pynguin-0.48.0/tests/utils/pynguinml/__init__.py +6 -0
- pynguin-0.48.0/tests/utils/pynguinml/test_ml_testfactory_utils.py +380 -0
- pynguin-0.48.0/tests/utils/pynguinml/test_ml_testing_resources.py +259 -0
- pynguin-0.48.0/tests/utils/pynguinml/test_pynguinml_integration.py +61 -0
- pynguin-0.48.0/tests/utils/stats/__init__.py +6 -0
- pynguin-0.48.0/tests/utils/stats/test_outputvariablefactory.py +210 -0
- pynguin-0.48.0/tests/utils/stats/test_runtimevariable.py +82 -0
- pynguin-0.48.0/tests/utils/stats/test_searchstatistics.py +193 -0
- pynguin-0.48.0/tests/utils/stats/test_statistics.py +26 -0
- pynguin-0.48.0/tests/utils/test_configuration_writer.py +1121 -0
- pynguin-0.48.0/tests/utils/test_controlflowdistance.py +286 -0
- pynguin-0.48.0/tests/utils/test_execution_recorder.py +80 -0
- pynguin-0.48.0/tests/utils/test_logging_utils.py +115 -0
- pynguin-0.48.0/tests/utils/test_naming.py +71 -0
- pynguin-0.48.0/tests/utils/test_report.py +546 -0
- pynguin-0.48.0/tests/utils/test_string_subtype_integration.py +61 -0
- pynguin-0.48.0/tests/utils/test_timeout.py +81 -0
- pynguin-0.48.0/tests/utils/test_type_utils.py +549 -0
- pynguin-0.48.0/tests/utils/test_typeevalpy_integration.py +233 -0
- pynguin-0.48.0/tests/utils/test_typeevalpy_json_schema.py +439 -0
- pynguin-0.48.0/tests/utils/test_typetracing.py +689 -0
- pynguin-0.48.0/tests/utils/utils.py +115 -0
- pynguin-0.46.0.dev0/PKG-INFO +0 -234
- pynguin-0.46.0.dev0/README.md +0 -169
- pynguin-0.46.0.dev0/pyproject.toml +0 -294
- pynguin-0.46.0.dev0/src/pynguin/__version__.py +0 -9
- pynguin-0.46.0.dev0/src/pynguin/analyses/constants.py +0 -374
- pynguin-0.46.0.dev0/src/pynguin/analyses/generator.py +0 -474
- pynguin-0.46.0.dev0/src/pynguin/analyses/module.py +0 -2053
- pynguin-0.46.0.dev0/src/pynguin/analyses/syntaxtree.py +0 -559
- pynguin-0.46.0.dev0/src/pynguin/analyses/type_inference.py +0 -675
- pynguin-0.46.0.dev0/src/pynguin/analyses/typesystem.py +0 -2139
- pynguin-0.46.0.dev0/src/pynguin/analysis/__init__.py +0 -26
- pynguin-0.46.0.dev0/src/pynguin/analysis/models.py +0 -105
- pynguin-0.46.0.dev0/src/pynguin/analysis/module_analyzer.py +0 -525
- pynguin-0.46.0.dev0/src/pynguin/analysis/type_utils.py +0 -101
- pynguin-0.46.0.dev0/src/pynguin/assertion/assertion.py +0 -304
- pynguin-0.46.0.dev0/src/pynguin/assertion/assertion_to_cst.py +0 -243
- pynguin-0.46.0.dev0/src/pynguin/assertion/assertion_trace.py +0 -82
- pynguin-0.46.0.dev0/src/pynguin/assertion/assertiongenerator.py +0 -140
- pynguin-0.46.0.dev0/src/pynguin/assertion/assertiontraceobserver.py +0 -164
- pynguin-0.46.0.dev0/src/pynguin/assertion/mutation_analysis/controller.py +0 -90
- pynguin-0.46.0.dev0/src/pynguin/assertion/mutation_analysis/mutators.py +0 -121
- pynguin-0.46.0.dev0/src/pynguin/assertion/mutation_analysis/operators/__init__.py +0 -77
- pynguin-0.46.0.dev0/src/pynguin/assertion/mutation_analysis/operators/arithmetic.py +0 -233
- pynguin-0.46.0.dev0/src/pynguin/assertion/mutation_analysis/operators/exception.py +0 -86
- pynguin-0.46.0.dev0/src/pynguin/assertion/mutation_analysis/operators/inheritance.py +0 -378
- pynguin-0.46.0.dev0/src/pynguin/assertion/mutation_analysis/operators/logical.py +0 -300
- pynguin-0.46.0.dev0/src/pynguin/assertion/mutation_analysis/operators/loop.py +0 -128
- pynguin-0.46.0.dev0/src/pynguin/assertion/mutation_analysis/operators/misc.py +0 -235
- pynguin-0.46.0.dev0/src/pynguin/assertion/mutation_analysis/transformer.py +0 -101
- pynguin-0.46.0.dev0/src/pynguin/cli.py +0 -273
- pynguin-0.46.0.dev0/src/pynguin/configuration.py +0 -1037
- pynguin-0.46.0.dev0/src/pynguin/evolution/__init__.py +0 -7
- pynguin-0.46.0.dev0/src/pynguin/evolution/algorithms/__init__.py +0 -28
- pynguin-0.46.0.dev0/src/pynguin/evolution/algorithms/archive.py +0 -142
- pynguin-0.46.0.dev0/src/pynguin/evolution/algorithms/base.py +0 -111
- pynguin-0.46.0.dev0/src/pynguin/evolution/algorithms/codamosa.py +0 -58
- pynguin-0.46.0.dev0/src/pynguin/evolution/algorithms/dynamosa.py +0 -459
- pynguin-0.46.0.dev0/src/pynguin/evolution/algorithms/mio.py +0 -172
- pynguin-0.46.0.dev0/src/pynguin/evolution/algorithms/observer.py +0 -83
- pynguin-0.46.0.dev0/src/pynguin/evolution/algorithms/random.py +0 -139
- pynguin-0.46.0.dev0/src/pynguin/evolution/algorithms/stopping_conditions.py +0 -170
- pynguin-0.46.0.dev0/src/pynguin/evolution/algorithms/wholesuite.py +0 -194
- pynguin-0.46.0.dev0/src/pynguin/evolution/chromosomes/__init__.py +0 -13
- pynguin-0.46.0.dev0/src/pynguin/evolution/chromosomes/base.py +0 -35
- pynguin-0.46.0.dev0/src/pynguin/evolution/chromosomes/individual.py +0 -50
- pynguin-0.46.0.dev0/src/pynguin/evolution/chromosomes/suite.py +0 -138
- pynguin-0.46.0.dev0/src/pynguin/evolution/factory.py +0 -78
- pynguin-0.46.0.dev0/src/pynguin/evolution/fitness/__init__.py +0 -25
- pynguin-0.46.0.dev0/src/pynguin/evolution/fitness/base.py +0 -65
- pynguin-0.46.0.dev0/src/pynguin/evolution/fitness/coverage.py +0 -245
- pynguin-0.46.0.dev0/src/pynguin/evolution/minimization.py +0 -289
- pynguin-0.46.0.dev0/src/pynguin/evolution/operators/__init__.py +0 -7
- pynguin-0.46.0.dev0/src/pynguin/evolution/operators/crossover.py +0 -201
- pynguin-0.46.0.dev0/src/pynguin/evolution/operators/mutation.py +0 -245
- pynguin-0.46.0.dev0/src/pynguin/evolution/operators/selection.py +0 -63
- pynguin-0.46.0.dev0/src/pynguin/execution/__init__.py +0 -7
- pynguin-0.46.0.dev0/src/pynguin/execution/executor.py +0 -270
- pynguin-0.46.0.dev0/src/pynguin/execution/isolation.py +0 -313
- pynguin-0.46.0.dev0/src/pynguin/execution/observer.py +0 -40
- pynguin-0.46.0.dev0/src/pynguin/execution/subprocess_executor.py +0 -235
- pynguin-0.46.0.dev0/src/pynguin/generator.py +0 -609
- pynguin-0.46.0.dev0/src/pynguin/instrumentation/controlflow.py +0 -926
- pynguin-0.46.0.dev0/src/pynguin/instrumentation/machinery.py +0 -294
- pynguin-0.46.0.dev0/src/pynguin/instrumentation/tracer.py +0 -1658
- pynguin-0.46.0.dev0/src/pynguin/instrumentation/transformer.py +0 -1495
- pynguin-0.46.0.dev0/src/pynguin/instrumentation/version/__init__.py +0 -237
- pynguin-0.46.0.dev0/src/pynguin/instrumentation/version/common.py +0 -363
- pynguin-0.46.0.dev0/src/pynguin/instrumentation/version/python3_10.py +0 -2004
- pynguin-0.46.0.dev0/src/pynguin/instrumentation/version/python3_11.py +0 -644
- pynguin-0.46.0.dev0/src/pynguin/instrumentation/version/python3_12.py +0 -600
- pynguin-0.46.0.dev0/src/pynguin/instrumentation/version/python3_13.py +0 -438
- pynguin-0.46.0.dev0/src/pynguin/instrumentation/version/python3_14.py +0 -314
- pynguin-0.46.0.dev0/src/pynguin/output/__init__.py +0 -7
- pynguin-0.46.0.dev0/src/pynguin/output/writer.py +0 -329
- pynguin-0.46.0.dev0/src/pynguin/testcase/AGENTS.md +0 -274
- pynguin-0.46.0.dev0/src/pynguin/testcase/testcase.py +0 -291
- pynguin-0.46.0.dev0/src/pynguin/testcase/testfactory.py +0 -740
- pynguin-0.46.0.dev0/src/pynguin/utils/AGENTS.md +0 -354
- pynguin-0.46.0.dev0/src/pynguin/utils/ast_util.py +0 -218
- pynguin-0.46.0.dev0/src/pynguin/utils/configuration_writer.py +0 -241
- pynguin-0.46.0.dev0/src/pynguin/utils/controlflowdistance.py +0 -219
- pynguin-0.46.0.dev0/src/pynguin/utils/exceptions.py +0 -56
- pynguin-0.46.0.dev0/src/pynguin/utils/execution_recorder.py +0 -90
- pynguin-0.46.0.dev0/src/pynguin/utils/generic/genericaccessibleobject.py +0 -591
- pynguin-0.46.0.dev0/src/pynguin/utils/llm.py +0 -165
- pynguin-0.46.0.dev0/src/pynguin/utils/naming.py +0 -21
- pynguin-0.46.0.dev0/src/pynguin/utils/namingscope.py +0 -191
- pynguin-0.46.0.dev0/src/pynguin/utils/openai_key_resolver.py +0 -141
- pynguin-0.46.0.dev0/src/pynguin/utils/pynguinml/ml_testfactory_utils.py +0 -519
- pynguin-0.46.0.dev0/src/pynguin/utils/report.py +0 -451
- pynguin-0.46.0.dev0/src/pynguin/utils/statistics/outputvariablefactory.py +0 -314
- pynguin-0.46.0.dev0/src/pynguin/utils/statistics/runtimevariable.py +0 -307
- pynguin-0.46.0.dev0/src/pynguin/utils/statistics/statisticsobserver.py +0 -110
- pynguin-0.46.0.dev0/src/pynguin/utils/statistics/stats.py +0 -488
- pynguin-0.46.0.dev0/src/pynguin/utils/type_utils.py +0 -406
- pynguin-0.46.0.dev0/src/pynguin/utils/typeevalpy_json_schema.py +0 -474
- pynguin-0.46.0.dev0/src/pynguin/utils/typetracing.py +0 -788
- pynguin-0.46.0.dev0/tests/analyses/test_constants.py +0 -101
- pynguin-0.46.0.dev0/tests/analyses/test_staticconstantseeding.py +0 -46
- pynguin-0.46.0.dev0/tests/analyses/test_string_subtype_inference.py +0 -198
- pynguin-0.46.0.dev0/tests/analyses/test_syntaxtree.py +0 -582
- pynguin-0.46.0.dev0/tests/analyses/test_type_inference.py +0 -134
- pynguin-0.46.0.dev0/tests/analysis/test_module_analyzer.py +0 -131
- pynguin-0.46.0.dev0/tests/assertion/mutation_analysis/operators/test_arithmetic.py +0 -289
- pynguin-0.46.0.dev0/tests/assertion/mutation_analysis/operators/test_exception.py +0 -130
- pynguin-0.46.0.dev0/tests/assertion/mutation_analysis/operators/test_inheritance.py +0 -328
- pynguin-0.46.0.dev0/tests/assertion/mutation_analysis/operators/test_logical.py +0 -487
- pynguin-0.46.0.dev0/tests/assertion/mutation_analysis/operators/test_misc.py +0 -290
- pynguin-0.46.0.dev0/tests/assertion/mutation_analysis/test_controller.py +0 -70
- pynguin-0.46.0.dev0/tests/assertion/mutation_analysis/test_mutators.py +0 -152
- pynguin-0.46.0.dev0/tests/assertion/mutation_analysis/test_strategies.py +0 -199
- pynguin-0.46.0.dev0/tests/assertion/test_assertion.py +0 -161
- pynguin-0.46.0.dev0/tests/assertion/test_assertion_trace.py +0 -76
- pynguin-0.46.0.dev0/tests/assertion/test_assertiongenerator.py +0 -38
- pynguin-0.46.0.dev0/tests/conftest.py +0 -440
- pynguin-0.46.0.dev0/tests/evolution/test_chromosomes.py +0 -146
- pynguin-0.46.0.dev0/tests/execution/test_executor.py +0 -170
- pynguin-0.46.0.dev0/tests/fixtures/accessibles/accessible.py +0 -19
- pynguin-0.46.0.dev0/tests/fixtures/instrumentation/simple.py +0 -78
- pynguin-0.46.0.dev0/tests/fixtures/seeding/dynamicseeding/dynamicseedingdummies.py +0 -12
- pynguin-0.46.0.dev0/tests/fixtures/type_tracing/guess_params.py +0 -11
- pynguin-0.46.0.dev0/tests/instrumentation/test_ast_info.py +0 -468
- pynguin-0.46.0.dev0/tests/instrumentation/test_cfg.py +0 -1098
- pynguin-0.46.0.dev0/tests/instrumentation/test_controldependencegraph.py +0 -507
- pynguin-0.46.0.dev0/tests/instrumentation/test_machinery.py +0 -122
- pynguin-0.46.0.dev0/tests/instrumentation/test_programgraph.py +0 -113
- pynguin-0.46.0.dev0/tests/instrumentation/test_tracer.py +0 -711
- pynguin-0.46.0.dev0/tests/instrumentation/test_version.py +0 -208
- pynguin-0.46.0.dev0/tests/master_worker/test_client.py +0 -130
- pynguin-0.46.0.dev0/tests/master_worker/test_master.py +0 -113
- pynguin-0.46.0.dev0/tests/resources/__init__.py +0 -0
- pynguin-0.46.0.dev0/tests/resources/typeevalpy/__init__.py +0 -0
- pynguin-0.46.0.dev0/tests/test_cli.py +0 -390
- pynguin-0.46.0.dev0/tests/testcase/test_new_testcase.py +0 -161
- pynguin-0.46.0.dev0/tests/testcase/test_testfactory_static.py +0 -144
- pynguin-0.46.0.dev0/tests/testutils.py +0 -245
- pynguin-0.46.0.dev0/tests/utils/generic/test_genericaccessibleobject.py +0 -191
- pynguin-0.46.0.dev0/tests/utils/pynguinml/test_ml_testing_resources.py +0 -259
- pynguin-0.46.0.dev0/tests/utils/stats/test_runtimevariable.py +0 -41
- pynguin-0.46.0.dev0/tests/utils/stats/test_statistics.py +0 -17
- pynguin-0.46.0.dev0/tests/utils/test_configuration_writer.py +0 -913
- pynguin-0.46.0.dev0/tests/utils/test_logging_utils.py +0 -117
- pynguin-0.46.0.dev0/tests/utils/test_type_utils.py +0 -325
- pynguin-0.46.0.dev0/tests/utils/test_typetracing.py +0 -689
- pynguin-0.46.0.dev0/tests/utils/utils.py +0 -46
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/LICENSE.rst +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/LICENSES/Apache-2.0.txt +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/LICENSES/BSD-2-Clause.txt +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/LICENSES/CC-BY-4.0.txt +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/LICENSES/CC0-1.0.txt +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/LICENSES/MIT.txt +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/__main__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/analyses/AGENTS.md +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/analyses/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/analyses/modulecomplexity.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/analyses/string_subtype_inference.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/analyses/string_subtypes.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/assertion/AGENTS.md +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/assertion/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/assertion/mutation_analysis/AGENTS.md +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/assertion/mutation_analysis/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/assertion/mutation_analysis/operators/AGENTS.md +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/assertion/mutation_analysis/operators/base.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/assertion/mutation_analysis/operators/decorator.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/assertion/mutation_analysis/strategies.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/instrumentation/AGENTS.md +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/instrumentation/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/instrumentation/version/AGENTS.md +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/master_worker/AGENTS.md +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/master_worker/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/master_worker/client.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/master_worker/master.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/master_worker/worker.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/resources/AGENTS.md +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/resources/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/resources/coverage-template.html +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/resources/fans/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/resources/fans/camel_case.fan +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/resources/fans/colour.fan +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/resources/fans/csv.fan +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/resources/fans/delimited.fan +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/resources/fans/email.fan +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/resources/fans/faker/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/resources/fans/faker/camel_case.fan +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/resources/fans/faker/colour.fan +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/resources/fans/faker/csv.fan +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/resources/fans/faker/delimited.fan +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/resources/fans/faker/email.fan +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/resources/fans/faker/ipv4.fan +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/resources/fans/faker/standard_date.fan +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/resources/fans/faker/unix_path.fan +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/resources/fans/faker/xml.fan +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/resources/fans/ipv4.fan +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/resources/fans/numeric.fan +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/resources/fans/standard_date.fan +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/resources/fans/unix_path.fan +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/resources/fans/xml.fan +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/testcase/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/utils/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/utils/atomicinteger.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/utils/collection_utils.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/utils/fandango_faker_utils.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/utils/fs_isolation.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/utils/generic/AGENTS.md +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/utils/generic/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/utils/logging_utils.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/utils/mirror.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/utils/mutation_utils.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/utils/orderedset.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/utils/pynguinml/AGENTS.md +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/utils/pynguinml/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/utils/pynguinml/ml_parsing_utils.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/utils/pynguinml/ml_testing_resources.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/utils/pynguinml/mlparameter.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/utils/pynguinml/np_rng.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/utils/randomness.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/utils/statistics/AGENTS.md +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/utils/statistics/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/src/pynguin/utils/statistics/statisticsbackend.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/AGENTS.md +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/analyses/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/analyses/test_modulecomplexity.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/analyses/test_string_subtypes.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/analyses/test_typesystem_string_subtypes.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/assertion/AGENTS.md +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/assertion/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/assertion/mutation_analysis/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/assertion/mutation_analysis/operators/AGENTS.md +0 -0
- {pynguin-0.46.0.dev0/tests/analysis → pynguin-0.48.0/tests/assertion/mutation_analysis/operators}/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/assertion/mutation_analysis/operators/test_decorator.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/assertion/mutation_analysis/operators/test_loop.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/AGENTS.md +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/accessibles/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/branchcoverage/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/branchcoverage/nestedbranches.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/branchcoverage/nobranches.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/branchcoverage/simplenesting.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/branchcoverage/singlebranches.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/branchcoverage/twomethodsinglebranches.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/c/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/c/my_ctypes.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/cluster/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/cluster/abstract.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/cluster/alias_module.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/cluster/async_class_gen.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/cluster/async_class_method.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/cluster/async_func.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/cluster/async_gen.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/cluster/attributes.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/cluster/blacklist.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/cluster/blacklist_transitive.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/cluster/comments.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/cluster/complex_dependencies.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/cluster/complex_dependency.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/cluster/conditional_import.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/cluster/dependency.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/cluster/diamond_bottom.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/cluster/diamond_left.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/cluster/diamond_right.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/cluster/diamond_top.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/cluster/enums.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/cluster/import_dependency.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/cluster/inheritance.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/cluster/lambda.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/cluster/nested_functions.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/cluster/no_any_annotations.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/cluster/no_dependencies.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/cluster/overridden_inherited_methods.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/cluster/simple_dependencies.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/cluster/typing_parameters.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/cluster/uses_async_dependency.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/crash/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/crash/partly_crashing.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/crash/seg_fault.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/duckmock/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/duckmock/complex.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/errors/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/errors/import_error.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/examples/AGENTS.md +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/examples/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/examples/assertions.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/examples/basket.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/examples/calculator.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/examples/calculator_simple.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/examples/collections.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/examples/constructors.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/examples/difficult.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/examples/dummies.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/examples/dynamosa_example.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/examples/enums.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/examples/exceptions.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/examples/flaky.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/examples/impossible.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/examples/inheritance.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/examples/loop.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/examples/module_alias.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/examples/monkey.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/examples/nested.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/examples/objects.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/examples/private_methods.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/examples/queue.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/examples/simple.py +0 -0
- {pynguin-0.46.0.dev0/tests/fixtures/examples/type_tracing → pynguin-0.48.0/tests/fixtures/examples/submodule_package}/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/examples/triangle.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/examples/type_inference.py +0 -0
- {pynguin-0.46.0.dev0/tests/fixtures/grammar → pynguin-0.48.0/tests/fixtures/examples/type_tracing}/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/examples/type_tracing/geometry.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/examples/type_tracing/invoice.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/examples/type_tracing/large_test_cluster.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/examples/type_tracing/mixed.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/examples/type_tracing/string_subtype.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/examples/unasserted_exceptions.py +0 -0
- {pynguin-0.46.0.dev0/tests/fixtures/instrumentation → pynguin-0.48.0/tests/fixtures/grammar}/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/grammar/parameters.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/instrumentation/AGENTS.md +0 -0
- {pynguin-0.46.0.dev0/tests/fixtures/linecoverage → pynguin-0.48.0/tests/fixtures/instrumentation}/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/instrumentation/comparison.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/instrumentation/covered_branches.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/instrumentation/covered_classes.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/instrumentation/covered_functions.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/instrumentation/covered_lines.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/instrumentation/excluded_blocks.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/instrumentation/inherited.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/instrumentation/mixed.py +0 -0
- {pynguin-0.46.0.dev0/tests/fixtures/mutation → pynguin-0.48.0/tests/fixtures/linecoverage}/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/linecoverage/artificial_none.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/linecoverage/emptyfile.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/linecoverage/exception.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/linecoverage/list.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/linecoverage/plus.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/linecoverage/setter_getter.py +0 -0
- {pynguin-0.46.0.dev0/tests/fixtures/programgraph → pynguin-0.48.0/tests/fixtures/mutation}/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/mutation/exception.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/mutation/expected.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/mutation/mutation.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/mutation/timeout.py +0 -0
- {pynguin-0.46.0.dev0/tests/fixtures/regression → pynguin-0.48.0/tests/fixtures/programgraph}/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/programgraph/samples.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/programgraph/whileloop.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/programgraph/yield_fun.py +0 -0
- {pynguin-0.46.0.dev0/tests/fixtures/seeding → pynguin-0.48.0/tests/fixtures/regression}/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/regression/argparse_sys_exit.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/regression/custom_error.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/regression/not_main.py +0 -0
- {pynguin-0.46.0.dev0/tests/fixtures/seeding/dynamicseeding → pynguin-0.48.0/tests/fixtures/seeding}/__init__.py +0 -0
- {pynguin-0.46.0.dev0/tests/fixtures/seeding/initialpopulationseeding → pynguin-0.48.0/tests/fixtures/seeding/dynamicseeding}/__init__.py +0 -0
- {pynguin-0.46.0.dev0/tests/fixtures/seeding/initialpopulationseeding/seedmodules → pynguin-0.48.0/tests/fixtures/seeding/initialpopulationseeding}/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/seeding/initialpopulationseeding/dummycontainer.py +0 -0
- {pynguin-0.46.0.dev0/tests/fixtures/seeding/staticconstantseeding → pynguin-0.48.0/tests/fixtures/seeding/initialpopulationseeding/seedmodules}/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/seeding/initialpopulationseeding/seedmodules/assertseed_test_.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/seeding/initialpopulationseeding/seedmodules/classseed_test_.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/seeding/initialpopulationseeding/seedmodules/collfuncseed_test_.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/seeding/initialpopulationseeding/seedmodules/collseed_test_.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/seeding/initialpopulationseeding/seedmodules/nestedseed_test_.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/seeding/initialpopulationseeding/seedmodules/notknowncall_test_.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/seeding/initialpopulationseeding/seedmodules/notprimseed_test_.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/seeding/initialpopulationseeding/seedmodules/primitiveseed_test_.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/seeding/initialpopulationseeding/seedmodules/triangleseed_test_.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/seeding/initialpopulationseeding/seedmodules/wrongassignseed_test_.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/seeding/initialpopulationseeding/seedmodules/wrongfunctionnameseed_test_.py +0 -0
- {pynguin-0.46.0.dev0/tests/fixtures/seeding/staticconstantseeding/dummy → pynguin-0.48.0/tests/fixtures/seeding/staticconstantseeding}/__init__.py +0 -0
- {pynguin-0.46.0.dev0/tests/fixtures/slicer → pynguin-0.48.0/tests/fixtures/seeding/staticconstantseeding/dummy}/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/seeding/staticconstantseeding/dummy/dummy.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/seeding/staticconstantseeding/dummy/empty.so +0 -0
- {pynguin-0.46.0.dev0/tests/fixtures/type_tracing → pynguin-0.48.0/tests/fixtures/slicer}/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/slicer/attribute_dependencies.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/slicer/closure.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/slicer/generator.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/slicer/immutable_attribute_dependency.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/slicer/import_star_def.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/slicer/import_star_main.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/slicer/partial_cover_dependency.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/slicer/simple_call.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/slicer/simple_call_arg.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/test.conf +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/test.conf.license +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/tests/typeinference/test_stubstrategy.pyi +0 -0
- {pynguin-0.46.0.dev0/tests/fixtures/types → pynguin-0.48.0/tests/fixtures/type_tracing}/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/type_tracing/return_types.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/type_tracing/union_type.py +0 -0
- {pynguin-0.46.0.dev0/tests/instrumentation → pynguin-0.48.0/tests/fixtures/types}/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/types/outside.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/types/subtyping.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/fixtures/types/symbols.py +0 -0
- {pynguin-0.46.0.dev0/tests/testcase → pynguin-0.48.0/tests/ga}/__init__.py +0 -0
- {pynguin-0.46.0.dev0/tests/utils → pynguin-0.48.0/tests/ga/operators}/__init__.py +0 -0
- {pynguin-0.46.0.dev0/tests/utils/generic → pynguin-0.48.0/tests/ga/operators/crossover}/__init__.py +0 -0
- {pynguin-0.46.0.dev0/tests/utils/pynguinml → pynguin-0.48.0/tests/ga/operators/ranking}/__init__.py +0 -0
- {pynguin-0.46.0.dev0/tests/utils/stats → pynguin-0.48.0/tests/ga/operators/selection}/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/instrumentation/AGENTS.md +0 -0
- {pynguin-0.46.0.dev0/tests/assertion/mutation_analysis/operators → pynguin-0.48.0/tests/large_language_model/prompts}/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/master_worker/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/master_worker/test_worker.py +0 -0
- {pynguin-0.46.0.dev0/tests/evolution → pynguin-0.48.0/tests/resources}/__init__.py +0 -0
- {pynguin-0.46.0.dev0/tests/execution → pynguin-0.48.0/tests/resources/typeevalpy}/__init__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/resources/typeevalpy/dummy.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/resources/typeevalpy/dummy_gt.json +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/resources/typeevalpy/dummy_gt.json.license +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/test___main__.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/testcase/AGENTS.md +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/utils/pynguinml/test_ml_parsing_utils.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/utils/pynguinml/test_mlparameter.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/utils/pynguinml/test_np_rng.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/utils/stats/test_statisticsbackend.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/utils/test_atomicinteger.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/utils/test_collection_utils.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/utils/test_exceptions.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/utils/test_fandango_faker_utils.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/utils/test_fs_isolation.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/utils/test_llm.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/utils/test_mirror.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/utils/test_mutation_utils.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/utils/test_orderedset.py +0 -0
- {pynguin-0.46.0.dev0 → pynguin-0.48.0}/tests/utils/test_randomness.py +0 -0
pynguin-0.48.0/PKG-INFO
ADDED
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
|
+
Name: pynguin
|
|
3
|
+
Version: 0.48.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.16
|
|
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 :: 3.11
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
24
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
25
|
+
Classifier: Programming Language :: Python :: 3.15
|
|
26
|
+
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
27
|
+
Classifier: Topic :: Education :: Testing
|
|
28
|
+
Classifier: Topic :: Software Development :: Testing
|
|
29
|
+
Classifier: Topic :: Software Development :: Testing :: Unit
|
|
30
|
+
Classifier: Typing :: Typed
|
|
31
|
+
Provides-Extra: fandango-faker
|
|
32
|
+
Provides-Extra: numpy
|
|
33
|
+
Provides-Extra: openai
|
|
34
|
+
Provides-Extra: typing
|
|
35
|
+
Requires-Dist: Jinja2 (>=3.1.6,<4.0.0)
|
|
36
|
+
Requires-Dist: Pygments (>=2.19.2,<3.0.0)
|
|
37
|
+
Requires-Dist: black (>=25.1.0,<26.0.0)
|
|
38
|
+
Requires-Dist: bytecode (==0.17.0) ; python_version < "3.15"
|
|
39
|
+
Requires-Dist: bytecode (==0.19.1) ; python_version >= "3.15"
|
|
40
|
+
Requires-Dist: dill (>=0.4.0,<0.5.0)
|
|
41
|
+
Requires-Dist: faker (>=37.3.0,<38.0.0) ; extra == "fandango-faker"
|
|
42
|
+
Requires-Dist: fandango-fuzzer (>=0.8.2,<0.9.0) ; extra == "fandango-faker"
|
|
43
|
+
Requires-Dist: httpx (>=0.28.1,<0.29.0) ; extra == "openai"
|
|
44
|
+
Requires-Dist: libcst (>=1.7.0,<2.0.0)
|
|
45
|
+
Requires-Dist: multiprocess (>=0.70.18,<0.71.0)
|
|
46
|
+
Requires-Dist: mypy (>=1.15.0,<2.0.0) ; extra == "typing"
|
|
47
|
+
Requires-Dist: networkx (>=3.4.2,<4.0.0)
|
|
48
|
+
Requires-Dist: numpy (>=1.26.4,<2.0.0) ; extra == "numpy"
|
|
49
|
+
Requires-Dist: openai (>=1.72.0,<2.0.0) ; extra == "openai"
|
|
50
|
+
Requires-Dist: psutil (>=7.1.1,<8.0.0)
|
|
51
|
+
Requires-Dist: pytest (>=8.3.5,<9.0.0)
|
|
52
|
+
Requires-Dist: python-dotenv (>=1.0.0,<2.0.0) ; extra == "openai"
|
|
53
|
+
Requires-Dist: pyyaml (>=6.0.2,<7.0.0) ; extra == "openai"
|
|
54
|
+
Requires-Dist: rich (>=14.0.0,<15.0.0)
|
|
55
|
+
Requires-Dist: rstr (>=3.2.2,<4.0.0)
|
|
56
|
+
Requires-Dist: setuptools (>=80.9.0,<81.0.0)
|
|
57
|
+
Requires-Dist: simple-parsing (>=0.1.7,<0.2.0)
|
|
58
|
+
Requires-Dist: toml (>=0.10.2,<0.11.0)
|
|
59
|
+
Requires-Dist: typeshed-client (>=2.13.0,<3.0.0)
|
|
60
|
+
Requires-Dist: typing-extensions (>=4.12.2,<5.0.0) ; extra == "typing"
|
|
61
|
+
Project-URL: Documentation, https://pynguin.readthedocs.io
|
|
62
|
+
Project-URL: Homepage, https://www.pynguin.eu
|
|
63
|
+
Project-URL: Repository, https://github.com/se2p/pynguin
|
|
64
|
+
Description-Content-Type: text/markdown
|
|
65
|
+
|
|
66
|
+
<!--
|
|
67
|
+
SPDX-FileCopyrightText: 2019–2026 Pynguin Contributors
|
|
68
|
+
|
|
69
|
+
SPDX-License-Identifier: CC-BY-4.0
|
|
70
|
+
-->
|
|
71
|
+
|
|
72
|
+
# Pynguin
|
|
73
|
+
|
|
74
|
+
Pynguin (IPA: ˈpɪŋɡuiːn),
|
|
75
|
+
the
|
|
76
|
+
PYthoN
|
|
77
|
+
General
|
|
78
|
+
UnIt
|
|
79
|
+
test
|
|
80
|
+
geNerator,
|
|
81
|
+
is a tool that allows developers to generate unit tests automatically.
|
|
82
|
+
|
|
83
|
+
Testing software is often considered to be a tedious task.
|
|
84
|
+
Thus, automated generation techniques have been proposed and mature tools exist—for
|
|
85
|
+
statically typed languages, such as Java.
|
|
86
|
+
There is, however, no fully automated tool available that produces unit tests for
|
|
87
|
+
general-purpose programs in a dynamically typed language.
|
|
88
|
+
Pynguin is, to the best of our knowledge, the first tool that fills this gap
|
|
89
|
+
and allows the automated generation of unit tests for Python programs.
|
|
90
|
+
|
|
91
|
+
<details>
|
|
92
|
+
<summary>Internal Pipeline Status</summary>
|
|
93
|
+
|
|
94
|
+
[](https://gitlab.infosun.fim.uni-passau.de/se2/pynguin/pynguin/-/commits/main)
|
|
95
|
+
[](https://gitlab.infosun.fim.uni-passau.de/se2/pynguin/pynguin/-/commits/main)
|
|
96
|
+
|
|
97
|
+
</details>
|
|
98
|
+
|
|
99
|
+
[](https://opensource.org/licenses/MIT)
|
|
100
|
+
[](https://github.com/astral-sh/ruff)
|
|
101
|
+
[](https://badge.fury.io/py/pynguin)
|
|
102
|
+
[](https://github.com/se2p/pynguin)
|
|
103
|
+
[](https://pynguin.readthedocs.io/)
|
|
104
|
+
[](https://doi.org/10.5281/zenodo.3989840)
|
|
105
|
+
[](https://api.reuse.software/info/github.com/se2p/pynguin)
|
|
106
|
+
[](https://pepy.tech/project/pynguin)
|
|
107
|
+
[](https://archive.softwareheritage.org/browse/origin/?origin_url=https://github.com/se2p/pynguin)
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+

|
|
111
|
+
|
|
112
|
+
## Attention
|
|
113
|
+
|
|
114
|
+
*Please Note:*
|
|
115
|
+
|
|
116
|
+
**Pynguin executes the module under test!**
|
|
117
|
+
As a consequence, depending on what code is in that module,
|
|
118
|
+
running Pynguin can cause serious harm to your computer,
|
|
119
|
+
for example, wipe your entire hard disk!
|
|
120
|
+
We recommend running Pynguin in an isolated environment;
|
|
121
|
+
use, for example, a Docker container to minimize the risk of damaging
|
|
122
|
+
your system.
|
|
123
|
+
|
|
124
|
+
**Pynguin is only a research prototype!**
|
|
125
|
+
It is not tailored towards production use whatsoever.
|
|
126
|
+
However, we would love to see Pynguin in a production-ready stage at some point;
|
|
127
|
+
please report your experiences in using Pynguin to us.
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
## Prerequisites
|
|
131
|
+
|
|
132
|
+
Before you begin, ensure you have met the following requirements:
|
|
133
|
+
- You have installed Python 3.10 (the support for 3.11, 3.12, 3.13, 3.14, and 3.15 is experimental).
|
|
134
|
+
|
|
135
|
+
**Attention:** Pynguin now requires at least Python 3.10! Older versions are no longer
|
|
136
|
+
supported!
|
|
137
|
+
- You have a recent Linux/macOS/Windows machine.
|
|
138
|
+
|
|
139
|
+
Please consider reading the [online documentation](https://pynguin.readthedocs.io)
|
|
140
|
+
to start your Pynguin adventure.
|
|
141
|
+
|
|
142
|
+
## Installing Pynguin
|
|
143
|
+
|
|
144
|
+
Pynguin can be easily installed using the `pip` tool by typing:
|
|
145
|
+
```bash
|
|
146
|
+
pip install pynguin
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
Make sure that your version of `pip` is that of a supported Python version, as any
|
|
150
|
+
older version is not supported by Pynguin!
|
|
151
|
+
|
|
152
|
+
## Using Pynguin
|
|
153
|
+
|
|
154
|
+
Before you continue, please read the [quick start guide](https://pynguin.readthedocs.io/latest/user/quickstart.html)
|
|
155
|
+
|
|
156
|
+
Pynguin is a command-line application.
|
|
157
|
+
Once you installed it to a virtual environment, you can invoke the tool by typing
|
|
158
|
+
`pynguin` inside this virtual environment.
|
|
159
|
+
Pynguin will then print a list of its command-line parameters.
|
|
160
|
+
|
|
161
|
+
A minimal full command line to invoke Pynguin could be the following,
|
|
162
|
+
where we assume that a project `foo` is located in `/tmp/foo`,
|
|
163
|
+
we want to store Pynguin's generated tests in `/tmp/testgen`,
|
|
164
|
+
and we want to generate tests using a whole-suite approach for the module `foo.bar`
|
|
165
|
+
(wrapped for better readability):
|
|
166
|
+
```bash
|
|
167
|
+
pynguin \
|
|
168
|
+
--project-path /tmp/foo \
|
|
169
|
+
--output-path /tmp/testgen \
|
|
170
|
+
--module-name foo.bar
|
|
171
|
+
```
|
|
172
|
+
Please find a more detailed example in the [quick start guide](https://pynguin.readthedocs.io/latest/user/quickstart.html).
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
## Contributing to Pynguin
|
|
176
|
+
|
|
177
|
+
For the development of Pynguin you will need the [`poetry`](https://python-poetry.org)
|
|
178
|
+
dependency management and packaging tool.
|
|
179
|
+
To start developing, follow these steps:
|
|
180
|
+
1. Clone the repository
|
|
181
|
+
2. Change to the `pynguin` folder: `cd pynguin`
|
|
182
|
+
3. Create a virtual environment and install dependencies using `poetry`: `poetry install`
|
|
183
|
+
4. Make your changes
|
|
184
|
+
5. Run `make check` to verify that your changes pass all checks
|
|
185
|
+
|
|
186
|
+
Please see the [`poetry` documentation](https://python-poetry.org/docs/) for more information on this tool.
|
|
187
|
+
|
|
188
|
+
## Contributors
|
|
189
|
+
|
|
190
|
+
Pynguin is developed at the
|
|
191
|
+
[Chair of Software Engineering II](https://www.fim.uni-passau.de/lehrstuhl-fuer-software-engineering-ii/)
|
|
192
|
+
of the [University of Passau](https://www.uni-passau.de).
|
|
193
|
+
|
|
194
|
+
Maintainer: [Lukas Krodinger](https://github.com/LuKrO2011)
|
|
195
|
+
|
|
196
|
+
Former Maintainer: [Stephan Lukasczyk](https://codeberg.org/stephanlukasczyk)
|
|
197
|
+
|
|
198
|
+
Contributors:
|
|
199
|
+
- [Kejdi Domi](https://github.com/kdomi18)
|
|
200
|
+
- [Erkin Berk Türe](https://github.com/erkintuere)
|
|
201
|
+
- [Lukas Vögl](https://github.com/lvoegl)
|
|
202
|
+
- [Louis Leppelmann](https://github.com/Tudeldu)
|
|
203
|
+
- [Alexander Wüst](https://github.com/Ravaqor)
|
|
204
|
+
- [Altin Hajdari](https://github.com/AltinHajdari)
|
|
205
|
+
- [Ahmed Abidi](https://github.com/AhmedHedi0)
|
|
206
|
+
- [Abdelillah Aissani](https://github.com/Abassion)
|
|
207
|
+
- [Juan Altmayer Pizzorno](https://github.com/jaltmayerpizzorno)
|
|
208
|
+
- [Lucas Berg](https://github.com/BergLucas)
|
|
209
|
+
- [Tucker Blue](https://github.com/tuckcodes)
|
|
210
|
+
- [Gordon Fraser](https://github.com/gofraser)
|
|
211
|
+
- [Abdur-Rahmaan Janhangeer](https://github.com/Abdur-rahmaanJ)
|
|
212
|
+
- [Maximilian Königseder](https://github.com/mak1ng)
|
|
213
|
+
- [Florian Kroiß](https://github.com/Wooza)
|
|
214
|
+
- [Simon Labrenz](https://github.com/labrenz)
|
|
215
|
+
- [Roman Levin](https://github.com/romanlevin)
|
|
216
|
+
- [Juan Julián Merelo Guervós](https://github.com/JJ)
|
|
217
|
+
- [Lukas Steffens](https://github.com/Luki42)
|
|
218
|
+
- [Florian Straubinger](https://github.com/f-str)
|
|
219
|
+
- [Sara Tavares](https://github.com/stavares843)
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
### Development using PyCharm.
|
|
223
|
+
|
|
224
|
+
If you want to use the PyCharm IDE, you have to set up a few things:
|
|
225
|
+
1. Import `pynguin` into PyCharm.
|
|
226
|
+
2. Let PyCharm configure a virtual environment using `poetry`.
|
|
227
|
+
3. Set the default test runner to `pytest`
|
|
228
|
+
4. Set the DocString format to `Google`
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
## License
|
|
232
|
+
|
|
233
|
+
This project is licensed under the terms of the [MIT License](LICENSE.rst).
|
|
234
|
+
Pynguin was using the GNU Lesser General Public License (LGPL) until version 0.29.0,
|
|
235
|
+
its license was changed with version 0.30.0.
|
|
236
|
+
|
|
237
|
+
## Star History
|
|
238
|
+
|
|
239
|
+
[](https://star-history.dera.page/#se2p/pynguin)
|
|
240
|
+
|
pynguin-0.48.0/README.md
ADDED
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
SPDX-FileCopyrightText: 2019–2026 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/astral-sh/ruff)
|
|
36
|
+
[](https://badge.fury.io/py/pynguin)
|
|
37
|
+
[](https://github.com/se2p/pynguin)
|
|
38
|
+
[](https://pynguin.readthedocs.io/)
|
|
39
|
+
[](https://doi.org/10.5281/zenodo.3989840)
|
|
40
|
+
[](https://api.reuse.software/info/github.com/se2p/pynguin)
|
|
41
|
+
[](https://pepy.tech/project/pynguin)
|
|
42
|
+
[](https://archive.softwareheritage.org/browse/origin/?origin_url=https://github.com/se2p/pynguin)
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+

|
|
46
|
+
|
|
47
|
+
## Attention
|
|
48
|
+
|
|
49
|
+
*Please Note:*
|
|
50
|
+
|
|
51
|
+
**Pynguin executes the module under test!**
|
|
52
|
+
As a consequence, depending on what code is in that module,
|
|
53
|
+
running Pynguin can cause serious harm to your computer,
|
|
54
|
+
for example, wipe your entire hard disk!
|
|
55
|
+
We recommend running Pynguin in an isolated environment;
|
|
56
|
+
use, for example, a Docker container to minimize the risk of damaging
|
|
57
|
+
your system.
|
|
58
|
+
|
|
59
|
+
**Pynguin is only a research prototype!**
|
|
60
|
+
It is not tailored towards production use whatsoever.
|
|
61
|
+
However, we would love to see Pynguin in a production-ready stage at some point;
|
|
62
|
+
please report your experiences in using Pynguin to us.
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
## Prerequisites
|
|
66
|
+
|
|
67
|
+
Before you begin, ensure you have met the following requirements:
|
|
68
|
+
- You have installed Python 3.10 (the support for 3.11, 3.12, 3.13, 3.14, and 3.15 is experimental).
|
|
69
|
+
|
|
70
|
+
**Attention:** Pynguin now requires at least Python 3.10! Older versions are no longer
|
|
71
|
+
supported!
|
|
72
|
+
- You have a recent Linux/macOS/Windows machine.
|
|
73
|
+
|
|
74
|
+
Please consider reading the [online documentation](https://pynguin.readthedocs.io)
|
|
75
|
+
to start your Pynguin adventure.
|
|
76
|
+
|
|
77
|
+
## Installing Pynguin
|
|
78
|
+
|
|
79
|
+
Pynguin can be easily installed using the `pip` tool by typing:
|
|
80
|
+
```bash
|
|
81
|
+
pip install pynguin
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Make sure that your version of `pip` is that of a supported Python version, as any
|
|
85
|
+
older version is not supported by Pynguin!
|
|
86
|
+
|
|
87
|
+
## Using Pynguin
|
|
88
|
+
|
|
89
|
+
Before you continue, please read the [quick start guide](https://pynguin.readthedocs.io/latest/user/quickstart.html)
|
|
90
|
+
|
|
91
|
+
Pynguin is a command-line application.
|
|
92
|
+
Once you installed it to a virtual environment, you can invoke the tool by typing
|
|
93
|
+
`pynguin` inside this virtual environment.
|
|
94
|
+
Pynguin will then print a list of its command-line parameters.
|
|
95
|
+
|
|
96
|
+
A minimal full command line to invoke Pynguin could be the following,
|
|
97
|
+
where we assume that a project `foo` is located in `/tmp/foo`,
|
|
98
|
+
we want to store Pynguin's generated tests in `/tmp/testgen`,
|
|
99
|
+
and we want to generate tests using a whole-suite approach for the module `foo.bar`
|
|
100
|
+
(wrapped for better readability):
|
|
101
|
+
```bash
|
|
102
|
+
pynguin \
|
|
103
|
+
--project-path /tmp/foo \
|
|
104
|
+
--output-path /tmp/testgen \
|
|
105
|
+
--module-name foo.bar
|
|
106
|
+
```
|
|
107
|
+
Please find a more detailed example in the [quick start guide](https://pynguin.readthedocs.io/latest/user/quickstart.html).
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
## Contributing to Pynguin
|
|
111
|
+
|
|
112
|
+
For the development of Pynguin you will need the [`poetry`](https://python-poetry.org)
|
|
113
|
+
dependency management and packaging tool.
|
|
114
|
+
To start developing, follow these steps:
|
|
115
|
+
1. Clone the repository
|
|
116
|
+
2. Change to the `pynguin` folder: `cd pynguin`
|
|
117
|
+
3. Create a virtual environment and install dependencies using `poetry`: `poetry install`
|
|
118
|
+
4. Make your changes
|
|
119
|
+
5. Run `make check` to verify that your changes pass all checks
|
|
120
|
+
|
|
121
|
+
Please see the [`poetry` documentation](https://python-poetry.org/docs/) for more information on this tool.
|
|
122
|
+
|
|
123
|
+
## Contributors
|
|
124
|
+
|
|
125
|
+
Pynguin is developed at the
|
|
126
|
+
[Chair of Software Engineering II](https://www.fim.uni-passau.de/lehrstuhl-fuer-software-engineering-ii/)
|
|
127
|
+
of the [University of Passau](https://www.uni-passau.de).
|
|
128
|
+
|
|
129
|
+
Maintainer: [Lukas Krodinger](https://github.com/LuKrO2011)
|
|
130
|
+
|
|
131
|
+
Former Maintainer: [Stephan Lukasczyk](https://codeberg.org/stephanlukasczyk)
|
|
132
|
+
|
|
133
|
+
Contributors:
|
|
134
|
+
- [Kejdi Domi](https://github.com/kdomi18)
|
|
135
|
+
- [Erkin Berk Türe](https://github.com/erkintuere)
|
|
136
|
+
- [Lukas Vögl](https://github.com/lvoegl)
|
|
137
|
+
- [Louis Leppelmann](https://github.com/Tudeldu)
|
|
138
|
+
- [Alexander Wüst](https://github.com/Ravaqor)
|
|
139
|
+
- [Altin Hajdari](https://github.com/AltinHajdari)
|
|
140
|
+
- [Ahmed Abidi](https://github.com/AhmedHedi0)
|
|
141
|
+
- [Abdelillah Aissani](https://github.com/Abassion)
|
|
142
|
+
- [Juan Altmayer Pizzorno](https://github.com/jaltmayerpizzorno)
|
|
143
|
+
- [Lucas Berg](https://github.com/BergLucas)
|
|
144
|
+
- [Tucker Blue](https://github.com/tuckcodes)
|
|
145
|
+
- [Gordon Fraser](https://github.com/gofraser)
|
|
146
|
+
- [Abdur-Rahmaan Janhangeer](https://github.com/Abdur-rahmaanJ)
|
|
147
|
+
- [Maximilian Königseder](https://github.com/mak1ng)
|
|
148
|
+
- [Florian Kroiß](https://github.com/Wooza)
|
|
149
|
+
- [Simon Labrenz](https://github.com/labrenz)
|
|
150
|
+
- [Roman Levin](https://github.com/romanlevin)
|
|
151
|
+
- [Juan Julián Merelo Guervós](https://github.com/JJ)
|
|
152
|
+
- [Lukas Steffens](https://github.com/Luki42)
|
|
153
|
+
- [Florian Straubinger](https://github.com/f-str)
|
|
154
|
+
- [Sara Tavares](https://github.com/stavares843)
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
### Development using PyCharm.
|
|
158
|
+
|
|
159
|
+
If you want to use the PyCharm IDE, you have to set up a few things:
|
|
160
|
+
1. Import `pynguin` into PyCharm.
|
|
161
|
+
2. Let PyCharm configure a virtual environment using `poetry`.
|
|
162
|
+
3. Set the default test runner to `pytest`
|
|
163
|
+
4. Set the DocString format to `Google`
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
## License
|
|
167
|
+
|
|
168
|
+
This project is licensed under the terms of the [MIT License](LICENSE.rst).
|
|
169
|
+
Pynguin was using the GNU Lesser General Public License (LGPL) until version 0.29.0,
|
|
170
|
+
its license was changed with version 0.30.0.
|
|
171
|
+
|
|
172
|
+
## Star History
|
|
173
|
+
|
|
174
|
+
[](https://star-history.dera.page/#se2p/pynguin)
|