feat: Set up comprehensive Python testing infrastructure#6
Open
llbbl wants to merge 1 commit intopurseclab:mainfrom
Open
feat: Set up comprehensive Python testing infrastructure#6llbbl wants to merge 1 commit intopurseclab:mainfrom
llbbl wants to merge 1 commit intopurseclab:mainfrom
Conversation
- Configure Poetry as package manager with pyproject.toml - Add pytest, pytest-cov, and pytest-mock as dev dependencies - Create tests/ directory structure with unit/ and integration/ subdirectories - Add comprehensive conftest.py with shared fixtures for testing - Configure coverage reporting with 80% threshold and HTML/XML output - Add custom pytest markers (unit, integration, slow) - Update .gitignore with testing and development files - Create validation tests to verify infrastructure setup - Support for temp directories, mock objects, and numpy test data
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.tomlwith Poetry configurationangrandpatcherex2dependencies may require system-level installation due to compilation dependenciesTesting Framework
tests/withunit/andintegration/subdirectoriespyproject.tomlincluding:unit,integration,slowShared Testing Resources
conftest.pywith reusable fixtures:Validation & Quality Assurance
test_infrastructure_validation.pyto verify:Development Environment
.gitignore: Added comprehensive exclusions for:Instructions for Running Tests
Basic Testing
Coverage Reporting
Development Workflow
Configuration Notes
test_*.pyand*_test.pyfiles@pytest.mark.unit,@pytest.mark.integration, or@pytest.mark.slowconftest.pyDependencies
The setup includes essential dependencies for the project:
Note: Some dependencies like
angrandpatcherex2may 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