Skip to content

wide_integer_fuzzing #631

wide_integer_fuzzing

wide_integer_fuzzing #631

# ------------------------------------------------------------------------------
# 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