wide_integer_fuzzing #631
  
    
      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
    
  
  
    
  | # ------------------------------------------------------------------------------ | |
| # Copyright Christopher Kormanyos 2024 - 2025. | |
| # Distributed under the Boost Software License, | |
| # Version 1.0. (See accompanying file LICENSE_1_0.txt | |
| # or copy at http://www.boost.org/LICENSE_1_0.txt) | |
| # ------------------------------------------------------------------------------ | |
| name: wide_integer_fuzzing | |
| on: | |
| push: | |
| branches: | |
| - '**' | |
| pull_request: | |
| schedule: | |
| - cron: '0 2 * * *' # run at 2:00 AM UTC | |
| jobs: | |
| clang-fuzzing: | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| shell: bash | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| compiler: [ clang++ ] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: '0' | |
| - name: update-tools | |
| run: sudo apt install llvm lld | |
| - name: clone-submods-bootstrap-headers-boost-develop | |
| run: | | |
| git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root | |
| cd ../boost-root | |
| git submodule update --init tools | |
| git submodule update --init libs/config | |
| git submodule update --init libs/multiprecision | |
| ./bootstrap.sh | |
| ./b2 headers | |
| - name: clang-fuzzing | |
| run: | | |
| grep BOOST_VERSION ../boost-root/boost/version.hpp | |
| ${{ matrix.compiler }} -v | |
| echo "run fuzzing test" | |
| ./run_fuzzing.sh | |
| clang-fuzzing-versus-cppalliance-int128: | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| shell: bash | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| compiler: [ clang++ ] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: '0' | |
| - name: update-tools | |
| run: sudo apt install llvm lld | |
| - name: clone-cppalliance-int128 | |
| working-directory: ${{runner.workspace}} | |
| run: | | |
| git clone -b master --depth 1 https://github.com/cppalliance/int128.git ${{runner.workspace}}/cppalliance-int128 | |
| - name: clang-fuzzing-versus-cppalliance-int128 | |
| run: | | |
| ${{ matrix.compiler }} -v | |
| echo 'compiling test/fuzzing/test_fuzzing_div_versus_cppalliance_int128.cpp' | |
| ${{ matrix.compiler }} -std=c++20 -g -O2 -Wall -Wextra -Wpedantic -Wconversion -Wsign-conversion -fsanitize=fuzzer -I. -I${{runner.workspace}}/cppalliance-int128/include test/fuzzing/test_fuzzing_div_versus_cppalliance_int128.cpp -o test_fuzzing_div_versus_cppalliance_int128 | |
| echo "run test_fuzzing_div_versus_cppalliance_int128" | |
| ./test_fuzzing_div_versus_cppalliance_int128 -max_total_time=900 -max_len=32 -verbosity=0 -close_fd_mask=3 |