Skip to content

Conversation

hebasto
Copy link
Owner

@hebasto hebasto commented Jan 19, 2024

This testing PR was requested by reviewers of hebasto/bitcoin#43 and is not intended to be merged.

# * --toolchain, see https://github.com/bitcoin/bitcoin/blob/master/depends/README.md
if [ "$SANITIZER" = "memory" ]; then
CONFIG_SITE="$PWD/depends/$BUILD_TRIPLET/share/config.site" ./configure --enable-fuzz SANITIZER_LDFLAGS="$LIB_FUZZING_ENGINE" --disable-hardening --with-asm=no
cmake -S .. -DCMAKE_C_COMPILER="$CC" -DCMAKE_CXX_COMPILER="$CXX" --toolchain depends/${BUILD_TRIPLET}/share/toolchain.cmake -DCMAKE_BUILD_TYPE=None -DFUZZ=ON -DSANITIZER_LDFLAGS="$LIB_FUZZING_ENGINE" -DHARDENING=OFF -DASM=OFF
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Moved from google#11516 (comment)

Shouldn't CC and CXX be coming from the toolchain file? Why do we need to (re-)set it explicitly here?

Copy link
Owner Author

@hebasto hebasto Jan 19, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@fanquake

Thanks! Fixed.

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, but I recalled the reason of explicit setting the CMAKE_C_COMPILER and CMAKE_CXX_COMPILER variables. It makes the toolchain file skip processing of the CFLAGS and CXXFLAGS, which avoids their duplication.

Otherwise, it might look like this:

C compiler ............................ /usr/local/bin/clang
CFLAGS ................................ -O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION  -fprofile-instr-generate -fcoverage-mapping -pthread -Wl,--no-as-needed -Wl,-ldl -Wl,-lm -Wno-unused-command-line-argument -O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fprofile-instr-generate -fcoverage-mapping -pthread -Wl,--no-as-needed -Wl,-ldl -Wl,-lm -Wno-unused-command-line-argument
C++ compiler .......................... /usr/local/bin/clang++
CXXFLAGS .............................. -O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION  -fprofile-instr-generate -fcoverage-mapping -pthread -Wl,--no-as-needed -Wl,-ldl -Wl,-lm -Wno-unused-command-line-argument -stdlib=libc++ -flto=thin -O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fprofile-instr-generate -fcoverage-mapping -pthread -Wl,--no-as-needed -Wl,-ldl -Wl,-lm -Wno-unused-command-line-argument -stdlib=libc++ -flto=thin

So, reverted back and commented.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure. Doesn't that mean anyone building depends will also always have this problem of duplicate flags, and need to use this "workaround"? Seems like something that needs solving, otherwise it defeats the point of the toolchain file?

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Doesn't that mean anyone building depends will also always have this problem of duplicate flags, and need to use this "workaround"?

One, who builds with depends, usually provides CFLAGS and / or CXXFLAG to the make command directly, avoiding of setting these environment variables globally.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, but that shouldn't matter? Because if we pass them to depends, they should get put into the toolchain file, which is then used for compilation?

Copy link
Owner Author

@hebasto hebasto Jan 19, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is what makes the duplication, because CMake still considers the CFLAGS and CXXFLAGS environment variables.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right. So this working around a CMake thing, that would also be a problem for anyone building using CMake somewhere that has ENV vars set? Because the flags they think they are using, might actually be getting overridden by environment variables? This would potentially be an issue for anyone using a toolchain file?

Copy link
Owner Author

@hebasto hebasto Jan 19, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FWIW, the flag duplication is a fact in the master branch. For example, https://github.com/google/oss-fuzz/actions/runs/7529480132/job/20493782120:

  CC              = clang
  CFLAGS          = -pthread -m32 -O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize-address-use-after-scope -fsanitize=fuzzer-no-link -m32 -O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize-address-use-after-scope -fsanitize=fuzzer-no-link
  CPPFLAGS        =  -DABORT_ON_FAILED_ASSUME  -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3  -DHAVE_BUILD_INFO -D_FILE_OFFSET_BITS=64 -DBOOST_MULTI_INDEX_ENABLE_SAFE_MODE -m32 -I/src/bitcoin-core/depends/i686-pc-linux-gnu/include/ -DBOOST_MULTI_INDEX_ENABLE_SAFE_MODE  -m32
  CXX             = clang++ -std=c++20
  CXXFLAGS        =    -Wstack-protector -fstack-protector-all -fcf-protection=full -fstack-clash-protection      -m32 -O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize-address-use-after-scope -fsanitize=fuzzer-no-link -stdlib=libc++ -flto=thin -m32 -O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize-address-use-after-scope -fsanitize=fuzzer-no-link -stdlib=libc++ -flto=thin
  LDFLAGS         =  -lpthread  -Wl,-z,relro -Wl,-z,now -Wl,-z,separate-code -pie   -flto=thin -L/src/bitcoin-core/depends/i686-pc-linux-gnu/lib -flto=thin
  AR              = llvm-ar
  ARFLAGS         = cr

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This would potentially be an issue for anyone using a toolchain file?

I lean to agree with you. However, the current CMake-based build system behavior just mirrors Autotools-based one.

And the user experience could be improved after migration, no?

@hebasto hebasto marked this pull request as draft January 19, 2024 09:56
@hebasto hebasto force-pushed the 240119-cmake branch 2 times, most recently from eb22249 to 0b23dc7 Compare January 19, 2024 11:39
@hebasto hebasto force-pushed the 240119-cmake branch 2 times, most recently from b293af6 to deb912a Compare January 19, 2024 13:58
@hebasto
Copy link
Owner Author

hebasto commented Jan 19, 2024

Ready for review :)

hebasto added a commit to hebasto/bitcoin that referenced this pull request Jan 25, 2024
9b9f562 cmake: Add fuzzing options (Hennadii Stepanov)
ea7861e cmake: Add `SANITIZERS` option (Hennadii Stepanov)

Pull request description:

  New CMake variables that affect the build system configuration:
  - `SANITIZERS`
  - `BUILD_FUZZ_BINARY`
  - `FUZZ`

  In the light of bitcoin#29189, this PR is no longer based on #41. However, the `test/fuzz/script_bitcoin_consensus.cpp` might be easily added anytime.

  For OSS-Fuzz integration, please refer to hebasto/oss-fuzz#1.

ACKs for top commit:
  theuni:
    Lightly tested ACK 9b9f562.

Tree-SHA512: f762d1218f2f8bfe26bdd43f431cb37a26093a6899db7120b50df3083f81d6ad6aa867937e69930faff6ab4519532cfaca48aaf97831d4c2593b93423cb6d41a
`# This avoids CFLAGS and CXXFLAGS duplication by skipping their processing in the toolchain file.` \
-DCMAKE_C_COMPILER="$CC" -DCMAKE_CXX_COMPILER="$CXX" \
--toolchain depends/${BUILD_TRIPLET}/share/toolchain.cmake \
-DCMAKE_BUILD_TYPE=None \
Copy link

@dergoegge dergoegge Feb 1, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It does nothing, which means, no per-configuration flags will be appended after ones provided by the toolchain file.

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FWIW, it is a part of the CMake code:

        set(CMAKE_BUILD_TYPE "${CMAKE_BUILD_TYPE_INIT}" CACHE STRING
          "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel ...")

hebasto pushed a commit that referenced this pull request Feb 4, 2024
Base PR apache/brpc#2420 ;

NOTE:
I can't enable memory sanitizer due to

```log
BAD BUILD: /tmp/not-out/tmpmptlk01q/fuzz_esp seems to have either startup crash or exit:
/tmp/not-out/tmpmptlk01q/fuzz_esp -rss_limit_mb=2560 -timeout=25 -seed=1337 -runs=4 < /dev/null
Uninitialized bytes in MemcmpInterceptorCommon at offset 15 inside [0x7030000000f0, 19)
==428==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0x682b90 in __interceptor_memcmp /src/llvm-project/compiler-rt/lib/msan/../sanitizer_common/sanitizer_common_interceptors.inc:892:10
    #1 0x7fa8ef4cf62a in google::protobuf::SimpleDescriptorDatabase::DescriptorIndex<std::pair<void const*, int> >::FindLastLessOrEqual(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (/tmp/not-out/tmpmptlk01q/lib/libprotobuf.so.17+0x15062a) (BuildId: 64affeb0f489ae4bcea211ed99e1eca15ff97d68)
    #2 0x7fa8ef4d259f in google::protobuf::SimpleDescriptorDatabase::DescriptorIndex<std::pair<void const*, int> >::AddSymbol(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::pair<void const*, int>) (/tmp/not-out/tmpmptlk01q/lib/libprotobuf.so.17+0x15359f) (BuildId: 64affeb0f489ae4bcea211ed99e1eca15ff97d68)
    #3 0x7fa8ef4d2a15 in google::protobuf::SimpleDescriptorDatabase::DescriptorIndex<std::pair<void const*, int> >::AddFile(google::protobuf::FileDescriptorProto const&, std::pair<void const*, int>) (/tmp/not-out/tmpmptlk01q/lib/libprotobuf.so.17+0x153a15) (BuildId: 64affeb0f489ae4bcea211ed99e1eca15ff97d68)
    #4 0x7fa8ef4cebef in google::protobuf::EncodedDescriptorDatabase::Add(void const*, int) (/tmp/not-out/tmpmptlk01q/lib/libprotobuf.so.17+0x14fbef) (BuildId: 64affeb0f489ae4bcea211ed99e1eca15ff97d68)
    #5 0x7fa8ef499f43 in google::protobuf::DescriptorPool::InternalAddGeneratedFile(void const*, int) (/tmp/not-out/tmpmptlk01q/lib/libprotobuf.so.17+0x11af43) (BuildId: 64affeb0f489ae4bcea211ed99e1eca15ff97d68)
    #6 0x7fa8ef49281d in protobuf_google_2fprotobuf_2fapi_2eproto::AddDescriptorsImpl() (/tmp/not-out/tmpmptlk01q/lib/libprotobuf.so.17+0x11381d) (BuildId: 64affeb0f489ae4bcea211ed99e1eca15ff97d68)
```

Signed-off-by: Arjun Singh <ajsinghyadav00@gmail.com>
@hebasto hebasto closed this Mar 24, 2024
hebasto pushed a commit that referenced this pull request Aug 28, 2024
Fix build error
https://oss-fuzz-build-logs.storage.googleapis.com/log-17235690-03af-4f88-a2c8-1f7203f4695c.txt

```Step #1: Step 3/4 : COPY build.sh *.dict $SRC
Step #1: When using COPY with more than one source file, the destination must be a directory and end with a /
Finished Step #1
```

@AdamKorcz
@hebasto hebasto deleted the 240119-cmake branch August 28, 2024 13:35
hebasto pushed a commit that referenced this pull request Nov 18, 2024
- OSS-Fuzz builds are failing after pigweed was rebased in
project-chip/connectedhomeip#35644
- One of the failures is related to pigweed becoming incompatible with
python <3.9. Such as using subscript notation in the type hints.

- Fix: Base images in OSS-Fuzz use python 3.8, This PR aims to force the
usage of python3.10 instead
### Example Error
```
Step #1: Traceback (most recent call last):
Step #1:   File "../../third_party/pigweed/repo/pw_build/py/pw_build/python_runner.py", line 38, in <module>
Step #1:     import gn_resolver  # type: ignore
Step #1:   File "/src/connectedhomeip/third_party/pigweed/repo/pw_build/py/pw_build/gn_resolver.py", line 319, in <module>
Step #1:     _Actions = Iterator[tuple[_ArgAction, str]]
Step #1: TypeError: 'type' object is not subscriptable
Step #1: [137/1234] ln -f ../../third_party/pigweed/repo/pw_thread/pw_thread_protos/thread_snapshot_service.proto
```
hebasto pushed a commit that referenced this pull request Jan 24, 2025
Fixes https://issues.oss-fuzz.com/issues/380676570

Excerpt:

```
Step #1: Step 5/13 : RUN git clone --depth 1 https://github.com/guidovranken/cryptofuzz
Step #1:  ---> Running in def8cd621b2d
Step #1: �[91mCloning into 'cryptofuzz'...
Step #1: �[0m�[91mfatal: could not read Username for 'https://github.com': No such device or address
Step #1: The command '/bin/sh -c git clone --depth 1 https://github.com/guidovranken/cryptofuzz' returned a non-zero code: 128
Finished Step #1
ERROR
```

This is a clean removal, which can be reverted in the future, or
reworked.

For now, go ahead with the removal, to unbreak the build.

Co-authored-by: MarcoFalke <6399679+MarcoFalke@users.noreply.github.com>
hebasto pushed a commit that referenced this pull request Jan 24, 2025
Fixes several issues in the build which have been breaking the runtime
code coverage collection since at least 2024-11-24.

### Key Changes:
- Upgraded Node.js to the latest LTS release via the base image
`install_javascriot.sh` script for compatibility with the upstream
project's requirements.
- Refined the build commands to prefer the upstream project's
documentation.
- Adjusted compiler flags to ensure only the executable fuzzing harness
is placed in the `$OUT` directory so unnecessary build artifacts can't
break anything in unexpected ways.

### Impact:
- Resolves the broken coverage collection.
- Marginally improves overall build times (see note below.)

---

#### Note Nodejs Install Script Slowdowns

The Dockerfile, both before and after this PR, uses a script hosted by
https://deb.nodesource\.com to install a more recent version of Nodejs
than the (extremely) old version available in the container by default.

That has been working just fine, however while I was reviewing the build
logs I noticed the install script prints a warning about the deprecation
of this node 14 version, but more importantly:

It deliberately sleeps for 80 seconds after printing the warnings,
halting the build before continuing.

Unfortunately this is not easy to spot when reviewing the raw log
directly:
https://oss-fuzz-build-logs.storage.googleapis.com/log-fdce3d72-fe01-4a10-9f84-98617dc5110b.txt

It is a bit easier in the build status dashboard though:
https://oss-fuzz-build-logs.storage.googleapis.com/index.html#llhttp

See below:

<details><summary>Log excerpt</summary>

```sh
Step #1:  ---> 92c0ffa5f35b
Step #1: Step 3/8 : RUN curl -sL https://deb.nodesource.com/setup_14.x -o nodesource_setup.sh
Step #1:  ---> Running in 2337f2ad0189
Step #1: Removing intermediate container 2337f2ad0189
Step #1:  ---> 4612ae8ce782
Step #1: Step 4/8 : RUN bash nodesource_setup.sh
Step #1:  ---> Running in e7a6477832e8
Step #1: 
Step #1: ================================================================================
Step #1: ================================================================================
Step #1: 
Step #1:                               DEPRECATION WARNING                            
Step #1: 
Step #1:   Node.js 14.x is no longer actively supported!
Step #1: 
Step #1:   You will not receive security or critical stability updates for this version.
Step #1: 
Step #1:   You should migrate to a supported version of Node.js as soon as possible.
Step #1:   Use the installation script that corresponds to the version of Node.js you
Step #1:   wish to install. e.g.
Step #1: 
Step #1:    * https://deb.nodesource.com/setup_16.x — Node.js 16 "Gallium"
Step #1:    * https://deb.nodesource.com/setup_18.x — Node.js 18 LTS "Hydrogen" (recommended)
Step #1:    * https://deb.nodesource.com/setup_19.x — Node.js 19 "Nineteen"
Step #1:    * https://deb.nodesource.com/setup_20.x — Node.js 20 "Iron" (current)
Step #1: 
Step #1:   Please see https://github.com/nodejs/Release for details about which
Step #1:   version may be appropriate for you.
Step #1: 
Step #1:   The NodeSource Node.js distributions repository contains
Step #1:   information both about supported versions of Node.js and supported Linux
Step #1:   distributions. To learn more about usage, see the repository:
Step #1:     https://github.com/nodesource/distributions
Step #1: 
Step #1: ================================================================================
Step #1: ================================================================================
Step #1: 
Step #1: Continuing in 20 seconds ...
Step #1: 
Step #1: 
Step #1: ================================================================================
Step #1: ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
Step #1: ================================================================================
Step #1: 
Step #1:                            SCRIPT DEPRECATION WARNING                    
Step #1: 
Step #1:   
Step #1:   This script, located at https://deb.nodesource.com/setup_X, used to
Step #1:   install Node.js is deprecated now and will eventually be made inactive.
Step #1: 
Step #1:   Please visit the NodeSource distributions Github and follow the
Step #1:   instructions to migrate your repo.
Step #1:   https://github.com/nodesource/distributions
Step #1: 
Step #1:   The NodeSource Node.js Linux distributions GitHub repository contains
Step #1:   information about which versions of Node.js and which Linux distributions
Step #1:   are supported and how to install it.
Step #1:   https://github.com/nodesource/distributions
Step #1: 
Step #1: 
Step #1:                           SCRIPT DEPRECATION WARNING
Step #1: 
Step #1: ================================================================================
Step #1: ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
Step #1: ================================================================================
Step #1: 
Step #1: TO AVOID THIS WAIT MIGRATE THE SCRIPT
Step #1: Continuing in 60 seconds (press Ctrl-C to abort) ...
Step #1: 
Step #1: 
Step #1: ## Installing the NodeSource Node.js 14.x repo...
Step #1: 
Step #1: 
Step #1: ## Populating apt-get cache...
Step #1: 
Step #1: + apt-get update
Step #1: Hit:1 http://securi
```



</details>
hebasto pushed a commit that referenced this pull request Mar 12, 2025
…3082)

//python/dist currently does not build with bzlmod, since we don't
support system_python in bzlmod yet.

```
Skipping '//python/dist:binary_wheel': error loading package 'python/dist': Unable to find package for @@[unknown repo 'system_python' requested from @@]//:version.bzl: The repository '@@[unknown repo 'system_python' requested from @@]' could not be resolved: No repository visible as '@system_python' from main repository.
Step #1: �[0m�[91mERROR: error loading package 'python/dist': Unable to find package for @@[unknown repo 'system_python' requested from @@]//:version.bzl: The repository '@@[unknown repo 'system_python' requested from @@]' could not be resolved: No repository visible as '@system_python' from main repository.
```
hebasto pushed a commit that referenced this pull request Sep 11, 2025
```
$ docker run --rm -ti us-central1-docker.pkg.dev/oss-fuzz/oss-fuzz-gen/jsonnet-ofg-cached-address /src/run_tests.sh
Running tests...
Test project /src/jsonnet/build
      Start  1: unicode_test
 1/10 Test  #1: unicode_test .....................   Passed    0.06 sec
      Start  2: lexer_test
 2/10 Test  #2: lexer_test .......................   Passed    0.01 sec
      Start  3: parser_test
 3/10 Test  #3: parser_test ......................   Passed    0.02 sec
      Start  4: libjsonnet_test
 4/10 Test  #4: libjsonnet_test ..................   Passed    0.25 sec
      Start  5: libjsonnet_test_file
 5/10 Test  #5: libjsonnet_test_file .............   Passed    0.31 sec
      Start  6: libjsonnet_test_snippet
 6/10 Test  #6: libjsonnet_test_snippet ..........   Passed    0.23 sec
      Start  7: jsonnet_test_snippet
 7/10 Test  #7: jsonnet_test_snippet .............   Passed    0.23 sec
      Start  8: libjsonnet++_test
 8/10 Test  #8: libjsonnet++_test ................   Passed    1.20 sec
      Start  9: libjsonnet_test_locale
 9/10 Test  #9: libjsonnet_test_locale ...........   Passed    0.23 sec
      Start 10: regression_test
10/10 Test google#10: regression_test ..................   Passed  121.46 sec

100% tests passed, 0 tests failed out of 10

Total Test time (real) = 124.00 sec
```

Signed-off-by: David Korczynski <david@adalogics.com>
hebasto pushed a commit that referenced this pull request Sep 11, 2025
)

jsonnet:
```
./infra/experimental/chronos/check_tests.sh jsonnet c++
...
...
Running tests...
Test project /src/jsonnet/build
      Start  1: unicode_test
 1/10 Test  #1: unicode_test .....................   Passed    0.06 sec
      Start  2: lexer_test
 2/10 Test  #2: lexer_test .......................   Passed    0.01 sec
      Start  3: parser_test
 3/10 Test  #3: parser_test ......................   Passed    0.03 sec
      Start  4: libjsonnet_test
 4/10 Test  #4: libjsonnet_test ..................   Passed    0.26 sec
      Start  5: libjsonnet_test_file
 5/10 Test  #5: libjsonnet_test_file .............   Passed    0.32 sec
      Start  6: libjsonnet_test_snippet
 6/10 Test  #6: libjsonnet_test_snippet ..........   Passed    0.23 sec
      Start  7: jsonnet_test_snippet
 7/10 Test  #7: jsonnet_test_snippet .............   Passed    0.23 sec
      Start  8: libjsonnet++_test
 8/10 Test  #8: libjsonnet++_test ................   Passed    1.25 sec
      Start  9: libjsonnet_test_locale
 9/10 Test  #9: libjsonnet_test_locale ...........   Passed    0.23 sec
      Start 10: regression_test
10/10 Test google#10: regression_test ..................   Passed  121.20 sec

100% tests passed, 0 tests failed out of 10

Total Test time (real) = 123.82 sec
```


assimp:
```
./infra/experimental/chronos/check_tests.sh assimp c++
...
...
[----------] 8 tests from ExtensionTests/ExtensionTest (0 ms total)

[----------] Global test environment tear-down
[==========] 591 tests from 117 test suites ran. (32219 ms total)
[  PASSED  ] 591 tests.
```

Signed-off-by: David Korczynski <david@adalogics.com>
hebasto pushed a commit that referenced this pull request Sep 11, 2025
Output from `infra/experimental/chronos/check_tests.sh libssh c`:

```
Running tests...
Test project /work/build
      Start  1: torture_bignum
 1/40 Test  #1: torture_bignum ......................   Passed    0.01 sec
      Start  2: torture_buffer
 2/40 Test  #2: torture_buffer ......................   Passed    0.79 sec
      Start  3: torture_bytearray
 3/40 Test  #3: torture_bytearray ...................   Passed    0.01 sec
      Start  4: torture_callbacks
 4/40 Test  #4: torture_callbacks ...................   Passed    0.01 sec
      Start  5: torture_crypto
 5/40 Test  #5: torture_crypto ......................   Passed    0.01 sec
      Start  6: torture_init
 6/40 Test  #6: torture_init ........................   Passed    0.01 sec
      Start  7: torture_list
 7/40 Test  #7: torture_list ........................   Passed    0.01 sec
      Start  8: torture_misc
 8/40 Test  #8: torture_misc ........................   Passed    0.29 sec
      Start  9: torture_config
 9/40 Test  #9: torture_config ......................   Passed    0.03 sec
      Start 10: torture_options
10/40 Test google#10: torture_options .....................   Passed    0.18 sec
      Start 11: torture_isipaddr
11/40 Test google#11: torture_isipaddr ....................   Passed    0.01 sec
      Start 12: torture_knownhosts_parsing
12/40 Test google#12: torture_knownhosts_parsing ..........   Passed    0.03 sec
      Start 13: torture_hashes
13/40 Test google#13: torture_hashes ......................   Passed    0.01 sec
      Start 14: torture_packet_filter
14/40 Test google#14: torture_packet_filter ...............   Passed    0.03 sec
      Start 15: torture_temp_dir
15/40 Test google#15: torture_temp_dir ....................   Passed    0.01 sec
      Start 16: torture_temp_file
16/40 Test google#16: torture_temp_file ...................   Passed    0.01 sec
      Start 17: torture_push_pop_dir
17/40 Test google#17: torture_push_pop_dir ................   Passed    0.01 sec
      Start 18: torture_session_keys
18/40 Test google#18: torture_session_keys ................   Passed    0.01 sec
      Start 19: torture_string
19/40 Test google#19: torture_string ......................   Passed    0.01 sec
      Start 20: torture_tokens
20/40 Test google#20: torture_tokens ......................   Passed    0.01 sec
      Start 21: torture_packet
21/40 Test google#21: torture_packet ......................   Passed    0.40 sec
      Start 22: torture_keyfiles
22/40 Test google#22: torture_keyfiles ....................   Passed    0.02 sec
      Start 23: torture_pki
23/40 Test google#23: torture_pki .........................   Passed    0.87 sec
      Start 24: torture_pki_rsa
24/40 Test google#24: torture_pki_rsa .....................   Passed    1.67 sec
      Start 25: torture_pki_dsa
25/40 Test google#25: torture_pki_dsa .....................   Passed    0.02 sec
      Start 26: torture_pki_ed25519
26/40 Test google#26: torture_pki_ed25519 .................   Passed    1.39 sec
      Start 27: torture_channel
27/40 Test google#27: torture_channel .....................   Passed    0.01 sec
      Start 28: torture_config_match_localnetwork
28/40 Test google#28: torture_config_match_localnetwork ...   Passed    0.01 sec
      Start 29: torture_bind_config
29/40 Test google#29: torture_bind_config .................   Passed    0.32 sec
      Start 30: torture_moduli
30/40 Test google#30: torture_moduli ......................   Passed    0.01 sec
      Start 31: torture_pki_ecdsa
31/40 Test google#31: torture_pki_ecdsa ...................   Passed    1.21 sec
      Start 32: torture_rand
32/40 Test google#32: torture_rand ........................   Passed    2.18 sec
      Start 33: torture_threads_init
33/40 Test google#33: torture_threads_init ................   Passed    0.02 sec
      Start 34: torture_threads_buffer
34/40 Test google#34: torture_threads_buffer ..............   Passed   87.26 sec
      Start 35: torture_threads_crypto
35/40 Test google#35: torture_threads_crypto ..............   Passed    0.05 sec
      Start 36: torture_threads_pki_rsa
36/40 Test google#36: torture_threads_pki_rsa .............   Passed    3.34 sec
      Start 37: torture_unit_server
37/40 Test google#37: torture_unit_server .................   Passed    0.01 sec
      Start 38: torture_server_x11
38/40 Test google#38: torture_server_x11 ..................   Passed    0.10 sec
      Start 39: torture_forwarded_tcpip_callback
39/40 Test google#39: torture_forwarded_tcpip_callback ....   Passed    0.28 sec
      Start 40: torture_server_direct_tcpip
40/40 Test google#40: torture_server_direct_tcpip .........   Passed    0.20 sec
```

Signed-off-by: Adam Korczynski <adam@adalogics.com>
hebasto pushed a commit that referenced this pull request Sep 11, 2025
Results of `infra/experimental/chronos/check_tests.sh brotli c`:
```
Test project /src/brotli
      Start  1: roundtrip/tests/testdata/alice29.txt/1
 1/73 Test  #1: roundtrip/tests/testdata/alice29.txt/1 ........................   Passed    0.03 sec
      Start  2: roundtrip/tests/testdata/alice29.txt/6
 2/73 Test  #2: roundtrip/tests/testdata/alice29.txt/6 ........................   Passed    0.05 sec
      Start  3: roundtrip/tests/testdata/alice29.txt/9
 3/73 Test  #3: roundtrip/tests/testdata/alice29.txt/9 ........................   Passed    0.07 sec
      Start  4: roundtrip/tests/testdata/alice29.txt/11
 4/73 Test  #4: roundtrip/tests/testdata/alice29.txt/11 .......................   Passed    0.77 sec
      Start  5: roundtrip/tests/testdata/asyoulik.txt/1
 5/73 Test  #5: roundtrip/tests/testdata/asyoulik.txt/1 .......................   Passed    0.03 sec
      Start  6: roundtrip/tests/testdata/asyoulik.txt/6
 6/73 Test  #6: roundtrip/tests/testdata/asyoulik.txt/6 .......................   Passed    0.04 sec
      Start  7: roundtrip/tests/testdata/asyoulik.txt/9
 7/73 Test  #7: roundtrip/tests/testdata/asyoulik.txt/9 .......................   Passed    0.07 sec
      Start  8: roundtrip/tests/testdata/asyoulik.txt/11
 8/73 Test  #8: roundtrip/tests/testdata/asyoulik.txt/11 ......................   Passed    0.62 sec
      Start  9: roundtrip/tests/testdata/lcet10.txt/1
 9/73 Test  #9: roundtrip/tests/testdata/lcet10.txt/1 .........................   Passed    0.04 sec
      Start 10: roundtrip/tests/testdata/lcet10.txt/6
10/73 Test google#10: roundtrip/tests/testdata/lcet10.txt/6 .........................   Passed    0.08 sec
      Start 11: roundtrip/tests/testdata/lcet10.txt/9
11/73 Test google#11: roundtrip/tests/testdata/lcet10.txt/9 .........................   Passed    0.14 sec
      Start 12: roundtrip/tests/testdata/lcet10.txt/11
12/73 Test google#12: roundtrip/tests/testdata/lcet10.txt/11 ........................   Passed    2.11 sec
      Start 13: roundtrip/tests/testdata/plrabn12.txt/1      
13/73 Test google#13: roundtrip/tests/testdata/plrabn12.txt/1 .......................   Passed    0.05 sec
      Start 14: roundtrip/tests/testdata/plrabn12.txt/6
14/73 Test google#14: roundtrip/tests/testdata/plrabn12.txt/6 .......................   Passed    0.09 sec
      Start 15: roundtrip/tests/testdata/plrabn12.txt/9
15/73 Test google#15: roundtrip/tests/testdata/plrabn12.txt/9 .......................   Passed    0.19 sec
      Start 16: roundtrip/tests/testdata/plrabn12.txt/11
16/73 Test google#16: roundtrip/tests/testdata/plrabn12.txt/11 ......................   Passed    2.19 sec
      Start 17: roundtrip/c/enc/encode.c/1
17/73 Test google#17: roundtrip/c/enc/encode.c/1 ....................................   Passed    0.02 sec
      Start 18: roundtrip/c/enc/encode.c/6
18/73 Test google#18: roundtrip/c/enc/encode.c/6 ....................................   Passed    0.03 sec
      Start 19: roundtrip/c/enc/encode.c/9
19/73 Test google#19: roundtrip/c/enc/encode.c/9 ....................................   Passed    0.04 sec
      Start 20: roundtrip/c/enc/encode.c/11
20/73 Test google#20: roundtrip/c/enc/encode.c/11 ...................................   Passed    0.35 sec
      Start 21: roundtrip/c/common/dictionary.h/1
21/73 Test google#21: roundtrip/c/common/dictionary.h/1 .............................   Passed    0.02 sec
      Start 22: roundtrip/c/common/dictionary.h/6
22/73 Test google#22: roundtrip/c/common/dictionary.h/6 .............................   Passed    0.02 sec
      Start 23: roundtrip/c/common/dictionary.h/9
23/73 Test google#23: roundtrip/c/common/dictionary.h/9 .............................   Passed    0.02 sec
      Start 24: roundtrip/c/common/dictionary.h/11
24/73 Test google#24: roundtrip/c/common/dictionary.h/11 ............................   Passed    0.04 sec
      Start 25: roundtrip/c/dec/decode.c/1
25/73 Test google#25: roundtrip/c/dec/decode.c/1 ....................................   Passed    0.02 sec
      Start 26: roundtrip/c/dec/decode.c/6
26/73 Test google#26: roundtrip/c/dec/decode.c/6 ....................................   Passed    0.03 sec
      Start 27: roundtrip/c/dec/decode.c/9
27/73 Test google#27: roundtrip/c/dec/decode.c/9 ....................................   Passed    0.05 sec
      Start 28: roundtrip/c/dec/decode.c/11
28/73 Test google#28: roundtrip/c/dec/decode.c/11 ...................................   Passed    0.49 sec
      Start 29: compatibility/tests/testdata/10x10y.compressed
29/73 Test google#29: compatibility/tests/testdata/10x10y.compressed ................   Passed    0.01 sec
      Start 30: compatibility/tests/testdata/64x.compressed
30/73 Test google#30: compatibility/tests/testdata/64x.compressed ...................   Passed    0.01 sec
      Start 31: compatibility/tests/testdata/alice29.txt.compressed
31/73 Test google#31: compatibility/tests/testdata/alice29.txt.compressed ...........   Passed    0.02 sec
      Start 32: compatibility/tests/testdata/asyoulik.txt.compressed
32/73 Test google#32: compatibility/tests/testdata/asyoulik.txt.compressed ..........   Passed    0.01 sec
      Start 33: compatibility/tests/testdata/backward65536.compressed
33/73 Test google#33: compatibility/tests/testdata/backward65536.compressed .........   Passed    0.01 sec
      Start 34: compatibility/tests/testdata/compressed_file.compressed
34/73 Test google#34: compatibility/tests/testdata/compressed_file.compressed .......   Passed    0.01 sec
      Start 35: compatibility/tests/testdata/compressed_repeated.compressed
35/73 Test google#35: compatibility/tests/testdata/compressed_repeated.compressed ...   Passed    0.01 sec
      Start 36: compatibility/tests/testdata/cp1251-utf16le.compressed
36/73 Test google#36: compatibility/tests/testdata/cp1251-utf16le.compressed ........   Passed    0.01 sec
      Start 37: compatibility/tests/testdata/cp852-utf8.compressed
37/73 Test google#37: compatibility/tests/testdata/cp852-utf8.compressed ............   Passed    0.01 sec
      Start 38: compatibility/tests/testdata/empty.compressed
38/73 Test google#38: compatibility/tests/testdata/empty.compressed .................   Passed    0.01 sec
      Start 39: compatibility/tests/testdata/empty.compressed.00
39/73 Test google#39: compatibility/tests/testdata/empty.compressed.00 ..............   Passed    0.01 sec
      Start 40: compatibility/tests/testdata/empty.compressed.01
40/73 Test google#40: compatibility/tests/testdata/empty.compressed.01 ..............   Passed    0.01 sec
      Start 41: compatibility/tests/testdata/empty.compressed.02
41/73 Test google#41: compatibility/tests/testdata/empty.compressed.02 ..............   Passed    0.01 sec
      Start 42: compatibility/tests/testdata/empty.compressed.03
42/73 Test google#42: compatibility/tests/testdata/empty.compressed.03 ..............   Passed    0.01 sec
      Start 43: compatibility/tests/testdata/empty.compressed.04
43/73 Test google#43: compatibility/tests/testdata/empty.compressed.04 ..............   Passed    0.01 sec
      Start 44: compatibility/tests/testdata/empty.compressed.05
44/73 Test google#44: compatibility/tests/testdata/empty.compressed.05 ..............   Passed    0.01 sec
      Start 45: compatibility/tests/testdata/empty.compressed.06
45/73 Test google#45: compatibility/tests/testdata/empty.compressed.06 ..............   Passed    0.01 sec
      Start 46: compatibility/tests/testdata/empty.compressed.07
46/73 Test google#46: compatibility/tests/testdata/empty.compressed.07 ..............   Passed    0.01 sec
      Start 47: compatibility/tests/testdata/empty.compressed.08
47/73 Test google#47: compatibility/tests/testdata/empty.compressed.08 ..............   Passed    0.01 sec
      Start 48: compatibility/tests/testdata/empty.compressed.09
48/73 Test google#48: compatibility/tests/testdata/empty.compressed.09 ..............   Passed    0.01 sec
      Start 49: compatibility/tests/testdata/empty.compressed.10
49/73 Test google#49: compatibility/tests/testdata/empty.compressed.10 ..............   Passed    0.01 sec
      Start 50: compatibility/tests/testdata/empty.compressed.11
50/73 Test google#50: compatibility/tests/testdata/empty.compressed.11 ..............   Passed    0.01 sec
      Start 51: compatibility/tests/testdata/empty.compressed.12
51/73 Test google#51: compatibility/tests/testdata/empty.compressed.12 ..............   Passed    0.01 sec
      Start 52: compatibility/tests/testdata/empty.compressed.13
52/73 Test google#52: compatibility/tests/testdata/empty.compressed.13 ..............   Passed    0.01 sec
      Start 53: compatibility/tests/testdata/empty.compressed.14
53/73 Test google#53: compatibility/tests/testdata/empty.compressed.14 ..............   Passed    0.01 sec
      Start 54: compatibility/tests/testdata/empty.compressed.15
54/73 Test google#54: compatibility/tests/testdata/empty.compressed.15 ..............   Passed    0.01 sec
      Start 55: compatibility/tests/testdata/empty.compressed.16
55/73 Test google#55: compatibility/tests/testdata/empty.compressed.16 ..............   Passed    0.01 sec
      Start 56: compatibility/tests/testdata/empty.compressed.17
56/73 Test google#56: compatibility/tests/testdata/empty.compressed.17 ..............   Passed    0.03 sec
      Start 57: compatibility/tests/testdata/empty.compressed.18
57/73 Test google#57: compatibility/tests/testdata/empty.compressed.18 ..............   Passed    0.04 sec
      Start 58: compatibility/tests/testdata/lcet10.txt.compressed
58/73 Test google#58: compatibility/tests/testdata/lcet10.txt.compressed ............   Passed    0.02 sec
      Start 59: compatibility/tests/testdata/mapsdatazrh.compressed
59/73 Test google#59: compatibility/tests/testdata/mapsdatazrh.compressed ...........   Passed    0.02 sec
      Start 60: compatibility/tests/testdata/monkey.compressed
60/73 Test google#60: compatibility/tests/testdata/monkey.compressed ................   Passed    0.01 sec
      Start 61: compatibility/tests/testdata/plrabn12.txt.compressed
61/73 Test google#61: compatibility/tests/testdata/plrabn12.txt.compressed ..........   Passed    0.02 sec
      Start 62: compatibility/tests/testdata/quickfox.compressed
62/73 Test google#62: compatibility/tests/testdata/quickfox.compressed ..............   Passed    0.01 sec
      Start 63: compatibility/tests/testdata/quickfox_repeated.compressed
63/73 Test google#63: compatibility/tests/testdata/quickfox_repeated.compressed .....   Passed    0.01 sec
      Start 64: compatibility/tests/testdata/random_org_10k.bin.compressed
64/73 Test google#64: compatibility/tests/testdata/random_org_10k.bin.compressed ....   Passed    0.01 sec
      Start 65: compatibility/tests/testdata/ukkonooa.compressed
65/73 Test google#65: compatibility/tests/testdata/ukkonooa.compressed ..............   Passed    0.01 sec
      Start 66: compatibility/tests/testdata/x.compressed
66/73 Test google#66: compatibility/tests/testdata/x.compressed .....................   Passed    0.01 sec
      Start 67: compatibility/tests/testdata/x.compressed.00
67/73 Test google#67: compatibility/tests/testdata/x.compressed.00 ..................   Passed    0.01 sec
      Start 68: compatibility/tests/testdata/x.compressed.01
68/73 Test google#68: compatibility/tests/testdata/x.compressed.01 ..................   Passed    0.02 sec
      Start 69: compatibility/tests/testdata/x.compressed.02
69/73 Test google#69: compatibility/tests/testdata/x.compressed.02 ..................   Passed    0.01 sec
      Start 70: compatibility/tests/testdata/x.compressed.03
70/73 Test google#70: compatibility/tests/testdata/x.compressed.03 ..................   Passed    0.01 sec
      Start 71: compatibility/tests/testdata/xyzzy.compressed
71/73 Test google#71: compatibility/tests/testdata/xyzzy.compressed .................   Passed    0.01 sec
      Start 72: compatibility/tests/testdata/zeros.compressed
72/73 Test google#72: compatibility/tests/testdata/zeros.compressed .................   Passed    0.01 sec
      Start 73: compatibility/tests/testdata/zerosukkanooa.compressed
73/73 Test google#73: compatibility/tests/testdata/zerosukkanooa.compressed .........   Passed    0.02 sec

100% tests passed, 0 tests failed out of 73

Total Test time (real) =   8.35 sec
```

Signed-off-by: Adam Korczynski <adam@adalogics.com>
hebasto pushed a commit that referenced this pull request Sep 11, 2025
run_tests.sh is used as part of Chronos with cached builds:
https://github.com/google/oss-fuzz/tree/master/infra/experimental/chronos#check-tests

```
$ ./infra/experimental/chronos/check_tests.sh glslang c++
...
...
+ cd build                                                                                                                                                                                                                                                         
+ make test                                                                                                                                                                                                                                                        
Running tests...                                                                                                                                                                                                                                                   
/usr/local/bin/ctest --force-new-ctest-process                                                                                                                                                                                                                     
Test project /src/glslang/build                                                                                                                                                                                                                                    
    Start 1: glslang-testsuite                                                                                                                                                                                                                                     
1/1 Test #1: glslang-testsuite ................   Passed   35.85 sec                                                             
                                                                                                                                 
100% tests passed, 0 tests failed out of 1                                                                                                                                                                                                                         
                                                                                                                                                                                                                                                                   
Total Test time (real) =  35.85 sec
```

Signed-off-by: David Korczynski <david@adalogics.com>
hebasto pushed a commit that referenced this pull request Sep 11, 2025
Adds `run_tests.sh` for the libtiff project.

`run_tests.sh` is used as part of Chronos with cached builds:
https://github.com/google/oss-fuzz/tree/master/infra/experimental/chronos#check-tests

The last lines of `infra/experimental/chronos/check_tests.sh libtiff c`
are:

```
Running tests...
Test project /src/libtiff
        Start   1: test_signed_tags
  1/159 Test   #1: test_signed_tags ............................................   Passed    0.02 sec
        Start   2: ascii_tag
  2/159 Test   #2: ascii_tag ...................................................   Passed    0.01 sec
        Start   3: long_tag
  3/159 Test   #3: long_tag ....................................................   Passed    0.01 sec
        Start   4: short_tag
  4/159 Test   #4: short_tag ...................................................   Passed    0.01 sec
        Start   5: strip_rw
  5/159 Test   #5: strip_rw ....................................................   Passed    0.02 sec
        Start   6: rewrite
  6/159 Test   #6: rewrite .....................................................   Passed    0.02 sec
        Start   7: raw_decode
  7/159 Test   #7: raw_decode ..................................................   Passed    0.01 sec
        Start   8: custom_dir
  8/159 Test   #8: custom_dir ..................................................   Passed    0.01 sec
        Start   9: rational_precision2double
  9/159 Test   #9: rational_precision2double ...................................   Passed    0.02 sec
        Start  10: test_write_read_tags
 10/159 Test  google#10: test_write_read_tags ........................................   Passed    0.03 sec
        Start  11: test_transferfunction_write_read
 11/159 Test  google#11: test_transferfunction_write_read ............................   Passed    0.02 sec
        Start  12: custom_dir_EXIF_231
 12/159 Test  google#12: custom_dir_EXIF_231 .........................................   Passed    0.02 sec
        Start  13: defer_strile_loading
 13/159 Test  google#13: defer_strile_loading ........................................   Passed    0.33 sec
        Start  14: defer_strile_writing
 14/159 Test  google#14: defer_strile_writing ........................................   Passed    0.02 sec
        Start  15: test_directory
 15/159 Test  google#15: test_directory ..............................................   Passed    0.09 sec
        Start  16: test_IFD_enlargement
 16/159 Test  google#16: test_IFD_enlargement ........................................   Passed    0.17 sec
        Start  17: testtypes
 17/159 Test  google#17: testtypes ...................................................   Passed    0.01 sec
        Start  18: test_open_options
 18/159 Test  google#18: test_open_options ...........................................   Passed    0.01 sec
        Start  19: test_append_to_strip
 19/159 Test  google#19: test_append_to_strip ........................................   Passed    0.01 sec
        Start  20: test_ifd_loop_detection
 20/159 Test  google#20: test_ifd_loop_detection .....................................   Passed    0.02 sec
        Start  21: test_RGBAImage
 21/159 Test  google#21: test_RGBAImage ..............................................   Passed    3.89 sec
        Start  22: ppm2tiff-miniswhite-miniswhite-1c-1b
 22/159 Test  google#22: ppm2tiff-miniswhite-miniswhite-1c-1b ........................   Passed    0.63 sec
        Start  23: ppm2tiff-minisblack-minisblack-1c-8b
 23/159 Test  google#23: ppm2tiff-minisblack-minisblack-1c-8b ........................   Passed    0.02 sec
        Start  24: ppm2tiff-rgb-rgb-3c-16b
 24/159 Test  google#24: ppm2tiff-rgb-rgb-3c-16b .....................................   Passed    0.02 sec
        Start  25: ppm2tiff-rgb-rgb-3c-8b
 25/159 Test  google#25: ppm2tiff-rgb-rgb-3c-8b ......................................   Passed    0.02 sec
        Start  26: tiffcp-TIFFIMG-custom_dir_EXIF_GPS
 26/159 Test  google#26: tiffcp-TIFFIMG-custom_dir_EXIF_GPS ..........................   Passed    0.02 sec
        Start  27: tiffcp-TIFFIMG-logluv-3c-16b
 27/159 Test  google#27: tiffcp-TIFFIMG-logluv-3c-16b ................................   Passed    0.02 sec
        Start  28: tiffcp-TIFFIMG-minisblack-1c-16b
 28/159 Test  google#28: tiffcp-TIFFIMG-minisblack-1c-16b ............................   Passed    0.03 sec
        Start  29: tiffcp-TIFFIMG-minisblack-1c-8b
 29/159 Test  google#29: tiffcp-TIFFIMG-minisblack-1c-8b .............................   Passed    0.03 sec
        Start  30: tiffcp-TIFFIMG-minisblack-2c-8b-alpha
 30/159 Test  google#30: tiffcp-TIFFIMG-minisblack-2c-8b-alpha .......................   Passed    0.02 sec
        Start  31: tiffcp-TIFFIMG-miniswhite-1c-1b
 31/159 Test  google#31: tiffcp-TIFFIMG-miniswhite-1c-1b .............................   Passed    0.02 sec
        Start  32: tiffcp-TIFFIMG-palette-1c-1b
 32/159 Test  google#32: tiffcp-TIFFIMG-palette-1c-1b ................................   Passed    0.02 sec
        Start  33: tiffcp-TIFFIMG-palette-1c-4b
 33/159 Test  google#33: tiffcp-TIFFIMG-palette-1c-4b ................................   Passed    0.02 sec
        Start  34: tiffcp-TIFFIMG-palette-1c-8b
 34/159 Test  google#34: tiffcp-TIFFIMG-palette-1c-8b ................................   Passed    0.02 sec
        Start  35: tiffcp-TIFFIMG-rgb-3c-16b
 35/159 Test  google#35: tiffcp-TIFFIMG-rgb-3c-16b ...................................   Passed    0.02 sec
        Start  36: tiffcp-TIFFIMG-rgb-3c-8b
 36/159 Test  google#36: tiffcp-TIFFIMG-rgb-3c-8b ....................................   Passed    0.02 sec
        Start  37: tiffcp-TIFFIMG-quad-lzw-compat
 37/159 Test  google#37: tiffcp-TIFFIMG-quad-lzw-compat ..............................   Passed    0.04 sec
        Start  38: tiffcp-TIFFIMG-lzw-single-strip
 38/159 Test  google#38: tiffcp-TIFFIMG-lzw-single-strip .............................   Passed    0.05 sec
        Start  39: tiffcp-TIFFIMG-testfax4
 39/159 Test  google#39: tiffcp-TIFFIMG-testfax4 .....................................   Passed    0.05 sec
        Start  40: tiffcp-TIFFIMG-testfax3_bug_513
 40/159 Test  google#40: tiffcp-TIFFIMG-testfax3_bug_513 .............................   Passed    0.02 sec
        Start  41: tiffcp-TIFFIMG-32bpp-None
 41/159 Test  google#41: tiffcp-TIFFIMG-32bpp-None ...................................   Passed    0.02 sec
        Start  42: tiffcp-TIFFIMG-quad-tile
 42/159 Test  google#42: tiffcp-TIFFIMG-quad-tile ....................................   Passed    0.03 sec
        Start  43: tiffcp-g3-miniswhite-1c-1b
 43/159 Test  google#43: tiffcp-g3-miniswhite-1c-1b ..................................   Passed    0.01 sec
        Start  44: tiffcp-g31d-miniswhite-1c-1b
 44/159 Test  google#44: tiffcp-g31d-miniswhite-1c-1b ................................   Passed    0.02 sec
        Start  45: tiffcp-g31dfill-miniswhite-1c-1b
 45/159 Test  google#45: tiffcp-g31dfill-miniswhite-1c-1b ............................   Passed    0.01 sec
        Start  46: tiffcp-g32d-miniswhite-1c-1b
 46/159 Test  google#46: tiffcp-g32d-miniswhite-1c-1b ................................   Passed    0.02 sec
        Start  47: tiffcp-g32dfill-miniswhite-1c-1b
 47/159 Test  google#47: tiffcp-g32dfill-miniswhite-1c-1b ............................   Passed    0.01 sec
        Start  48: tiffcp-g4-miniswhite-1c-1b
 48/159 Test  google#48: tiffcp-g4-miniswhite-1c-1b ..................................   Passed    0.02 sec
        Start  49: tiffcp-logluv-logluv-3c-16b
 49/159 Test  google#49: tiffcp-logluv-logluv-3c-16b .................................   Passed    0.02 sec
        Start  50: tiffcp-thumbnail-miniswhite-1c-1b
 50/159 Test  google#50: tiffcp-thumbnail-miniswhite-1c-1b ...........................   Passed    0.03 sec
        Start  51: tiffcp-none-quad-lzw-compat
 51/159 Test  google#51: tiffcp-none-quad-lzw-compat .................................   Passed    0.02 sec
        Start  52: tiffcp-noner1-lzw-single-strip
 52/159 Test  google#52: tiffcp-noner1-lzw-single-strip ..............................   Passed    0.03 sec
        Start  53: tiffcp-float64_lzw_2_le-test_float64_predictor2_le_lzw
 53/159 Test  google#53: tiffcp-float64_lzw_2_le-test_float64_predictor2_le_lzw ......   Passed    0.01 sec
        Start  54: tiffcp-float64_lzw_2_be-test_float64_predictor2_be_lzw
 54/159 Test  google#54: tiffcp-float64_lzw_2_be-test_float64_predictor2_be_lzw ......   Passed    0.01 sec
        Start  55: tiff2rgba-32BPP-32bpp-None
 55/159 Test  google#55: tiff2rgba-32BPP-32bpp-None ..................................   Passed    0.02 sec
        Start  56: tiffcp-32BPP-JPEG-32bpp-None-jpeg
 56/159 Test  google#56: tiffcp-32BPP-JPEG-32bpp-None-jpeg ...........................   Passed    0.02 sec
        Start  57: tiffcp-jbig-lzw-single-strip
 57/159 Test  google#57: tiffcp-jbig-lzw-single-strip ................................   Passed    0.18 sec
        Start  58: tiffdump-miniswhite-1c-1b
 58/159 Test  google#58: tiffdump-miniswhite-1c-1b ...................................   Passed    0.01 sec
        Start  59: tiffinfo-custom_dir_EXIF_GPS
 59/159 Test  google#59: tiffinfo-custom_dir_EXIF_GPS ................................   Passed    0.02 sec
        Start  60: tiffinfo-minisblack-1c-16b
 60/159 Test  google#60: tiffinfo-minisblack-1c-16b ..................................   Passed    0.02 sec
        Start  61: tiffinfo-tiff_with_subifd_chain
 61/159 Test  google#61: tiffinfo-tiff_with_subifd_chain .............................   Passed    0.01 sec
        Start  62: tiffcp-split
 62/159 Test  google#62: tiffcp-split ................................................   Passed    0.03 sec
        Start  63: tiffcp-split-join
 63/159 Test  google#63: tiffcp-split-join ...........................................   Passed    0.04 sec
        Start  64: tiff2pdf-miniswhite-1c-1b
 64/159 Test  google#64: tiff2pdf-miniswhite-1c-1b ...................................   Passed    0.02 sec
        Start  65: tiff2ps-miniswhite-1c-1b-ps-1
 65/159 Test  google#65: tiff2ps-miniswhite-1c-1b-ps-1 ...............................   Passed    0.02 sec
        Start  66: tiff2ps-miniswhite-1c-1b-ps-2 
 66/159 Test  google#66: tiff2ps-miniswhite-1c-1b-ps-2 ...............................   Passed    0.01 sec
        Start  67: tiff2ps-miniswhite-1c-1b-ps-3
 67/159 Test  google#67: tiff2ps-miniswhite-1c-1b-ps-3 ...............................   Passed    0.02 sec
        Start  68: tiff2ps-miniswhite-1c-1b-eps-1     
 68/159 Test  google#68: tiff2ps-miniswhite-1c-1b-eps-1 ..............................   Passed    0.01 sec
        Start  69: tiff2bw-default-palette-1c-8b       
 69/159 Test  google#69: tiff2bw-default-palette-1c-8b ...............................   Passed    0.02 sec
        Start  70: tiff2bw-default-rgb-3c-8b   
 70/159 Test  google#70: tiff2bw-default-rgb-3c-8b ...................................   Passed    0.02 sec
        Start  71: tiff2bw-default-quad-lzw-compat     
 71/159 Test  google#71: tiff2bw-default-quad-lzw-compat .............................   Passed    0.03 sec
        Start  72: tiff2rgba-default-custom_dir_EXIF_GPS
 72/159 Test  google#72: tiff2rgba-default-custom_dir_EXIF_GPS .......................   Passed    0.03 sec
        Start  73: tiff2rgba-default-logluv-3c-16b
 73/159 Test  google#73: tiff2rgba-default-logluv-3c-16b .............................   Passed    0.02 sec
        Start  74: tiff2rgba-default-minisblack-1c-16b 
 74/159 Test  google#74: tiff2rgba-default-minisblack-1c-16b .........................   Passed    0.03 sec
        Start  75: tiff2rgba-default-minisblack-1c-8b
 75/159 Test  google#75: tiff2rgba-default-minisblack-1c-8b ..........................   Passed    0.02 sec
        Start  76: tiff2rgba-default-minisblack-2c-8b-alpha
 76/159 Test  google#76: tiff2rgba-default-minisblack-2c-8b-alpha ....................   Passed    0.02 sec
        Start  77: tiff2rgba-default-miniswhite-1c-1b
 77/159 Test  google#77: tiff2rgba-default-miniswhite-1c-1b ..........................   Passed    0.03 sec
        Start  78: tiff2rgba-default-palette-1c-1b        
 78/159 Test  google#78: tiff2rgba-default-palette-1c-1b .............................   Passed    0.02 sec
        Start  79: tiff2rgba-default-palette-1c-4b  
 79/159 Test  google#79: tiff2rgba-default-palette-1c-4b .............................   Passed    0.03 sec
        Start  80: tiff2rgba-default-palette-1c-8b
 80/159 Test  google#80: tiff2rgba-default-palette-1c-8b .............................   Passed    0.03 sec
        Start  81: tiff2rgba-default-rgb-3c-16b  
 81/159 Test  google#81: tiff2rgba-default-rgb-3c-16b ................................   Passed    0.03 sec
        Start  82: tiff2rgba-default-rgb-3c-8b   
 82/159 Test  google#82: tiff2rgba-default-rgb-3c-8b .................................   Passed    0.03 sec
        Start  83: tiff2rgba-default-quad-lzw-compat
 83/159 Test  google#83: tiff2rgba-default-quad-lzw-compat ...........................   Passed    0.04 sec
        Start  84: tiff2rgba-default-lzw-single-strip
 84/159 Test  google#84: tiff2rgba-default-lzw-single-strip ..........................   Passed    0.39 sec
        Start  85: tiff2rgba-default-testfax4      
 85/159 Test  google#85: tiff2rgba-default-testfax4 ..................................   Passed    0.19 sec
        Start  86: tiff2rgba-default-testfax3_bug_513
 86/159 Test  google#86: tiff2rgba-default-testfax3_bug_513 ..........................   Passed    0.03 sec
        Start  87: tiff2rgba-default-32bpp-None
 87/159 Test  google#87: tiff2rgba-default-32bpp-None ................................   Passed    0.02 sec
        Start  88: tiff2rgba-default-quad-tile      
 88/159 Test  google#88: tiff2rgba-default-quad-tile .................................   Passed    0.04 sec
        Start  89: tiff2rgba-default-ojpeg_zackthecat_subsamp22_single_strip 
 89/159 Test  google#89: tiff2rgba-default-ojpeg_zackthecat_subsamp22_single_strip ...   Passed    0.03 sec
        Start  90: tiff2rgba-default-ojpeg_chewey_subsamp21_multi_strip
 90/159 Test  google#90: tiff2rgba-default-ojpeg_chewey_subsamp21_multi_strip ........   Passed    0.05 sec
        Start  91: tiff2rgba-default-ojpeg_single_strip_no_rowsperstrip
 91/159 Test  google#91: tiff2rgba-default-ojpeg_single_strip_no_rowsperstrip ........   Passed    0.03 sec
        Start  92: tiffcrop-R90-custom_dir_EXIF_GPS 
 92/159 Test  google#92: tiffcrop-R90-custom_dir_EXIF_GPS ............................   Passed    0.02 sec
        Start  93: tiffcrop-R90-logluv-3c-16b
 93/159 Test  google#93: tiffcrop-R90-logluv-3c-16b ..................................   Passed    0.02 sec
        Start  94: tiffcrop-R90-minisblack-1c-16b
 94/159 Test  google#94: tiffcrop-R90-minisblack-1c-16b ..............................   Passed    0.02 sec
        Start  95: tiffcrop-R90-minisblack-1c-8b
 95/159 Test  google#95: tiffcrop-R90-minisblack-1c-8b ...............................   Passed    0.03 sec
        Start  96: tiffcrop-R90-minisblack-2c-8b-alpha 
 96/159 Test  google#96: tiffcrop-R90-minisblack-2c-8b-alpha .........................   Passed    0.02 sec
        Start  97: tiffcrop-R90-miniswhite-1c-1b
 97/159 Test  google#97: tiffcrop-R90-miniswhite-1c-1b ...............................   Passed    0.03 sec
        Start  98: tiffcrop-R90-palette-1c-1b
 98/159 Test  google#98: tiffcrop-R90-palette-1c-1b ..................................   Passed    0.03 sec
        Start  99: tiffcrop-R90-palette-1c-4b
 99/159 Test  google#99: tiffcrop-R90-palette-1c-4b ..................................   Passed    0.03 sec
        Start 100: tiffcrop-R90-palette-1c-8b
100/159 Test google#100: tiffcrop-R90-palette-1c-8b ..................................   Passed    0.02 sec
        Start 101: tiffcrop-R90-rgb-3c-16b
101/159 Test google#101: tiffcrop-R90-rgb-3c-16b .....................................   Passed    0.03 sec
        Start 102: tiffcrop-R90-rgb-3c-8b
102/159 Test google#102: tiffcrop-R90-rgb-3c-8b ......................................   Passed    0.02 sec
        Start 103: tiffcrop-R90-quad-lzw-compat
103/159 Test google#103: tiffcrop-R90-quad-lzw-compat ................................   Passed    0.04 sec
        Start 104: tiffcrop-R90-lzw-single-strip
104/159 Test google#104: tiffcrop-R90-lzw-single-strip ...............................   Passed    0.21 sec
        Start 105: tiffcrop-R90-testfax4
105/159 Test google#105: tiffcrop-R90-testfax4 .......................................   Passed    0.12 sec
        Start 106: tiffcrop-R90-testfax3_bug_513 
106/159 Test google#106: tiffcrop-R90-testfax3_bug_513 ...............................   Passed    0.02 sec
        Start 107: tiffcrop-R90-32bpp-None
107/159 Test google#107: tiffcrop-R90-32bpp-None .....................................   Passed    0.02 sec
        Start 108: tiffcrop-R90-quad-tile
108/159 Test google#108: tiffcrop-R90-quad-tile ......................................   Passed    0.03 sec
        Start 109: tiffcrop-doubleflip-custom_dir_EXIF_GPS
109/159 Test google#109: tiffcrop-doubleflip-custom_dir_EXIF_GPS .....................   Passed    0.02 sec
        Start 110: tiffcrop-doubleflip-logluv-3c-16b
110/159 Test google#110: tiffcrop-doubleflip-logluv-3c-16b ...........................   Passed    0.02 sec
        Start 111: tiffcrop-doubleflip-minisblack-1c-16b
111/159 Test google#111: tiffcrop-doubleflip-minisblack-1c-16b .......................   Passed    0.02 sec
        Start 112: tiffcrop-doubleflip-minisblack-1c-8b
112/159 Test google#112: tiffcrop-doubleflip-minisblack-1c-8b ........................   Passed    0.02 sec
        Start 113: tiffcrop-doubleflip-minisblack-2c-8b-alpha
113/159 Test google#113: tiffcrop-doubleflip-minisblack-2c-8b-alpha ..................   Passed    0.02 sec
        Start 114: tiffcrop-doubleflip-miniswhite-1c-1b
114/159 Test google#114: tiffcrop-doubleflip-miniswhite-1c-1b ........................   Passed    0.03 sec
        Start 115: tiffcrop-doubleflip-palette-1c-1b
115/159 Test google#115: tiffcrop-doubleflip-palette-1c-1b ...........................   Passed    0.02 sec
        Start 116: tiffcrop-doubleflip-palette-1c-4b
116/159 Test google#116: tiffcrop-doubleflip-palette-1c-4b ...........................   Passed    0.03 sec
        Start 117: tiffcrop-doubleflip-palette-1c-8b
117/159 Test google#117: tiffcrop-doubleflip-palette-1c-8b ...........................   Passed    0.02 sec
        Start 118: tiffcrop-doubleflip-rgb-3c-16b
118/159 Test google#118: tiffcrop-doubleflip-rgb-3c-16b ..............................   Passed    0.03 sec
        Start 119: tiffcrop-doubleflip-rgb-3c-8b
119/159 Test google#119: tiffcrop-doubleflip-rgb-3c-8b ...............................   Passed    0.02 sec
        Start 120: tiffcrop-doubleflip-quad-lzw-compat
120/159 Test google#120: tiffcrop-doubleflip-quad-lzw-compat .........................   Passed    0.04 sec
        Start 121: tiffcrop-doubleflip-lzw-single-strip
121/159 Test google#121: tiffcrop-doubleflip-lzw-single-strip ........................   Passed    0.21 sec
        Start 122: tiffcrop-doubleflip-testfax4
122/159 Test google#122: tiffcrop-doubleflip-testfax4 ................................   Passed    0.11 sec
        Start 123: tiffcrop-doubleflip-testfax3_bug_513
123/159 Test google#123: tiffcrop-doubleflip-testfax3_bug_513 ........................   Passed    0.02 sec
        Start 124: tiffcrop-doubleflip-32bpp-None
124/159 Test google#124: tiffcrop-doubleflip-32bpp-None ..............................   Passed    0.03 sec
        Start 125: tiffcrop-doubleflip-quad-tile
125/159 Test google#125: tiffcrop-doubleflip-quad-tile ...............................   Passed    0.03 sec
        Start 126: tiffcrop-extract-custom_dir_EXIF_GPS
126/159 Test google#126: tiffcrop-extract-custom_dir_EXIF_GPS ........................   Passed    0.03 sec
        Start 127: tiffcrop-extract-logluv-3c-16b
127/159 Test google#127: tiffcrop-extract-logluv-3c-16b ..............................   Passed    0.02 sec
        Start 128: tiffcrop-extract-minisblack-1c-16b
128/159 Test google#128: tiffcrop-extract-minisblack-1c-16b ..........................   Passed    0.03 sec
        Start 129: tiffcrop-extract-minisblack-1c-8b
129/159 Test google#129: tiffcrop-extract-minisblack-1c-8b ...........................   Passed    0.02 sec
        Start 130: tiffcrop-extract-minisblack-2c-8b-alpha
130/159 Test google#130: tiffcrop-extract-minisblack-2c-8b-alpha .....................   Passed    0.02 sec
        Start 131: tiffcrop-extract-miniswhite-1c-1b
131/159 Test google#131: tiffcrop-extract-miniswhite-1c-1b ...........................   Passed    0.03 sec
        Start 132: tiffcrop-extract-palette-1c-1b
132/159 Test google#132: tiffcrop-extract-palette-1c-1b ..............................   Passed    0.02 sec
        Start 133: tiffcrop-extract-palette-1c-4b
133/159 Test google#133: tiffcrop-extract-palette-1c-4b ..............................   Passed    0.02 sec
        Start 134: tiffcrop-extract-palette-1c-8b
134/159 Test google#134: tiffcrop-extract-palette-1c-8b ..............................   Passed    0.02 sec
        Start 135: tiffcrop-extract-rgb-3c-16b
135/159 Test google#135: tiffcrop-extract-rgb-3c-16b .................................   Passed    0.02 sec
        Start 136: tiffcrop-extract-rgb-3c-8b
136/159 Test google#136: tiffcrop-extract-rgb-3c-8b ..................................   Passed    0.02 sec
        Start 137: tiffcrop-extract-quad-lzw-compat
137/159 Test google#137: tiffcrop-extract-quad-lzw-compat ............................   Passed    0.03 sec
        Start 138: tiffcrop-extract-lzw-single-strip
138/159 Test google#138: tiffcrop-extract-lzw-single-strip ...........................   Passed    0.03 sec
        Start 139: tiffcrop-extract-testfax4
139/159 Test google#139: tiffcrop-extract-testfax4 ...................................   Passed    0.03 sec
        Start 140: tiffcrop-extract-testfax3_bug_513
140/159 Test google#140: tiffcrop-extract-testfax3_bug_513 ...........................   Passed    0.02 sec
        Start 141: tiffcrop-extract-32bpp-None
141/159 Test google#141: tiffcrop-extract-32bpp-None .................................   Passed    0.02 sec
        Start 142: tiffcrop-extract-quad-tile
142/159 Test google#142: tiffcrop-extract-quad-tile ..................................   Passed    0.03 sec
        Start 143: tiffcrop-extractz14-custom_dir_EXIF_GPS
143/159 Test google#143: tiffcrop-extractz14-custom_dir_EXIF_GPS .....................   Passed    0.02 sec
        Start 144: tiffcrop-extractz14-logluv-3c-16b
144/159 Test google#144: tiffcrop-extractz14-logluv-3c-16b ...........................   Passed    0.02 sec
        Start 145: tiffcrop-extractz14-minisblack-1c-16b
145/159 Test google#145: tiffcrop-extractz14-minisblack-1c-16b .......................   Passed    0.03 sec
        Start 146: tiffcrop-extractz14-minisblack-1c-8b
146/159 Test google#146: tiffcrop-extractz14-minisblack-1c-8b ........................   Passed    0.02 sec
        Start 147: tiffcrop-extractz14-minisblack-2c-8b-alpha
147/159 Test google#147: tiffcrop-extractz14-minisblack-2c-8b-alpha ..................   Passed    0.03 sec
        Start 148: tiffcrop-extractz14-miniswhite-1c-1b
148/159 Test google#148: tiffcrop-extractz14-miniswhite-1c-1b ........................   Passed    0.02 sec
        Start 149: tiffcrop-extractz14-palette-1c-1b
149/159 Test google#149: tiffcrop-extractz14-palette-1c-1b ...........................   Passed    0.02 sec
        Start 150: tiffcrop-extractz14-palette-1c-4b
150/159 Test google#150: tiffcrop-extractz14-palette-1c-4b ...........................   Passed    0.02 sec
        Start 151: tiffcrop-extractz14-palette-1c-8b
151/159 Test google#151: tiffcrop-extractz14-palette-1c-8b ...........................   Passed    0.02 sec
        Start 152: tiffcrop-extractz14-rgb-3c-16b
152/159 Test google#152: tiffcrop-extractz14-rgb-3c-16b ..............................   Passed    0.02 sec
        Start 153: tiffcrop-extractz14-rgb-3c-8b
153/159 Test google#153: tiffcrop-extractz14-rgb-3c-8b ...............................   Passed    0.03 sec
        Start 154: tiffcrop-extractz14-quad-lzw-compat
154/159 Test google#154: tiffcrop-extractz14-quad-lzw-compat .........................   Passed    0.03 sec
        Start 155: tiffcrop-extractz14-lzw-single-strip
155/159 Test google#155: tiffcrop-extractz14-lzw-single-strip ........................   Passed    0.18 sec
        Start 156: tiffcrop-extractz14-testfax4
156/159 Test google#156: tiffcrop-extractz14-testfax4 ................................   Passed    0.09 sec
        Start 157: tiffcrop-extractz14-testfax3_bug_513
157/159 Test google#157: tiffcrop-extractz14-testfax3_bug_513 ........................   Passed    0.02 sec
        Start 158: tiffcrop-extractz14-32bpp-None
158/159 Test google#158: tiffcrop-extractz14-32bpp-None ..............................   Passed    0.02 sec
        Start 159: tiffcrop-extractz14-quad-tile
159/159 Test google#159: tiffcrop-extractz14-quad-tile ...............................   Passed    0.03 sec

100% tests passed, 0 tests failed out of 159

Total Test time (real) =  10.33 sec
```

Signed-off-by: Adam Korczynski <adam@adalogics.com>
hebasto pushed a commit that referenced this pull request Sep 11, 2025
Adds `run_tests.sh` to the expat project.

`run_tests.sh` is used as part of Chronos with cached builds:
https://github.com/google/oss-fuzz/tree/master/infra/experimental/chronos#check-tests

Output of ./infra/experimental/chronos/check_tests.sh expat c++:
```
Running tests...
Test project /src/expat/build
    Start 1: runtests
1/2 Test #1: runtests .........................   Passed   26.07 sec
    Start 2: runtests_cxx
2/2 Test #2: runtests_cxx .....................   Passed   28.86 sec

100% tests passed, 0 tests failed out of 2

Total Test time (real) =  54.93 sec
```
hebasto pushed a commit that referenced this pull request Sep 11, 2025
Adds `run_tests.sh` to the cmark project.

`run_tests.sh` is used as part of Chronos with cached builds:
https://github.com/google/oss-fuzz/tree/master/infra/experimental/chronos#check-tests

Output of ./infra/experimental/chronos/check_tests.sh cmark c++:
```
Running tests...
Test project /src/cmark/build
    Start 1: api_test
1/5 Test #1: api_test .........................   Passed    0.03 sec
    Start 2: html_normalization
2/5 Test #2: html_normalization ...............   Passed    0.22 sec
    Start 3: spectest_executable
3/5 Test #3: spectest_executable ..............   Passed   10.47 sec
    Start 4: smartpuncttest_executable
4/5 Test #4: smartpuncttest_executable ........   Passed    0.34 sec
    Start 5: regressiontest_executable
5/5 Test #5: regressiontest_executable ........   Passed    0.44 sec

100% tests passed, 0 tests failed out of 5

Total Test time (real) =  11.51 sec
```
hebasto pushed a commit that referenced this pull request Sep 11, 2025
Adds `run_tests.sh` to the jsoncpp project.

`run_tests.sh` is used as part of Chronos with cached builds:
https://github.com/google/oss-fuzz/tree/master/infra/experimental/chronos#check-tests

Output of ./infra/experimental/chronos/check_tests.sh jsoncpp c++:
```
Running tests...
Test project /src/jsoncpp/build
    Start 1: jsoncpp_readerwriter
1/3 Test #1: jsoncpp_readerwriter ................   Passed    4.95 sec
    Start 2: jsoncpp_readerwriter_json_checker
2/3 Test #2: jsoncpp_readerwriter_json_checker ...   Passed    6.45 sec
    Start 3: jsoncpp_test
3/3 Test #3: jsoncpp_test ........................   Passed    0.05 sec

100% tests passed, 0 tests failed out of 3

Total Test time (real) =  11.46 sec
```
hebasto pushed a commit that referenced this pull request Sep 11, 2025
Adds `run_tests.sh` to the jsonc project.

`run_tests.sh` is used as part of Chronos with cached builds:
https://github.com/google/oss-fuzz/tree/master/infra/experimental/chronos#check-tests

Output of `./infra/experimental/chronos/check_tests.sh jsoncpp c++`:
```
Running tests...
Test project /src/json-c/json-c-build
      Start  1: test1
 1/25 Test  #1: test1 ............................   Passed    0.22 sec
      Start  2: test2
 2/25 Test  #2: test2 ............................   Passed    0.15 sec
      Start  3: test4
 3/25 Test  #3: test4 ............................   Passed    0.05 sec
      Start  4: testReplaceExisting
 4/25 Test  #4: testReplaceExisting ..............   Passed    0.04 sec
      Start  5: test_cast
 5/25 Test  #5: test_cast ........................   Passed    0.05 sec
      Start  6: test_charcase
 6/25 Test  #6: test_charcase ....................   Passed    0.06 sec
      Start  7: test_compare
 7/25 Test  #7: test_compare .....................   Passed    0.05 sec
      Start  8: test_deep_copy
 8/25 Test  #8: test_deep_copy ...................   Passed    0.05 sec
      Start  9: test_double_serializer
 9/25 Test  #9: test_double_serializer ...........   Passed    0.04 sec
      Start 10: test_float
10/25 Test google#10: test_float .......................   Passed    0.04 sec
      Start 11: test_int_add
11/25 Test google#11: test_int_add .....................   Passed    0.04 sec
      Start 12: test_int_get
12/25 Test google#12: test_int_get .....................   Passed    0.04 sec
      Start 13: test_locale
13/25 Test google#13: test_locale ......................   Passed    0.05 sec
      Start 14: test_null
14/25 Test google#14: test_null ........................   Passed    0.04 sec
      Start 15: test_parse
15/25 Test google#15: test_parse .......................   Passed    0.05 sec
      Start 16: test_parse_int64
16/25 Test google#16: test_parse_int64 .................   Passed    0.05 sec
      Start 17: test_printbuf
17/25 Test google#17: test_printbuf ....................   Passed    0.05 sec
      Start 18: test_set_serializer
18/25 Test google#18: test_set_serializer ..............   Passed    0.04 sec
      Start 19: test_set_value
19/25 Test google#19: test_set_value ...................   Passed    0.05 sec
      Start 20: test_strerror
20/25 Test google#20: test_strerror ....................   Passed    0.04 sec
      Start 21: test_util_file
21/25 Test google#21: test_util_file ...................   Passed    0.05 sec
      Start 22: test_visit
22/25 Test google#22: test_visit .......................   Passed    0.05 sec
      Start 23: test_object_iterator
23/25 Test google#23: test_object_iterator .............   Passed    0.05 sec
      Start 24: test_json_pointer
24/25 Test google#24: test_json_pointer ................   Passed    0.05 sec
      Start 25: test_json_patch
25/25 Test google#25: test_json_patch ..................   Passed    0.07 sec

100% tests passed, 0 tests failed out of 25

Total Test time (real) =   1.48 sec
```
hebasto pushed a commit that referenced this pull request Sep 11, 2025
Adds `run_tests.sh` to the expat project.

`run_tests.sh` is used as part of Chronos with cached builds:
https://github.com/google/oss-fuzz/tree/master/infra/experimental/chronos#check-tests

Output of ./infra/experimental/chronos/check_tests.sh yaml-cpp c++:
```
Running tests...
Test project /src/yaml-cpp/build
    Start 1: yaml-cpp::test
1/1 Test #1: yaml-cpp::test ...................   Passed    1.32 sec

100% tests passed, 0 tests failed out of 1

Total Test time (real) =   1.32 sec
```
hebasto pushed a commit that referenced this pull request Sep 11, 2025
Adds `run_tests.sh` to the expat project.

`run_tests.sh` is used as part of Chronos with cached builds:
https://github.com/google/oss-fuzz/tree/master/infra/experimental/chronos#check-tests

Output of ./infra/experimental/chronos/check_tests.sh nghttp2 c++:
```
[ 51%] Built target nghttp2_static
[ 66%] Built target failmalloc
[100%] Built target main
Test project /src/nghttp2/build
    Start 1: main
1/2 Test #1: main .............................   Passed    2.61 sec
    Start 2: failmalloc
2/2 Test #2: failmalloc .......................   Passed    0.09 sec

100% tests passed, 0 tests failed out of 2

Total Test time (real) =   2.71 sec
[100%] Built target check
```
hebasto pushed a commit that referenced this pull request Sep 11, 2025
`infra/experimental/chronos/check_tests.sh spdlog c`

```
Test project /src/spdlog                                                                                                                13:06:09 [23/1817]
    Start 1: spdlog-utests                                                   
1/1 Test #1: spdlog-utests ....................   Passed    5.55 sec                                                                                      
                                                                                                                                                          
100% tests passed, 0 tests failed out of 1                                                                                                                
                                                                             
Total Test time (real) =   5.55 sec
```

Signed-off-by: Adam Korczynski <adam@adalogics.com>
hebasto pushed a commit that referenced this pull request Sep 11, 2025
Adds `run_tests.sh` to the snappy project.

`run_tests.sh` is used as part of Chronos with cached builds:
https://github.com/google/oss-fuzz/tree/master/infra/experimental/chronos#check-tests

Output of ./infra/experimental/chronos/check_tests.sh snappy c++:
```
Test project /src/snappy/build
    Start 1: snappy_unittest
1/1 Test #1: snappy_unittest ..................   Passed   27.88 sec

100% tests passed, 0 tests failed out of 1

Total Test time (real) =  27.88 sec
```
hebasto pushed a commit that referenced this pull request Sep 11, 2025
Adds `run_tests.sh` to the fmt project.

`run_tests.sh` is used as part of Chronos with cached builds:
https://github.com/google/oss-fuzz/tree/master/infra/experimental/chronos#check-tests

Output of ./infra/experimental/chronos/check_tests.sh fmt c++:
```
[0/1] Running tests...
Test project /src/fmt/build
      Start  1: args-test
 1/21 Test  #1: args-test ........................   Passed    0.07 sec
      Start  2: base-test
 2/21 Test  #2: base-test ........................   Passed    0.11 sec
      Start  3: assert-test
 3/21 Test  #3: assert-test ......................   Passed    0.40 sec
      Start  4: chrono-test
 4/21 Test  #4: chrono-test ......................   Passed    0.45 sec
      Start  5: color-test
 5/21 Test  #5: color-test .......................   Passed    0.07 sec
      Start  6: gtest-extra-test
 6/21 Test  #6: gtest-extra-test .................   Passed    0.13 sec
      Start  7: format-test
 7/21 Test  #7: format-test ......................   Passed    0.15 sec
      Start  8: format-impl-test
 8/21 Test  #8: format-impl-test .................   Passed    0.16 sec
      Start  9: ostream-test
 9/21 Test  #9: ostream-test .....................   Passed    0.04 sec
      Start 10: compile-test
10/21 Test google#10: compile-test .....................   Passed    0.04 sec
      Start 11: compile-fp-test
11/21 Test google#11: compile-fp-test ..................   Passed    0.04 sec
      Start 12: printf-test
12/21 Test google#12: printf-test ......................   Passed    0.09 sec
      Start 13: ranges-test
13/21 Test google#13: ranges-test ......................   Passed    0.06 sec
      Start 14: no-builtin-types-test
14/21 Test google#14: no-builtin-types-test ............   Passed    0.05 sec
      Start 15: scan-test
15/21 Test google#15: scan-test ........................   Passed    0.08 sec
      Start 16: std-test
16/21 Test google#16: std-test .........................   Passed    0.05 sec
      Start 17: unicode-test
17/21 Test google#17: unicode-test .....................   Passed    0.05 sec
      Start 18: xchar-test
18/21 Test google#18: xchar-test .......................   Passed    0.06 sec
      Start 19: enforce-checks-test
19/21 Test google#19: enforce-checks-test ..............   Passed    0.03 sec
      Start 20: posix-mock-test
20/21 Test google#20: posix-mock-test ..................   Passed    0.06 sec
      Start 21: os-test
21/21 Test google#21: os-test ..........................   Passed    0.07 sec

100% tests passed, 0 tests failed out of 21

Total Test time (real) =   2.32 sec
```
hebasto pushed a commit that referenced this pull request Sep 11, 2025
Adds `run_tests.sh` to the muparser project.

`run_tests.sh` is used as part of Chronos with cached builds:
https://github.com/google/oss-fuzz/tree/master/infra/experimental/chronos#check-tests

Output of ./infra/experimental/chronos/check_tests.sh muparser c++:
```
Running tests...
Test project /src/muparser
    Start 1: ParserTest
1/1 Test #1: ParserTest .......................   Passed    0.68 sec

100% tests passed, 0 tests failed out of 1

Total Test time (real) =   0.69 sec
```
hebasto pushed a commit that referenced this pull request Sep 11, 2025
run_tests.sh is used as part of Chronos with cached builds:
https://github.com/google/oss-fuzz/tree/master/infra/experimental/chronos#check-tests

```
$ infra/experimental/chronos/check_tests.sh utf8proc c++
...
...
Running tests...
Test project /src/utf8proc/build
      Start  1: utf8proc.testcase
 1/10 Test  #1: utf8proc.testcase ................   Passed    0.07 sec
      Start  2: utf8proc.testcustom
 2/10 Test  #2: utf8proc.testcustom ..............   Passed    0.01 sec
      Start  3: utf8proc.testiterate
 3/10 Test  #3: utf8proc.testiterate .............   Passed    0.01 sec
      Start  4: utf8proc.testmisc
 4/10 Test  #4: utf8proc.testmisc ................   Passed    0.01 sec
      Start  5: utf8proc.testprintproperty
 5/10 Test  #5: utf8proc.testprintproperty .......   Passed    0.00 sec
      Start  6: utf8proc.testvalid
 6/10 Test  #6: utf8proc.testvalid ...............   Passed    0.01 sec
      Start  7: utf8proc.testmaxdecomposition
 7/10 Test  #7: utf8proc.testmaxdecomposition ....   Passed    0.03 sec
      Start  8: utf8proc.testcharwidth
 8/10 Test  #8: utf8proc.testcharwidth ...........   Passed    0.09 sec
      Start  9: utf8proc.testgraphemetest
 9/10 Test  #9: utf8proc.testgraphemetest ........   Passed    0.01 sec
      Start 10: utf8proc.testnormtest
10/10 Test google#10: utf8proc.testnormtest ............   Passed    0.35 sec

100% tests passed, 0 tests failed out of 10

Total Test time (real) =   0.58 sec
```

Signed-off-by: David Korczynski <david@adalogics.com>
hebasto pushed a commit that referenced this pull request Sep 11, 2025
Adds `run_tests.sh` to the args project.

`run_tests.sh` is used as part of Chronos with cached builds:
https://github.com/google/oss-fuzz/tree/master/infra/experimental/chronos#check-tests

Output of ./infra/experimental/chronos/check_tests.sh args c++:
```
Test project /src/args/build
    Start 1: test
1/2 Test #1: test .............................   Passed    0.27 sec
    Start 2: test-multiple-inclusion
2/2 Test #2: test-multiple-inclusion ..........   Passed    0.06 sec

100% tests passed, 0 tests failed out of 2

Total Test time (real) =   0.34 sec
```
hebasto pushed a commit that referenced this pull request Sep 11, 2025
Adds `run_tests.sh` to the double-conversion project.

`run_tests.sh` is used as part of Chronos with cached builds:
https://github.com/google/oss-fuzz/tree/master/infra/experimental/chronos#check-tests

Output of ./infra/experimental/chronos/check_tests.sh double-conversion
c++:
```
[0/1] Running tests...
Test project /work/double-conversion
    Start 1: test_bignum
1/9 Test #1: test_bignum ......................   Passed    0.52 sec
    Start 2: test_bignum_dtoa
2/9 Test #2: test_bignum_dtoa .................   Passed    2.91 sec
    Start 3: test_conversions
3/9 Test #3: test_conversions .................   Passed    0.10 sec
    Start 4: test_diy_fp
4/9 Test #4: test_diy_fp ......................   Passed    0.11 sec
    Start 5: test_dtoa
5/9 Test #5: test_dtoa ........................   Passed    0.49 sec
    Start 6: test_fast_dtoa
6/9 Test #6: test_fast_dtoa ...................   Passed    0.28 sec
    Start 7: test_fixed_dtoa
7/9 Test #7: test_fixed_dtoa ..................   Passed    0.16 sec
    Start 8: test_ieee
8/9 Test #8: test_ieee ........................   Passed    0.10 sec
    Start 9: test_strtod
9/9 Test #9: test_strtod ......................   Passed    0.14 sec

100% tests passed, 0 tests failed out of 9

Total Test time (real) =   4.83 sec
```
hebasto pushed a commit that referenced this pull request Sep 11, 2025
Adds `run_tests.sh` to the libigl project.

`run_tests.sh` is used as part of Chronos with cached builds:
https://github.com/google/oss-fuzz/tree/master/infra/experimental/chronos#check-tests

Output of ./infra/experimental/chronos/check_tests.sh libigl c++:
```
Test project /src/libigl/build-dir
        Start   1: AABB: find_2d
        Start   2: AABB: find_3d
        Start   3: AABB: insert
        Start   4: AABB: dynamic
        Start   5: MshLoader
        Start   6: MshSaver
        Start   7: accumarray: matlab_help
        Start   8: accumarray: scalar
  1/214 Test   #3: AABB: insert ............................................   Passed    0.11 sec
        Start   9: adjacency_list: simple
  2/214 Test   #1: AABB: find_2d ...........................................   Passed    0.46 sec
        Start  10: avg_edge_length: cube
  3/214 Test   #2: AABB: find_3d ...........................................   Passed    0.14 sec
        Start  11: barycentric_interpolation: two-triangles
  4/214 Test   #8: accumarray: scalar ......................................   Passed    0.13 sec
        Start  12: bbw: decimated_knight
  5/214 Test   #7: accumarray: matlab_help .................................   Passed    0.14 sec
        Start  13: bezier: ease
  6/214 Test   #9: adjacency_list: simple ..................................   Passed    0.12 sec
        Start  14: blkdiag: 3-matrices
  7/214 Test  google#13: bezier: ease ............................................   Passed    0.10 sec
        Start  15: boundary_facets: single_tet_volume
  8/214 Test  google#11: barycentric_interpolation: two-triangles ................   Passed    0.13 sec
        Start  16: boundary_facets: single_tet
  9/214 Test   #5: MshLoader ...............................................   Passed    0.27 sec
        Start  17: boundary_facets: single_cube
 10/214 Test  google#10: avg_edge_length: cube ...................................   Passed    0.16 sec
        Start  18: boundary_facets: non-manifold
 11/214 Test  google#14: blkdiag: 3-matrices .....................................   Passed    0.10 sec
        Start  19: boundary_loop: cube
 12/214 Test  google#17: boundary_facets: single_cube ............................   Passed    0.10 sec
        Start  20: boundary_loop: bunny
 13/214 Test  google#18: boundary_facets: non-manifold ...........................   Passed    0.11 sec
        Start  21: cat: rows
 14/214 Test  google#15: boundary_facets: single_tet_volume ......................   Passed    0.15 sec
        Start  22: cat: cols
 15/214 Test  google#16: boundary_facets: single_tet .............................   Passed    0.15 sec
        Start  23: centroid: 
 16/214 Test   #6: MshSaver ................................................   Passed    0.45 sec
        Start  24: circulation: single_edge
 17/214 Test  google#19: boundary_loop: cube .....................................   Passed    0.15 sec
        Start  25: circumradius: equilateral-triangle
 18/214 Test  google#22: cat: cols ...............................................   Passed    0.09 sec
        Start  26: circumradius: right-triangle
 19/214 Test  google#23: centroid:  ..............................................   Passed    0.11 sec
        Start  27: circumradius: obtuse-triangle
 20/214 Test  google#24: circulation: single_edge ................................   Passed    0.08 sec
        Start  28: circumradius: equilateral-tetrahedra
 21/214 Test  google#21: cat: rows ...............................................   Passed    0.20 sec
        Start  29: circumradius: right-tetrahedra
 22/214 Test  google#26: circumradius: right-triangle ............................   Passed    0.11 sec
        Start  30: circumradius: obtuse-tetrahedra
 23/214 Test  google#25: circumradius: equilateral-triangle ......................   Passed    0.13 sec
        Start  31: cotmatrix: poly
 24/214 Test  google#27: circumradius: obtuse-triangle ...........................   Passed    0.12 sec
        Start  32: cotmatrix: constant_in_null_space
 25/214 Test  google#28: circumradius: equilateral-tetrahedra ....................   Passed    0.14 sec
        Start  33: cotmatrix: cube
 26/214 Test  google#29: circumradius: right-tetrahedra ..........................   Passed    0.13 sec
        Start  34: cotmatrix: tetrahedron
 27/214 Test  google#30: circumradius: obtuse-tetrahedra .........................   Passed    0.19 sec
        Start  35: cotmatrix_entries: simple
 28/214 Test  google#34: cotmatrix: tetrahedron ..................................   Passed    0.09 sec
        Start  36: cotmatrix_entries: intrinsic
 29/214 Test  google#33: cotmatrix: cube .........................................   Passed    0.17 sec
        Start  37: cotmatrix_intrinsic: periodic
 30/214 Test  google#35: cotmatrix_entries: simple ...............................   Passed    0.11 sec
        Start  38: cotmatrix_intrinsic: manifold_meshes
 31/214 Test  google#36: cotmatrix_entries: intrinsic ............................   Passed    0.10 sec
        Start  39: cr_vector_curvature_correction: cube
 32/214 Test  google#37: cotmatrix_intrinsic: periodic ...........................   Passed    0.11 sec
        Start  40: cr_vector_curvature_correction: annulus
 33/214 Test  google#39: cr_vector_curvature_correction: cube ....................   Passed    0.14 sec
        Start  41: cr_vector_curvature_correction: hemisphere
 34/214 Test  google#41: cr_vector_curvature_correction: hemisphere ..............   Passed    0.54 sec
        Start  42: cr_vector_laplacian: cube
 35/214 Test  google#42: cr_vector_laplacian: cube ...............................   Passed    0.15 sec
        Start  43: cumprod: col_factorial
 36/214 Test  google#43: cumprod: col_factorial ..................................   Passed    0.12 sec
        Start  44: cumprod: row_factorial
 37/214 Test  google#44: cumprod: row_factorial ..................................   Passed    0.12 sec
        Start  45: cumsum: col
 38/214 Test  google#20: boundary_loop: bunny ....................................   Passed    1.74 sec
        Start  46: cumsum: row
 39/214 Test  google#45: cumsum: col .............................................   Passed    0.13 sec
        Start  47: curved_hessian_energy: cube
 40/214 Test  google#46: cumsum: row .............................................   Passed    0.11 sec
        Start  48: curved_hessian_energy: annulus
 41/214 Test  google#47: curved_hessian_energy: cube .............................   Passed    0.14 sec
        Start  49: cut_mesh: seperate mesh
 42/214 Test  google#49: cut_mesh: seperate mesh .................................   Passed    0.11 sec
        Start  50: cut_mesh: single edge
 43/214 Test  google#50: cut_mesh: single edge ...................................   Passed    0.26 sec
        Start  51: cut_mesh: two triangles
 44/214 Test  google#48: curved_hessian_energy: annulus ..........................   Passed    0.46 sec
        Start  52: cut_to_disk: simple_tet
 45/214 Test  google#52: cut_to_disk: simple_tet .................................   Passed    0.14 sec
        Start  53: cut_to_disk: two_disconnected_tet
 46/214 Test  google#51: cut_mesh: two triangles .................................   Passed    0.18 sec
        Start  54: cut_to_disk: simple_square
 47/214 Test  google#54: cut_to_disk: simple_square ..............................   Passed    0.08 sec
        Start  55: cut_to_disk: torus
 48/214 Test  google#53: cut_to_disk: two_disconnected_tet .......................   Passed    0.21 sec
        Start  56: cut_to_disk: cube
 49/214 Test  google#55: cut_to_disk: torus ......................................   Passed    0.14 sec
        Start  57: cut_to_disk: annulus
 50/214 Test  google#56: cut_to_disk: cube .......................................   Passed    0.18 sec
        Start  58: decimate: hemisphere
 51/214 Test  google#58: decimate: hemisphere ....................................   Passed    0.29 sec
        Start  59: decimate: closed
 52/214 Test  google#59: decimate: closed ........................................   Passed    0.32 sec
        Start  60: delaunay_triangulation_issue_521
 53/214 Test  google#60: delaunay_triangulation_issue_521 ........................   Passed    0.08 sec
        Start  61: dijkstra: cube
 54/214 Test  google#61: dijkstra: cube ..........................................   Passed    0.09 sec
        Start  62: dijkstra: discrete distances
 55/214 Test  google#57: cut_to_disk: annulus ....................................   Passed    0.99 sec
        Start  63: direct_delta_mush: cube
 56/214 Test  google#62: dijkstra: discrete distances ............................   Passed    0.10 sec
        Start  64: dirname: examples
 57/214 Test  google#64: dirname: examples .......................................   Passed    0.10 sec
        Start  65: doublearea: VF_vs_ABC
 58/214 Test  google#63: direct_delta_mush: cube .................................   Passed    0.27 sec
        Start  66: ears: grid
 59/214 Test  google#66: ears: grid ..............................................   Passed    0.15 sec
        Start  67: ears: two-boundary
 60/214 Test  google#32: cotmatrix: constant_in_null_space .......................   Passed    4.15 sec
        Start  68: edge_exists_near: tet
 61/214 Test  google#68: edge_exists_near: tet ...................................   Passed    0.09 sec
        Start  69: edge_flaps: verify
 62/214 Test  google#38: cotmatrix_intrinsic: manifold_meshes ....................   Passed    5.39 sec
        Start  70: edge_lengths: cube
 63/214 Test  google#70: edge_lengths: cube ......................................   Passed    0.11 sec
        Start  71: edges_to_path: simple
 64/214 Test  google#71: edges_to_path: simple ...................................   Passed    0.12 sec
        Start  72: euler_characteristic: cube
 65/214 Test  google#72: euler_characteristic: cube ..............................   Passed    0.08 sec
        Start  73: euler_characteristic: triangle
 66/214 Test  google#73: euler_characteristic: triangle ..........................   Passed    0.10 sec
        Start  74: euler_characteristic: square
 67/214 Test  google#74: euler_characteristic: square ............................   Passed    0.11 sec
        Start  75: euler_characteristic: torus
 68/214 Test  google#75: euler_characteristic: torus .............................   Passed    0.13 sec
        Start  76: exact_geodesic: square
 69/214 Test  google#76: exact_geodesic: square ..................................   Passed    0.15 sec
        Start  77: facet_components: two_triangles
 70/214 Test  google#77: facet_components: two_triangles .........................   Passed    0.17 sec
        Start  78: facet_components: truck
 71/214 Test  google#78: facet_components: truck .................................   Passed    0.29 sec
        Start  79: fast_winding_number: one_point_cloud
 72/214 Test  google#79: fast_winding_number: one_point_cloud ....................   Passed    0.09 sec
        Start  80: fast_winding_number: meshes
 73/214 Test  google#65: doublearea: VF_vs_ABC ...................................   Passed    3.84 sec
        Start  81: fit_cubic_bezier: hemicircle
 74/214 Test  google#81: fit_cubic_bezier: hemicircle ............................   Passed    0.46 sec
        Start  82: grad: laplace_grid
 75/214 Test  google#82: grad: laplace_grid ......................................   Passed    0.28 sec
        Start  83: grad_intrinsic: laplace_grid
 76/214 Test  google#83: grad_intrinsic: laplace_grid ............................   Passed    0.20 sec
        Start  84: grid: 3d
 77/214 Test  google#84: grid: 3d ................................................   Passed    0.36 sec
        Start  85: grid: 2d
 78/214 Test  google#85: grid: 2d ................................................   Passed    0.42 sec
        Start  86: guess_extension: all_meshes
 79/214 Test  google#86: guess_extension: all_meshes .............................   Passed    0.29 sec
        Start  87: heat_geodesic: upsampled cube
 80/214 Test  google#87: heat_geodesic: upsampled cube ...........................   Passed    0.45 sec
        Start  88: icosahedron: simple
 81/214 Test  google#88: icosahedron: simple .....................................   Passed    0.19 sec
        Start  89: internal_angles: 1e-7
 82/214 Test  google#89: internal_angles: 1e-7 ...................................   Passed    0.24 sec
        Start  90: intersection_blocking_collapse_edge_callbacks: simple
 83/214 Test  google#90: intersection_blocking_collapse_edge_callbacks: simple ...   Passed    0.20 sec
        Start  91: intrinsic_delaunay_cotmatrix: skewed_grid
 84/214 Test  google#91: intrinsic_delaunay_cotmatrix: skewed_grid ...............   Passed    0.32 sec
        Start  92: intrinsic_delaunay_cotmatrix: manifold_meshes
 85/214 Test  google#69: edge_flaps: verify ......................................   Passed    7.18 sec
        Start  93: intrinsic_delaunay_triangulation: two_triangles
 86/214 Test  google#93: intrinsic_delaunay_triangulation: two_triangles .........   Passed    0.21 sec
        Start  94: intrinsic_delaunay_triangulation: skewed_grid
 87/214 Test  google#94: intrinsic_delaunay_triangulation: skewed_grid ...........   Passed    0.20 sec
        Start  95: intrinsic_delaunay_triangulation: peaks
 88/214 Test  google#95: intrinsic_delaunay_triangulation: peaks .................   Passed    0.20 sec
        Start  96: intrinsic_delaunay_triangulation: tet
 89/214 Test  google#96: intrinsic_delaunay_triangulation: tet ...................   Passed    0.22 sec
        Start  97: is_delaunay: two_triangles
 90/214 Test  google#97: is_delaunay: two_triangles ..............................   Passed    0.13 sec
        Start  98: is_edge_manifold: positive
 91/214 Test  google#40: cr_vector_curvature_correction: annulus .................   Passed   14.72 sec
        Start  99: is_edge_manifold: negative
 92/214 Test  google#99: is_edge_manifold: negative ..............................   Passed    0.74 sec
        Start 100: is_intrinsic_delaunay: two_triangles
 93/214 Test google#100: is_intrinsic_delaunay: two_triangles ....................   Passed    0.35 sec
        Start 101: is_irregular_vertex: simple
 94/214 Test google#101: is_irregular_vertex: simple .............................   Passed    0.62 sec
        Start 102: is_symmetric: sparse
 95/214 Test google#102: is_symmetric: sparse ....................................   Passed    0.27 sec
        Start 103: is_symmetric: dense
 96/214 Test google#103: is_symmetric: dense .....................................   Passed    0.29 sec
        Start 104: ismember: simple
 97/214 Test google#104: ismember: simple ........................................   Passed    0.21 sec
        Start 105: isolines: broken-sphere
 98/214 Test google#105: isolines: broken-sphere .................................   Passed    1.03 sec
        Start 106: iterative_closest_point: identity
 99/214 Test  google#98: is_edge_manifold: positive ..............................   Passed    9.01 sec
        Start 107: knn
100/214 Test google#107: knn .....................................................   Passed    0.22 sec
        Start 108: linprog: 2D-inequality
101/214 Test google#108: linprog: 2D-inequality ..................................   Passed    0.21 sec
        Start 109: linprog: 2D-inequality+2-equality
102/214 Test google#109: linprog: 2D-inequality+2-equality .......................   Passed    0.41 sec
        Start 110: linprog: 2D-inequality+1-equality
103/214 Test google#110: linprog: 2D-inequality+1-equality .......................   Passed    0.14 sec
        Start 111: ListToMatrixTest: matrix
104/214 Test google#111: ListToMatrixTest: matrix ................................   Passed    0.12 sec
        Start 112: lscm: lscm_energy_check
105/214 Test  google#67: ears: two-boundary ......................................   Passed   20.95 sec
        Start 113: massmatrix: full
106/214 Test  google#92: intrinsic_delaunay_cotmatrix: manifold_meshes ...........   Passed   15.85 sec
        Start 114: massmatrix: barycentric
107/214 Test google#112: lscm: lscm_energy_check .................................   Passed    4.52 sec
        Start 115: massmatrix: cube_barycentric
108/214 Test google#115: massmatrix: cube_barycentric ............................   Passed    0.21 sec
        Start 116: massmatrix: cube_full
109/214 Test google#116: massmatrix: cube_full ...................................   Passed    0.33 sec
        Start 117: min_quad_with_fixed: dense
110/214 Test google#117: min_quad_with_fixed: dense ..............................   Passed    0.22 sec
        Start 118: min_quad_with_fixed: Aeq
111/214 Test google#118: min_quad_with_fixed: Aeq ................................   Passed    0.16 sec
        Start 119: moments: tet
112/214 Test google#119: moments: tet ............................................   Passed    0.12 sec
        Start 120: orient_halfedges: sanity checks
113/214 Test  google#12: bbw: decimated_knight ...................................   Passed   29.92 sec
        Start 121: igl_path_to_edges: basic_test
114/214 Test google#121: igl_path_to_edges: basic_test ...........................   Passed    0.34 sec
        Start 122: igl_path_to_edges: loop_test
115/214 Test google#122: igl_path_to_edges: loop_test ............................   Passed    0.25 sec
        Start 123: igl_path_to_edges: vector_basic_test
116/214 Test google#123: igl_path_to_edges: vector_basic_test ....................   Passed    0.23 sec
        Start 124: igl_path_to_edges: vector_loop_test
117/214 Test google#124: igl_path_to_edges: vector_loop_test .....................   Passed    0.25 sec
        Start 125: path_to_executable: example
118/214 Test google#125: path_to_executable: example .............................   Passed    0.22 sec
        Start 126: pathinfo: examples
119/214 Test google#126: pathinfo: examples ......................................   Passed    0.28 sec
        Start 127: per_face_normals: dot
120/214 Test google#113: massmatrix: full ........................................   Passed    6.49 sec
        Start 128: polygon_corners: quads
121/214 Test google#128: polygon_corners: quads ..................................   Passed    0.29 sec
        Start 129: principal_curvature: cylinder
122/214 Test google#129: principal_curvature: cylinder ...........................   Passed    0.75 sec
        Start 130: procrustes
123/214 Test google#130: procrustes ..............................................   Passed    0.26 sec
        Start 131: qslim: cylinder
124/214 Test google#114: massmatrix: barycentric .................................   Passed    6.59 sec
        Start 132: quadprog: box3
125/214 Test google#132: quadprog: box3 ..........................................   Passed    0.33 sec
        Start 133: quadprog: box2
126/214 Test google#133: quadprog: box2 ..........................................   Passed    0.29 sec
        Start 134: random_points_on_mesh: decimated-knight
127/214 Test google#134: random_points_on_mesh: decimated-knight .................   Passed    0.41 sec
        Start 135: random_points_on_mesh: minstd_rand0_reproduce
128/214 Test google#131: qslim: cylinder .........................................   Passed    1.98 sec
        Start 136: random_points_on_mesh: minstd_rand_reproduce
129/214 Test google#136: random_points_on_mesh: minstd_rand_reproduce ............   Passed    0.25 sec
        Start 137: random_points_on_mesh: mt19937_reproduce
130/214 Test google#135: random_points_on_mesh: minstd_rand0_reproduce ...........   Passed    0.47 sec
        Start 138: random_points_on_mesh: mt19937_64_reproduce
131/214 Test   #4: AABB: dynamic ...........................................   Passed   35.76 sec
        Start 139: randperm: default_rng_reproduce_identity
132/214 Test google#138: random_points_on_mesh: mt19937_64_reproduce .............   Passed    0.22 sec
        Start 140: randperm: minstd_rand0_reproduce_identity
133/214 Test google#137: random_points_on_mesh: mt19937_reproduce ................   Passed    0.46 sec
        Start 141: randperm: minstd_rand_reproduce_identity
134/214 Test google#139: randperm: default_rng_reproduce_identity ................   Passed    0.28 sec
        Start 142: randperm: mt19937_reproduce_identity
135/214 Test google#140: randperm: minstd_rand0_reproduce_identity ...............   Passed    0.28 sec
        Start 143: randperm: mt19937_64_reproduce_identity
136/214 Test google#141: randperm: minstd_rand_reproduce_identity ................   Passed    0.22 sec
        Start 144: randperm: default_identity
137/214 Test google#142: randperm: mt19937_reproduce_identity ....................   Passed    0.21 sec
        Start 145: ray_mesh_intersect: one_triangle
138/214 Test google#143: randperm: mt19937_64_reproduce_identity .................   Passed    0.30 sec
        Start 146: ray_mesh_intersect: corner-case
139/214 Test google#145: ray_mesh_intersect: one_triangle ........................   Passed    0.23 sec
        Start 147: ray_mesh_intersect: corner-case2
140/214 Test google#144: randperm: default_identity ..............................   Passed    0.30 sec
        Start 148: readDMAT: Comp
141/214 Test google#146: ray_mesh_intersect: corner-case .........................   Passed    0.22 sec
        Start 149: readMESH: single-tet
142/214 Test google#147: ray_mesh_intersect: corner-case2 ........................   Passed    0.21 sec
        Start 150: readMESH: no-triangles-line
143/214 Test google#148: readDMAT: Comp ..........................................   Passed    0.25 sec
        Start 151: readMESH: mesh-version-formatted-2
144/214 Test google#149: readMESH: single-tet ....................................   Passed    0.23 sec
        Start 152: readMSH
145/214 Test google#150: readMESH: no-triangles-line .............................   Passed    0.21 sec
        Start 153: readOBJ: simple
146/214 Test google#153: readOBJ: simple .........................................   Passed    0.16 sec
        Start 154: readOBJ: Obj with material
147/214 Test google#151: readMESH: mesh-version-formatted-2 ......................   Passed    0.35 sec
        Start 155: readOFF: simple
148/214 Test google#152: readMSH .................................................   Passed    0.47 sec
        Start 156: readPLY: cube_with_fold.ply
149/214 Test google#154: readOBJ: Obj with material ..............................   Passed    0.25 sec
        Start 157: readPLY: bunny.ply
150/214 Test google#155: readOFF: simple .........................................   Passed    0.30 sec
        Start 158: readPLY: mesh_error.ply
151/214 Test google#156: readPLY: cube_with_fold.ply .............................   Passed    0.17 sec
        Start 159: readPLY: quad_cube.ply
152/214 Test google#158: readPLY: mesh_error.ply .................................   Passed    0.24 sec
        Start 160: remesh_along_isoline: triangle_mesh
153/214 Test google#159: readPLY: quad_cube.ply ..................................   Passed    0.26 sec
        Start 161: repmat: sparse rowMajor
154/214 Test google#160: remesh_along_isoline: triangle_mesh .....................   Passed    0.17 sec
        Start 162: repmat: sparse colMajor
155/214 Test google#127: per_face_normals: dot ...................................   Passed    6.25 sec
        Start 163: rigid_alignment: identity
156/214 Test google#161: repmat: sparse rowMajor .................................   Passed    0.29 sec
        Start 164: seam_edges: tet
157/214 Test google#162: repmat: sparse colMajor .................................   Passed    0.29 sec
        Start 165: segment_segment_intersect: examples
158/214 Test google#163: rigid_alignment: identity ...............................   Passed    0.31 sec
        Start 166: setdiff: matrix
159/214 Test google#164: seam_edges: tet .........................................   Passed    0.19 sec
        Start 167: slice: eigen-simple
160/214 Test google#166: setdiff: matrix .........................................   Passed    0.18 sec
        Start 168: slice: eigen-random
161/214 Test google#165: segment_segment_intersect: examples .....................   Passed    0.30 sec
        Start 169: slice: dense_identity
162/214 Test google#167: slice: eigen-simple .....................................   Passed    0.22 sec
        Start 170: slice: sparse_identity
163/214 Test google#168: slice: eigen-random .....................................   Passed    0.26 sec
        Start 171: slice: density_reverse
164/214 Test google#170: slice: sparse_identity ..................................   Passed    0.20 sec
        Start 172: slice: random
165/214 Test google#169: slice: dense_identity ...................................   Passed    0.29 sec
        Start 173: slice_into: eigen-random
166/214 Test google#120: orient_halfedges: sanity checks .........................   Passed   10.01 sec
        Start 174: slice_into: dense_identity
167/214 Test google#171: slice: density_reverse ..................................   Passed    0.22 sec
        Start 175: slice_into: density_reverse
168/214 Test google#172: slice: random ...........................................   Passed    0.21 sec
        Start 176: slice_into: sparse_identity
169/214 Test google#173: slice_into: eigen-random ................................   Passed    0.26 sec
        Start 177: slice_into: every-other
170/214 Test google#174: slice_into: dense_identity ..............................   Passed    0.26 sec
171/214 Test google#175: slice_into: density_reverse .............................   Passed    0.24 sec
        Start 178: slice_mask/find: random
        Start 179: slice_sorted: correctness
172/214 Test google#176: slice_into: sparse_identity .............................   Passed    0.28 sec
        Start 180: SortTest: random
173/214 Test google#177: slice_into: every-other .................................   Passed    0.27 sec
        Start 181: sparse_voxel_grid: unique
174/214 Test google#180: SortTest: random ........................................   Passed    0.21 sec
        Start 182: split_nonmanifold: edge-fan
175/214 Test google#178: slice_mask/find: random .................................   Passed    0.31 sec
        Start 183: split_nonmanifold: vertex-boundary
176/214 Test google#181: sparse_voxel_grid: unique ...............................   Passed    0.26 sec
        Start 184: split_nonmanifold: edge-disk-flap
177/214 Test google#157: readPLY: bunny.ply ......................................   Passed    2.22 sec
        Start 185: split_nonmanifold: edge-disk-tent
178/214 Test google#183: split_nonmanifold: vertex-boundary ......................   Passed    0.19 sec
        Start 186: split_nonmanifold: vertex-kiss
179/214 Test google#182: split_nonmanifold: edge-fan .............................   Passed    0.25 sec
        Start 187: split_nonmanifold: non-orientable
180/214 Test google#179: slice_sorted: correctness ...............................   Passed    0.53 sec
        Start 188: split_nonmanifold: flap
181/214 Test google#185: split_nonmanifold: edge-disk-tent .......................   Passed    0.19 sec
        Start 189: split_nonmanifold: crosses
182/214 Test google#187: split_nonmanifold: non-orientable .......................   Passed    0.19 sec
        Start 190: squared_edge_lengths: cube
183/214 Test google#184: split_nonmanifold: edge-disk-flap .......................   Passed    0.32 sec
        Start 191: super_fibonacci: simple
184/214 Test google#186: split_nonmanifold: vertex-kiss ..........................   Passed    0.29 sec
        Start 192: tet_tet_adjacency: dot
185/214 Test google#188: split_nonmanifold: flap .................................   Passed    0.27 sec
        Start 193: tri_tri_intersection_test_3d intersect
186/214 Test google#191: super_fibonacci: simple .................................   Passed    0.21 sec
        Start 194: tri_tri_intersection_test_3d not intersect
187/214 Test google#190: squared_edge_lengths: cube ..............................   Passed    0.34 sec
        Start 195: tri_tri_intersection_test_3d coplanar
188/214 Test google#193: tri_tri_intersection_test_3d intersect ..................   Passed    0.33 sec
        Start 196: triangle_triangle_adjacency: dot
189/214 Test google#192: tet_tet_adjacency: dot ..................................   Passed    0.38 sec
190/214 Test google#194: tri_tri_intersection_test_3d not intersect ..............   Passed    0.22 sec
        Start 197: triangle_triangle_intersect: shared-edge
        Start 198: triangulated_grid: area
191/214 Test google#195: tri_tri_intersection_test_3d coplanar ...................   Passed    0.26 sec
        Start 199: turning_number: pentagon
192/214 Test google#189: split_nonmanifold: crosses ..............................   Passed    0.70 sec
        Start 200: turning_number: heptagram
193/214 Test google#198: triangulated_grid: area .................................   Passed    0.18 sec
        Start 201: unique: matrix
194/214 Test google#197: triangle_triangle_intersect: shared-edge ................   Passed    0.25 sec
        Start 202: unique_rows: matrix
195/214 Test google#201: unique: matrix ..........................................   Passed    0.13 sec
        Start 203: igl_unique_simplices: duplicate_triangles
196/214 Test google#199: turning_number: pentagon ................................   Passed    0.21 sec
        Start 204: upsample: single_triangle
197/214 Test google#202: unique_rows: matrix .....................................   Passed    0.14 sec
        Start 205: upsample: V_comes_first_F_ordering
198/214 Test google#200: turning_number: heptagram ...............................   Passed    0.29 sec
        Start 206: voronoi_mass: equilateral-tetrahedra
199/214 Test google#204: upsample: single_triangle ...............................   Passed    0.17 sec
        Start 207: voronoi_mass: right-tetrahedra
200/214 Test google#203: igl_unique_simplices: duplicate_triangles ...............   Passed    0.24 sec
        Start 208: voronoi_mass: obtuse-tetrahedra
201/214 Test google#206: voronoi_mass: equilateral-tetrahedra ....................   Passed    0.20 sec
        Start 209: winding_number: bunny
202/214 Test google#207: voronoi_mass: right-tetrahedra ..........................   Passed    0.16 sec
        Start 210: writeMSH
203/214 Test google#208: voronoi_mass: obtuse-tetrahedra .........................   Passed    0.17 sec
        Start 211: writeOFF: quads
204/214 Test google#211: writeOFF: quads .........................................   Passed    0.13 sec
        Start 212: writePLY: bunny.ply
205/214 Test google#106: iterative_closest_point: identity .......................   Passed   22.78 sec
        Start 213: writePLY: bunny.ply float
206/214 Test google#210: writeMSH ................................................   Passed    1.14 sec
        Start 214: eigs: grid
207/214 Test google#214: eigs: grid ..............................................   Passed    0.91 sec
208/214 Test google#212: writePLY: bunny.ply .....................................   Passed    2.85 sec
209/214 Test google#213: writePLY: bunny.ply float ...............................   Passed    2.53 sec
210/214 Test google#196: triangle_triangle_adjacency: dot ........................   Passed    6.56 sec
211/214 Test google#205: upsample: V_comes_first_F_ordering ......................   Passed    6.29 sec
212/214 Test  google#80: fast_winding_number: meshes .............................   Passed   63.46 sec
213/214 Test google#209: winding_number: bunny ...................................   Passed   31.18 sec
214/214 Test  google#31: cotmatrix: poly .........................................   Passed   72.03 sec

100% tests passed, 0 tests failed out of 214

Total Test time (real) =  73.01 sec
```
hebasto pushed a commit that referenced this pull request Sep 11, 2025
`run_tests.sh` is used as part of Chronos with cached builds:
https://github.com/google/oss-fuzz/tree/master/infra/experimental/chronos#check-tests

`infra/experimental/chronos/check_tests.sh phmap c`
```
Test project /src/parallel-hashmap/build
      Start  1: test_container_memory
 1/17 Test  #1: test_container_memory ...............   Passed    0.01 sec
      Start  2: test_hash_policy_testing
 2/17 Test  #2: test_hash_policy_testing ............   Passed    0.01 sec
      Start  3: test_node_hash_policy
 3/17 Test  #3: test_node_hash_policy ...............   Passed    0.01 sec
      Start  4: test_raw_hash_set
 4/17 Test  #4: test_raw_hash_set ...................   Passed    0.74 sec
      Start  5: test_raw_hash_set_allocator
 5/17 Test  #5: test_raw_hash_set_allocator .........   Passed    0.02 sec
      Start  6: test_flat_hash_set
 6/17 Test  #6: test_flat_hash_set ..................   Passed    0.04 sec
      Start  7: test_flat_hash_map
 7/17 Test  #7: test_flat_hash_map ..................   Passed    0.46 sec
      Start  8: test_node_hash_map
 8/17 Test  #8: test_node_hash_map ..................   Passed    0.05 sec
      Start  9: test_node_hash_set
 9/17 Test  #9: test_node_hash_set ..................   Passed    0.04 sec
      Start 10: test_parallel_flat_hash_map
10/17 Test google#10: test_parallel_flat_hash_map .........   Passed    0.47 sec
      Start 11: test_parallel_flat_hash_set
11/17 Test google#11: test_parallel_flat_hash_set .........   Passed    0.04 sec
      Start 12: test_parallel_node_hash_map
12/17 Test google#12: test_parallel_node_hash_map .........   Passed    0.46 sec
      Start 13: test_parallel_node_hash_set
13/17 Test google#13: test_parallel_node_hash_set .........   Passed    0.04 sec
      Start 14: test_parallel_flat_hash_map_mutex
14/17 Test google#14: test_parallel_flat_hash_map_mutex ...   Passed    0.49 sec
      Start 15: test_dump_load
15/17 Test google#15: test_dump_load ......................   Passed    0.01 sec
      Start 16: test_erase_if
16/17 Test google#16: test_erase_if .......................   Passed    0.01 sec
      Start 17: test_btree
17/17 Test google#17: test_btree ..........................   Passed   18.09 sec

100% tests passed, 0 tests failed out of 17

Total Test time (real) =  21.00 sec
```

Signed-off-by: Adam Korczynski <adam@adalogics.com>
hebasto pushed a commit that referenced this pull request Sep 11, 2025
Adds the `build.sh` from the upstream repo. I have made the changes
upstream.

`run_tests.sh` is used as part of Chronos with cached builds:
https://github.com/google/oss-fuzz/tree/master/infra/experimental/chronos#check-tests

`infra/experimental/chronos/check_tests.sh crow c`
```
Test project /src/crow/build
    Start 1: crow_test
    Start 2: template_test                                                    
1/2 Test #2: template_test ....................   Passed    0.52 sec      
2/2 Test #1: crow_test ........................   Passed   43.82 sec       
                                       
100% tests passed, 0 tests failed out of 2      
                                                                              
Total Test time (real) =  43.82 sec                                           
--------------------------------------------------------            
Total time taken to replay tests: 44
```

Signed-off-by: Adam Korczynski <adam@adalogics.com>
hebasto pushed a commit that referenced this pull request Sep 11, 2025
`run_tests.sh` is used as part of Chronos with cached builds:
https://github.com/google/oss-fuzz/tree/master/infra/experimental/chronos#check-tests

`infra/experimental/chronos/check_tests.sh glaze c`
```
Test project /src/glaze/build
      Start  1: api_test
      Start  2: beve_test
      Start  3: compare_test
      Start  4: csv_test
      Start  5: eigen_test
      Start  6: example_json
      Start  7: exceptions_test
      Start  8: inplace_vector_test
 1/28 Test  #1: api_test ...........................   Passed    0.01 sec
      Start  9: inplace_vector_test_noexceptions
 2/28 Test  #3: compare_test .......................   Passed    0.01 sec
      Start 10: int_parsing
 3/28 Test  #8: inplace_vector_test ................   Passed    0.01 sec
      Start 11: jmespath
 4/28 Test  #6: example_json .......................   Passed    0.02 sec
      Start 12: jsonrpc_test
 5/28 Test  #5: eigen_test .........................   Passed    0.02 sec
      Start 13: lib_test
 6/28 Test  #9: inplace_vector_test_noexceptions ...   Passed    0.02 sec
      Start 14: mock_json_test
 7/28 Test  #4: csv_test ...........................   Passed    0.04 sec
      Start 15: reflection
 8/28 Test google#11: jmespath ...........................   Passed    0.03 sec
      Start 16: roundtrip_JSON
 9/28 Test google#12: jsonrpc_test .......................   Passed    0.03 sec
      Start 17: roundtrip_BEVE
10/28 Test google#13: lib_test ...........................   Passed    0.03 sec
      Start 18: stencil_test
11/28 Test google#15: reflection .........................   Passed    0.02 sec
      Start 19: threading_test
12/28 Test google#14: mock_json_test .....................   Passed    0.04 sec
13/28 Test google#16: roundtrip_JSON .....................   Passed    0.02 sec
14/28 Test google#17: roundtrip_BEVE .....................   Passed    0.01 sec
      Start 20: toml_test
      Start 21: utility_formats
      Start 22: json_conformance
15/28 Test  #7: exceptions_test ....................   Passed    0.07 sec
16/28 Test google#18: stencil_test .......................   Passed    0.02 sec
      Start 23: json_performance
      Start 24: json_reflection_test
17/28 Test google#21: utility_formats ....................   Passed    0.01 sec
      Start 25: json_test
18/28 Test google#20: toml_test ..........................   Passed    0.02 sec
      Start 26: json_test_non_null
19/28 Test google#22: json_conformance ...................   Passed    0.02 sec
      Start 27: json_t_test
20/28 Test google#24: json_reflection_test ...............   Passed    0.02 sec
      Start 28: jsonschema_test
21/28 Test google#27: json_t_test ........................   Passed    0.02 sec
22/28 Test google#28: jsonschema_test ....................   Passed    0.05 sec
23/28 Test  #2: beve_test ..........................   Passed    1.17 sec
24/28 Test google#19: threading_test .....................   Passed    1.30 sec
25/28 Test google#25: json_test ..........................   Passed    2.24 sec
26/28 Test google#26: json_test_non_null .................   Passed    2.30 sec
27/28 Test google#10: int_parsing ........................   Passed   12.10 sec
28/28 Test google#23: json_performance ...................   Passed   87.87 sec

100% tests passed, 0 tests failed out of 28

Label Time Summary:
format_BEVE    =   0.01 sec*proc (1 test)
format_JSON    =   0.02 sec*proc (1 test)

Total Test time (real) =  87.95 sec
--------------------------------------------------------
Total time taken to replay tests: 8
```

Signed-off-by: Adam Korczynski <adam@adalogics.com>
hebasto pushed a commit that referenced this pull request Sep 11, 2025
`run_tests.sh` is used as part of Chronos with cached builds:
https://github.com/google/oss-fuzz/tree/master/infra/experimental/chronos#check-tests

`infra/experimental/chronos/check_tests.sh libcue c`
```
Running tests...                                                                                 
Test project /work                                                                               
    Start 1: standard_cue_test                                                                   
1/6 Test #1: standard_cue_test ................   Passed    0.01 sec                             
    Start 2: single_file_idx_00_test                                                             
2/6 Test #2: single_file_idx_00_test ..........   Passed    0.01 sec                             
    Start 3: multiple_files_test                                                                 
3/6 Test #3: multiple_files_test ..............   Passed    0.01 sec                             
    Start 4: noncompliant_test                                                                                                                                                                     
4/6 Test #4: noncompliant_test ................   Passed    0.01 sec                             
    Start 5: issue10_test                                                                        
5/6 Test #5: issue10_test .....................   Passed    0.01 sec       
    Start 6: 99_tracks_test                                                                      
6/6 Test #6: 99_tracks_test ...................   Passed    0.01 sec                             
                                                                                                 
100% tests passed, 0 tests failed out of 6                                                       
                                                                                                 
Total Test time (real) =   0.06 sec                                                              
--------------------------------------------------------                                         
Total time taken to replay tests: 1
```

Signed-off-by: Adam Korczynski <adam@adalogics.com>
hebasto pushed a commit that referenced this pull request Sep 11, 2025
```
Step #1 - "build-bb7d6cb6-a60e-4204-802d-41c0dbaa661c": Step 7/7 : COPY *.sh pcapplusplus_enable_tests.diff $SRC
Step #1 - "build-bb7d6cb6-a60e-4204-802d-41c0dbaa661c": When using COPY with more than one source file, the destination must be a directory and end with a /
```
hebasto pushed a commit that referenced this pull request Sep 11, 2025
…gle#13705)

- OSS-fuzz stopped building after `python-path` was introduced to Matter
Repo in project-chip/connectedhomeip#39826


<details>
<summary><h3>Error Log</h3></summary> 

```bash
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c": Collecting python-path (from -r connectedhomeip/scripts/setup/requirements.build.txt (line 13))
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":   Downloading python_path-0.1.3.tar.gz (2.3 kB)
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":   Preparing metadata (setup.py): started
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":   Preparing metadata (setup.py): finished with status 'error'
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c": �[91m  error: subprocess-exited-with-error
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":   
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":   × python setup.py egg_info did not run successfully.
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":   │ exit code: 1
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":   ╰─> [40 lines of output]
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":       running egg_info
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":       creating /tmp/pip-pip-egg-info-1o2_zbsb/python_path.egg-info
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":       writing /tmp/pip-pip-egg-info-1o2_zbsb/python_path.egg-info/PKG-INFO
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":       writing dependency_links to /tmp/pip-pip-egg-info-1o2_zbsb/python_path.egg-info/dependency_links.txt
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":       writing top-level names to /tmp/pip-pip-egg-info-1o2_zbsb/python_path.egg-info/top_level.txt
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":       writing manifest file '/tmp/pip-pip-egg-info-1o2_zbsb/python_path.egg-info/SOURCES.txt'
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":       reading manifest file '/tmp/pip-pip-egg-info-1o2_zbsb/python_path.egg-info/SOURCES.txt'
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":       reading manifest template 'MANIFEST.in'
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":       Traceback (most recent call last):
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":         File "<string>", line 2, in <module>
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":         File "<pip-setuptools-caller>", line 35, in <module>
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":         File "/tmp/pip-install-4w5zzqql/python-path_06421286c8f84d7aad3e9b33d11e4f38/setup.py", line 5, in <module>
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":           setup(
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":         File "/usr/local/lib/python3.10/dist-packages/setuptools/__init__.py", line 115, in setup
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":           return distutils.core.setup(**attrs)
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":         File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/core.py", line 186, in setup
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":           return run_commands(dist)
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":         File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/core.py", line 202, in run_commands
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":           dist.run_commands()
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":         File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/dist.py", line 1002, in run_commands
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":           self.run_command(cmd)
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":         File "/usr/local/lib/python3.10/dist-packages/setuptools/dist.py", line 1102, in run_command
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":           super().run_command(command)
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":         File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/dist.py", line 1021, in run_command
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":           cmd_obj.run()
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":         File "/usr/local/lib/python3.10/dist-packages/setuptools/command/egg_info.py", line 312, in run
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":           self.find_sources()
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":         File "/usr/local/lib/python3.10/dist-packages/setuptools/command/egg_info.py", line 320, in find_sources
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":           mm.run()
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":         File "/usr/local/lib/python3.10/dist-packages/setuptools/command/egg_info.py", line 548, in run
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":           self.prune_file_list()
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":         File "/usr/local/lib/python3.10/dist-packages/setuptools/command/sdist.py", line 162, in prune_file_list
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":           super().prune_file_list()
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":         File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/command/sdist.py", line 386, in prune_file_list
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":           base_dir = self.distribution.get_fullname()
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":         File "/usr/local/lib/python3.10/dist-packages/setuptools/_core_metadata.py", line 275, in get_fullname
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":           return _distribution_fullname(self.get_name(), self.get_version())
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":         File "/usr/local/lib/python3.10/dist-packages/setuptools/_core_metadata.py", line 293, in _distribution_fullname
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":           canonicalize_version(version, strip_trailing_zero=False),
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":       TypeError: canonicalize_version() got an unexpected keyword argument 'strip_trailing_zero'
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":       [end of output]
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":   
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c":   note: This error originates from a subprocess, and is likely not a problem with pip.
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c": �[0m�[91merror: metadata-generation-failed
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c": 
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c": × Encountered error while generating package metadata.
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c": ╰─> See above for output.
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c": 
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c": note: This is an issue with the package mentioned above, not pip.
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c": hint: See above for details.
Step #1 - "build-aa040769-b630-4a4e-a3ad-488764c3158c": The command '/bin/sh -c pip3 install -r connectedhomeip/scripts/setup/requirements.build.txt' returned a non-zero code: 1
```
</details>

### Fix
- Fix: Update "Packaging" Module in Docker before install requirements
hebasto pushed a commit that referenced this pull request Sep 11, 2025
run_tests.sh is used as part of Chronos with cached builds:
https://github.com/google/oss-fuzz/tree/master/infra/experimental/chronos#check-tests

```sh
$ ./infra/experimental/chronos/check_tests.sh libgit2 c++
...
...
Test project /src/libgit2/build
    Start 1: offline
1/8 Test #1: offline ..........................   Passed   63.52 sec
    Start 2: invasive
2/8 Test #2: invasive .........................   Passed    0.22 sec
    Start 3: online_customcert
3/8 Test #3: online_customcert ................   Passed    0.02 sec
    Start 4: gitdaemon
4/8 Test #4: gitdaemon ........................   Passed    0.89 sec
    Start 5: gitdaemon_namespace
5/8 Test #5: gitdaemon_namespace ..............   Passed    0.02 sec
    Start 6: gitdaemon_sha256
6/8 Test #6: gitdaemon_sha256 .................   Passed    0.02 sec
    Start 7: ssh
7/8 Test #7: ssh ..............................   Passed    0.92 sec
    Start 8: util
8/8 Test #8: util .............................   Passed    3.03 sec

100% tests passed, 0 tests failed out of 8

Total Test time (real) =  68.65 sec
--------------------------------------------------------
Total time taken to replay tests: 69
```

Signed-off-by: David Korczynski <david@adalogics.com>
hebasto pushed a commit that referenced this pull request Sep 11, 2025
run_tests.sh is used as part of Chronos with cached builds:
https://github.com/google/oss-fuzz/tree/master/infra/experimental/chronos#check-tests

```sh
$ infra/experimental/chronos/check_tests.sh arrow c++
...
...

33/46 Test google#36: arrow-json-test ....................   Passed    1.56 sec
34/46 Test google#32: arrow-feather-test .................   Passed    3.06 sec
35/46 Test google#26: arrow-utility-test .................   Passed    3.49 sec
36/46 Test google#39: parquet-reader-test ................   Passed    3.57 sec
37/46 Test google#23: arrow-io-compressed-test ...........   Passed    5.50 sec
38/46 Test google#38: parquet-encoding-test ..............   Passed    5.30 sec
39/46 Test google#20: arrow-compute-scalar-cast-test .....   Passed    7.04 sec
40/46 Test google#27: arrow-async-utility-test ...........   Passed    8.69 sec
41/46 Test google#42: parquet-arrow-reader-writer-test ...   Passed    8.41 sec
42/46 Test google#29: arrow-threading-utility-test .......   Passed    8.76 sec
43/46 Test google#41: parquet-chunker-test ...............   Passed    8.71 sec
44/46 Test  #1: arrow-array-test ...................   Passed    9.60 sec
45/46 Test google#34: arrow-ipc-read-write-test ..........   Passed    9.52 sec
46/46 Test google#40: parquet-writer-test ................   Passed   18.53 sec

100% tests passed, 0 tests failed out of 46

Label Time Summary:
arrow-compute-tests    =   7.36 sec*proc (2 tests)
arrow-tests            =  63.05 sec*proc (34 tests)
parquet-tests          =  48.01 sec*proc (10 tests)
unittest               = 118.42 sec*proc (46 tests)

Total Test time (real) =  18.97 sec
--------------------------------------------------------
Total time taken to replay tests: 19
```

---------

Signed-off-by: David Korczynski <david@adalogics.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants