feat: Set up comprehensive Python testing infrastructure #6
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Set up Python Testing Infrastructure
Summary
This PR establishes a comprehensive testing infrastructure for the DNN decompiler project using Poetry as the package manager and pytest as the testing framework.
Changes Made
Package Management
pyproject.toml
with Poetry configurationangr
andpatcherex2
dependencies may require system-level installation due to compilation dependenciesTesting Framework
tests/
withunit/
andintegration/
subdirectoriespyproject.toml
including:unit
,integration
,slow
Shared Testing Resources
conftest.py
with reusable fixtures:Validation & Quality Assurance
test_infrastructure_validation.py
to verify:Development Environment
.gitignore
: Added comprehensive exclusions for:Instructions for Running Tests
Basic Testing
Coverage Reporting
Development Workflow
Configuration Notes
test_*.py
and*_test.py
files@pytest.mark.unit
,@pytest.mark.integration
, or@pytest.mark.slow
conftest.py
Dependencies
The setup includes essential dependencies for the project:
Note: Some dependencies like
angr
andpatcherex2
may need to be installed separately due to system-level compilation requirements.Testing Infrastructure Features
✅ Package Management: Poetry with proper dependency management
✅ Test Framework: pytest with coverage reporting
✅ Directory Structure: Organized test hierarchy
✅ Shared Fixtures: Reusable test components
✅ Custom Markers: Categorized test execution
✅ Coverage Reports: HTML and XML output formats
✅ Validation Suite: Infrastructure verification tests
✅ Development Tools: Comprehensive gitignore and tooling setup