-
Notifications
You must be signed in to change notification settings - Fork 200
OSS-Fuzz Python SDK — Result Management, Full Facade, Docs & Samples #1161
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
zewei-wang
wants to merge
11
commits into
google:main
Choose a base branch
from
zewei-wang:final_docs
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
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
- Add comprehensive data models for build, crash, corpus, and coverage history - Implement HistoricalSummary model for aggregated statistics - Add specialized error classes for SDK configuration and validation - Include proper type hints and Pydantic validation
- Extend storage adapters with history-specific functionality - Add support for time-series data storage and retrieval - Implement environment variable utilities for configuration - Improve error handling and logging in storage operations
- Add abstract HistoryManager base class with common functionality - Implement BuildHistoryManager for build statistics and trends - Add CoverageHistoryManager for coverage data analysis - Include data validation and storage abstraction - Add comprehensive logging and error handling
- Implement CorpusHistoryManager for corpus growth analysis - Add CrashHistoryManager for crash tracking and statistics - Include duplicate detection and data validation - Complete the historical data management infrastructure
- Add OSSFuzzSDK class as main entry point for historical data - Implement project report generation and analysis features - Add fuzzing efficiency analysis and health scoring - Include environment configuration and error handling - Provide unified interface for all history managers
- Export OSSFuzzSDK and history managers in package __init__ - Add data models and error classes to public API - Maintain backward compatibility with existing exports - Complete integration of historical data functionality
- Add test suite for OSSFuzzSDK main functionality - Include tests for all history managers (build, crash, corpus, coverage) - Test configuration, error handling, and edge cases - Ensure proper integration with storage and data validation - Add mocking for external dependencies
…atures - Update cloud builder pipeline tests for new SDK integration - Modify local builder pipeline tests to work with enhanced functionality - Ensure backward compatibility and proper error handling - Fix any test conflicts with new historical data features
/gcbrun exp -n zewei -m vertex_ai_gemini-2-5-flash-chat -ag -b quick-test |
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.
Summary
Introduce a comprehensive Python SDK for OSS-Fuzz with:
Changes Overview
ossfuzz_py/result/result_manager.py
for unified result capture, storage, and retrievalossfuzz_py/build/builder.py
andossfuzz_py/execution/fuzz_runner.py
ossfuzz_py/core/ossfuzz_sdk.py
to a comprehensive, production-ready APIossfuzz_py/README.md
samples/basic/01_quick_start.py
,02_configuration.py
,03_simple_benchmark.py
samples/intermediate/04_pipeline_automation.py
samples/advanced/01_batch_processing.py
samples/utilities/health_checker.py
samples/data/sample_benchmarks.json
samples/data/sample_configs/development.json
ossfuzz_py/samples/README.md
Testing
ossfuzz_py/unittests/test_ossfuzz_sdk_comprehensive.py
ossfuzz_py/unittests/test_result_manager.py