952f6937892b4a743c876a9ab645a8a33f1bf9bb
3 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
952f693789 |
fix: address re-review — coverage build, chunk OOB guard, UBSan loads, srand scope
CI / lint (push) Successful in 8s
CI / lint (pull_request) Successful in 8s
CI / sanitizers (address) (push) Successful in 16s
CI / sanitizers (undefined) (push) Successful in 14s
CI / fuzz-build (push) Successful in 12s
CI / build-and-test (push) Successful in 54s
CI / coverage (push) Successful in 13s
CI / valgrind (push) Successful in 12s
CI / sanitizers (address) (pull_request) Successful in 15s
CI / sanitizers (undefined) (pull_request) Successful in 15s
CI / fuzz-build (pull_request) Successful in 12s
CI / build-and-test (pull_request) Successful in 54s
CI / coverage (pull_request) Successful in 9s
CI / valgrind (pull_request) Successful in 13s
- Remove -DSTRICT_WARNINGS=ON from coverage job (_FORTIFY_SOURCE + -O0 + -Werror fatal) - Fix chunk.c metadata guard: peek at present flag before calling metadata_from_buf so the remaining_size check covers the full sizeof(int)+FILE_METADATA_WIRE_SIZE - Fix chunk.c UBSan misaligned loads: use memcpy instead of *(size_t*)deref - Move srand(42) to test_property() top level so all property tests are seeded |
||
|
|
856e33a9f1 |
fix: address PR review — fuzz target fixes, UBSan, CI improvements
CI / lint (push) Successful in 9s
CI / lint (pull_request) Successful in 8s
CI / build-and-test (push) Successful in 54s
CI / sanitizers (address) (push) Successful in 14s
CI / sanitizers (undefined) (push) Successful in 15s
CI / fuzz-build (push) Successful in 53s
CI / coverage (push) Successful in 22s
CI / valgrind (push) Successful in 26s
CI / build-and-test (pull_request) Successful in 53s
CI / sanitizers (address) (pull_request) Successful in 14s
CI / sanitizers (undefined) (pull_request) Successful in 14s
CI / fuzz-build (pull_request) Successful in 37s
CI / valgrind (pull_request) Successful in 27s
CI / coverage (pull_request) Successful in 1m36s
Critical fixes: - Add missing #include <string.h> to 5 fuzz targets (wouldn't compile with GCC14+/Clang16+) - Fix fuzz_metadata_from_buf.c OOB read: guard size >= sizeof(int) + FILE_METADATA_WIRE_SIZE - Add Clang compiler check for ENABLE_FUZZ in CMakeLists.txt (fail fast at configure time) - Add fuzz-build CI job (install clang, build all 6 fuzz targets with ENABLE_FUZZ=ON) Warning fixes: - Add UBSan to sanitizer CI matrix (address + undefined) - Remove tautological test_property_glob_consistency (pure/deterministic function) - Use fixed seed srand(42) instead of srand(time(NULL)) for reproducible property tests - Add valid-header + truncated-instructions delta robustness test (exercises instruction-loop error paths) - Fix lcov --remove to exclude '*/_deps/*' (xxhash coverage pollution) - Add comment explaining FASTSYNC_UNDER_VALGRIND skip in test_file.c - Update .gitignore for build-*/ directories |
||
|
|
b179e6f6cf |
testing: add comprehensive test suite for test-driven development
CI / lint (push) Failing after 3s
CI / build-and-test (push) Has been skipped
CI / sanitizers (address) (push) Has been skipped
CI / coverage (push) Has been skipped
CI / valgrind (push) Has been skipped
CI / lint (pull_request) Failing after 2s
CI / build-and-test (pull_request) Has been skipped
CI / sanitizers (address) (pull_request) Has been skipped
CI / coverage (pull_request) Has been skipped
CI / valgrind (pull_request) Has been skipped
Add unit tests for previously untested modules (protocol, data, metadata, file, glob), robustness tests for deserialization of malformed inputs, thread safety stress tests, property-based roundtrip tests, and 6 fuzz targets. Update CI with CTest integration, coverage reporting, and valgrind memory checking. New test files: - test_data.c: Data type lifecycle (5 tests) - test_protocol.c: Protocol I/O roundtrips and error paths (9 tests) - test_metadata.c: Metadata serialization roundtrips (6 tests) - test_file.c: File operations and send/receive (12 tests) - test_glob.c: Glob pattern matching (10 tests) - test_robustness.c: Malformed input handling for chunk/delta/protocol (11 tests) - test_stress.c: MPMC queue stress, backpressure, rapid create/destroy (3 tests) - test_property.c: Compress, delta, chunk, glob roundtrip properties (4 tests) - tests/fuzz/: 6 libFuzzer targets for deserialization functions Extended existing tests: - test_config.c: config_send/config_receive roundtrip via fork+pipe - test_shared_utils.c: mkdir_r, glob_match, delete_extras Infrastructure: - CTest integration in CMakeLists.txt - Coverage support (-DENABLE_COVERAGE=ON) - Fuzz target support (-DENABLE_FUZZ=ON) - CI: coverage, valgrind, address sanitizer jobs - Fixed MPMC stress test race condition (cnd_signal -> cnd_broadcast) |