swaits
|
5839b35979
|
test: add comprehensive testing infrastructure (fuzzing, proptest, mutation)
Implements dagx-11: Add comprehensive testing infrastructure including
fuzzing, property-based testing, and mutation testing configuration.
**Fuzzing Infrastructure:**
- Created fuzz/ directory with cargo-fuzz setup
- 4 fuzz targets covering different scenarios:
- fuzz_dag_execution: Basic DAG execution with various patterns
- fuzz_dependencies: Dependency management (linear, diamond, complex)
- fuzz_type_safety: Type-safe output retrieval
- fuzz_concurrent: Concurrent execution and thread safety
- Comprehensive README with usage instructions
- Integrated with justfile (fuzz, fuzz-all, fuzz-extended, fuzz-build)
**Property-Based Testing:**
- Added proptest dependency to Cargo.toml
- Created tests/property_tests.rs with 14 property tests:
- Value preservation through DAG
- Linear chain correctness
- Fan-out pattern verification
- Diamond pattern correctness
- String, Vec, Option, Result handling
- HashMap and custom struct preservation
- DAG isolation
- Concurrent execution scaling
- Integrated with justfile (proptest recipe)
**Mutation Testing:**
- Created .cargo-mutants.toml configuration
- Focused on critical functions:
- DagRunner::run and ::get
- TaskBuilder::depends_on
- ExecutableNode::execute_with_listeners
- ExtractFromListeners::extract
- DepsTuple::to_node_ids
- Excluded low-value mutations (fmt, clone, default)
- Configured for nextest and parallel execution
- Already integrated via existing justfile mutants recipe
**Justfile Updates:**
- Added fuzzing section with 5 new recipes
- Added proptest recipe for property-based tests
- All recipes follow existing patterns and naming conventions
Similar setup to ../announcement project but tailored for DAG-specific testing.
|
2025-10-14 10:44:30 -06:00 |
|
swaits
|
6de4d43db1
|
WIP: switch to announcement, remove extract input mess
|
2025-10-14 09:01:28 -06:00 |
|
swaits
|
82cbf15b85
|
docs: clean up, split up, restructure README.md
|
2025-10-08 16:01:27 -06:00 |
|
swaits
|
e3f51308a0
|
chore: bump crate to 0.3.0, update CHANGELOG
|
2025-10-08 14:52:45 -06:00 |
|
swaits
|
4e891ebd5a
|
chore: bump crate to 0.2.3, update CHANGELOG
|
2025-10-07 21:30:05 -07:00 |
|
swaits
|
ec94ade329
|
chore: add logging under tracing feature
|
2025-10-07 21:16:04 -07:00 |
|
swaits
|
ac848c6608
|
chore: bump crate to 0.2.2, update CHANGELOG
|
2025-10-07 20:30:19 -07:00 |
|
swaits
|
ba32767b94
|
chore: bump crate to 0.2.1, update CHANGELOG
|
2025-10-07 19:58:19 -07:00 |
|
swaits
|
aa604e617f
|
chore: bump crate to 0.2.0, update CHANGELOG
|
2025-10-07 19:39:24 -07:00 |
|
swaits
|
608251618a
|
chore: bump MSRV to 1.81.0 (due to dependencies)
|
2025-10-07 17:32:44 -07:00 |
|
swaits
|
400c01d73c
|
test: increase coverage to 93%
|
2025-10-07 17:29:08 -07:00 |
|
swaits
|
98b8bcfd6e
|
chore: remove inappropriate tests from tarpaulin runs
|
2025-10-07 16:56:35 -07:00 |
|
swaits
|
7412287ee4
|
feat: dagrunner, initial version
|
2025-10-07 16:31:03 -07:00 |
|