Conversation
This was
linked to
issues
Feb 8, 2026
Contributor
There was a problem hiding this comment.
Pull request overview
This PR integrates a fuzzing/ClusterFuzzLite workflow and related seed corpora into iccDEV, while updating parts of the CMake build to better support Emscripten/WASM constraints and static-only target consumption.
Changes:
- Add libFuzzer harnesses, dictionaries/options, and seed corpus setup/testing scripts under
Testing/Fuzzing/. - Add ClusterFuzzLite configuration (
.clusterfuzzlite/*) and a GitHub Actions fuzzer smoke-test workflow. - Update CMake to generate version headers into the build directory and to improve portability for static-only builds / Emscripten.
Reviewed changes
Copilot reviewed 71 out of 159 changed files in this pull request and generated 19 comments.
Show a summary per file
| File | Description |
|---|---|
| Testing/mcs/Flexo-CMYKOGP/OMYK-SelectMID.icc | Adds ICC profile asset for testing/corpus. |
| Testing/mcs/Flexo-CMYKOGP/CMYKOGP-MVIS-Smooth.icc | Adds ICC profile asset for testing/corpus. |
| Testing/mcs/Flexo-CMYKOGP/CMYK-SelectMID.icc | Adds ICC profile asset for testing/corpus. |
| Testing/mcs/Flexo-CMYKOGP/CMPK-SelectMID.icc | Adds ICC profile asset for testing/corpus. |
| Testing/mcs/Flexo-CMYKOGP/CGYK-SelectMID.icc | Adds ICC profile asset for testing/corpus. |
| Testing/mcs/Flexo-CMYKOGP/7ChanSelect-MID.icc | Adds ICC profile asset for testing/corpus. |
| Testing/mcs/Flexo-CMYKOGP/4ChanSelect-MID.icc | Adds ICC profile asset for testing/corpus. |
| Testing/Fuzzing/CMakeLists.txt | Adds CMake targets/flags to build fuzzers when ENABLE_FUZZING=ON and using Clang. |
| Testing/Fuzzing/test-seed-corpus.sh | Adds a script to validate fuzzer binaries/dicts/corpora presence. |
| Testing/Fuzzing/seed-corpus-setup.sh | Adds a script to populate per-fuzzer seed corpora from an external fuzz directory. |
| Testing/Fuzzing/icc_*_fuzzer.cpp | Adds multiple libFuzzer harnesses for key tools/codepaths (profile parsing, XML, CMM apply, etc.). |
| Testing/Fuzzing/icc_*.dict | Adds/updates dictionaries used by fuzzers. |
| Testing/Fuzzing/icc_*.options | Adds per-fuzzer runtime options files. |
| Testing/Fuzzing/_seed_corpus/ | Adds seed corpus inputs for fuzzers. |
| Testing/Fuzzing/build-fuzzers.sh | Adds a helper script to build selected fuzzers from existing build outputs. |
| Testing/CMakeLists.txt | Adds a Testing CMake entry that conditionally includes fuzzing subdir when enabled. |
| Build/Cmake/Tools/IccPngDump/CMakeLists.txt | Avoids adding system include dirs under Emscripten. |
| Build/Cmake/IccXML/CMakeLists.txt | Generates version header in build dir and adds static-only alias target for consistent linking. |
| Build/Cmake/IccProfLib/CMakeLists.txt | Generates version header in build dir and adds static-only alias target for consistent linking. |
| .github/workflows/ci-fuzzer-smoke-test.yml | Adds a CI workflow to build and smoke-test fuzzers in a matrix. |
| .clusterfuzzlite/project.yaml | Adds CFL project definition. |
| .clusterfuzzlite/fuzzer.options | Adds CFL global fuzzer/ASan/UBSan/MSan options. |
| .clusterfuzzlite/build.sh | Adds CFL build script for a smoke-test style build. |
| .clusterfuzzlite/build-minimal.sh | Adds a minimal CFL build script for local/CFL validation. |
| .clusterfuzzlite/build-production.sh | Adds a production CFL build script intended to build all fuzzers. |
| .clusterfuzzlite/Dockerfile | Adds CFL builder image definition. |
| .clusterfuzzlite/corpus/* | Adds CFL seed corpus inputs. |
| .clusterfuzzlite/corpus-xml/* | Adds CFL XML seed corpus inputs. |
0f5214a to
972a65f
Compare
Member
Author
Cross Check2026-02-08 18:04:30 UTC Workflow Summary |
Member
Author
Updated ci-latest-release2026-02-11 01:38:56 UTC Updated the Windows Zip Bundle into single Testing/ Directory with all .exe, dll, pdb etc.. to be more developer friendly.
Job https://github.com/InternationalColorConsortium/iccDEV/actions/runs/21915935723 Let me know if any changes. |
Added a step to stage bundle contents into the Testing directory, including copying files and generating helper scripts.
Updated paths for copying dynamic libraries and executables in CI workflow. Adjusted comments and improved script for generating path helpers.
This was referenced Feb 11, 2026
Developer specifications require a directory named iccDEV-Testing/ for all Build Types.
Updated instructions for creating profiles on Unix and Windows.
Updated copy commands in CI workflow to include Testing/Readme.md instead of README.md and removed .pdb files from the copy process in Release builds.
Added optional wxWidgets GUI tool support in CMake.
Updated last modified timestamp in the CI workflow file.
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.
Pull Request Checklist
(#203)