Skip to content

Conversation

@dereuromark
Copy link
Contributor

Summary

  • Add nikic/php-fuzzer as dev dependency for automated fuzz testing
  • Create fuzz testing targets for both normal and strict (warnings-enabled) modes
  • Add djot syntax dictionary for guided fuzzing (contains common markup fragments)
  • Add seed corpus with representative djot structures
  • Add comprehensive EdgeCaseTest (82 tests) covering robustness scenarios:
    • Empty and whitespace inputs
    • Unclosed delimiters
    • Deep nesting
    • Long inputs
    • Special characters (unicode, control chars, emoji)
    • Escape sequences
    • HTML entities
    • Mixed syntax combinations
    • Boundary conditions

Usage

# Run fuzz testing
composer fuzz

# Run with warnings enabled
composer fuzz-strict

Test plan

  • All existing tests pass (1298 tests)
  • All new edge case tests pass (82 tests)
  • Code style checks pass
  • Fuzzer runs without crashes on initial test

- Add nikic/php-fuzzer as dev dependency
- Create fuzz testing targets (normal and strict mode)
- Add djot syntax dictionary for guided fuzzing
- Add seed corpus with common djot structures
- Add EdgeCaseTest with comprehensive robustness tests
  covering whitespace, unclosed delimiters, deep nesting,
  long inputs, special characters, and boundary conditions
@codecov
Copy link

codecov bot commented Dec 14, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 93.72%. Comparing base (5085c8e) to head (ef45997).
⚠️ Report is 3 commits behind head on master.

Additional details and impacted files
@@             Coverage Diff              @@
##             master      #53      +/-   ##
============================================
+ Coverage     93.64%   93.72%   +0.08%     
- Complexity     1916     1928      +12     
============================================
  Files            74       74              
  Lines          5143     5177      +34     
============================================
+ Hits           4816     4852      +36     
+ Misses          327      325       -2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@dereuromark dereuromark merged commit 2946eb7 into master Dec 14, 2025
6 checks passed
@dereuromark dereuromark deleted the feature/fuzz-testing branch December 14, 2025 06:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants