InternationalColorConsortium / DemoIccMAX

Demonstration Implementation for iccMAX color profiles
Other
121 stars 37 forks source link

Contrib PR - Add scripts, test files, and documentation in contrib/ #97

Closed xsscx closed 1 month ago

xsscx commented 1 month ago

Contrib PR Summary

This PR contains various scripts, test files, and documentation related to the DemoIccMAX project. The scripts and tests focus on profile creation, cross-checking, build verification, and sanitization (Asan/UBSan) for detecting memory-related issues. The purpose of these scripts is to automate testing, ensure code correctness, and track any vulnerabilities in the DemoIccMAX project.

What is included

Profile Creation and Testing Scripts

Run:

   cd Testing/
   /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/InternationalColorConsortium/DemoIccMAX/refs/heads/master/contrib/UnitTest/CreateAllProfiles.sh)"

Run:

   cd Testing/
   /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/InternationalColorConsortium/DemoIccMAX/refs/heads/master/contrib/UnitTest/CreateAllProfiles_cross_check.sh)"

Build and Branch Management Scripts

Run:

   cd /tmp
   /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/InternationalColorConsortium/DemoIccMAX/refs/heads/master/contrib/Build/cmake/build_master_branch.sh)"

CVE and Vulnerability Tests

ICC Profiles for Testing

ICC Profiles for Testing

Run:

   cd Testing/
   /bin/sh -c 'curl -fsSL -o iccProfile.icc https://github.com/InternationalColorConsortium/DemoIccMAX/raw/master/contrib/UnitTest/icPlatformSignature-ubsan-poc.icc && ../Build/Tools/IccDumpProfile/iccDumpProfile 100 iccProfile.icc ALL'

How to Use

  1. Build with log
/bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/InternationalColorConsortium/DemoIccMAX/refs/heads/master/contrib/UnitTest/build_master_branch.sh)" > build.log 2>&1 & script_pid=$!; while [ ! -f build.log ]; do sleep 1; done; tail --pid=$script_pid -f build.log; wait $script_pid
  1. Run icPlatformSignature Check
    To run the icPlatformSignature Check, switch your directory to contrib/UnitTest/ then paste the following commnd into your terminal:
    /bin/sh -c 'curl -fsSL -o iccProfile.icc https://github.com/InternationalColorConsortium/DemoIccMAX/raw/master/contrib/UnitTest/icPlatformSignature-ubsan-poc.icc && ../Build/Tools/IccDumpProfile/iccDumpProfile 100 iccProfile.icc ALL'