diff --git a/src/DataTypes/fuzzers/CMakeLists.txt b/src/DataTypes/fuzzers/CMakeLists.txt index 8940586fc70..8dedd3470e2 100644 --- a/src/DataTypes/fuzzers/CMakeLists.txt +++ b/src/DataTypes/fuzzers/CMakeLists.txt @@ -1,3 +1,2 @@ clickhouse_add_executable(data_type_deserialization_fuzzer data_type_deserialization_fuzzer.cpp ${SRCS}) - target_link_libraries(data_type_deserialization_fuzzer PRIVATE clickhouse_aggregate_functions dbms) diff --git a/tests/ci/ci_config.py b/tests/ci/ci_config.py index a170dfdd8d1..e10c60135cb 100644 --- a/tests/ci/ci_config.py +++ b/tests/ci/ci_config.py @@ -274,6 +274,7 @@ class CI: build_config=BuildConfig( name=BuildNames.FUZZERS, compiler="clang-18", + sanitizer="address", package_type="fuzzers", ), run_by_labels=[Tags.libFuzzer], @@ -545,7 +546,7 @@ class CI: JobNames.LIBFUZZER_TEST: JobConfig( required_builds=[BuildNames.FUZZERS], run_by_labels=[Tags.libFuzzer], - timeout=5400, + timeout=10800, run_command='libfuzzer_test_check.py "$CHECK_NAME"', runner_type=Runners.FUNC_TESTER, ), diff --git a/tests/ci/libfuzzer_test_check.py b/tests/ci/libfuzzer_test_check.py index 2616fbe3f5d..003a256f18c 100644 --- a/tests/ci/libfuzzer_test_check.py +++ b/tests/ci/libfuzzer_test_check.py @@ -21,7 +21,7 @@ from s3_helper import S3Helper from stopwatch import Stopwatch from tee_popen import TeePopen -TIMEOUT = 60 +TIMEOUT = 60 * 5 NO_CHANGES_MSG = "Nothing to run" s3 = S3Helper() @@ -286,7 +286,15 @@ def main(): retcode = process.wait() if retcode == 0: logging.info("Run successfully") - upload_corpus(fuzzers_path) + if ( + pr_info.number == 0 + and pr_info.base_ref == "master" + and pr_info.head_ref == "master" + ): + logging.info("Uploading corpus - running in master") + upload_corpus(fuzzers_path) + else: + logging.info("Not uploading corpus - running in PR") else: logging.info("Run failed") diff --git a/tests/fuzz/runner.py b/tests/fuzz/runner.py index f4c66e00117..9be0af579fb 100644 --- a/tests/fuzz/runner.py +++ b/tests/fuzz/runner.py @@ -30,7 +30,7 @@ class Stopwatch: def run_fuzzer(fuzzer: str, timeout: int): - logging.info("Running fuzzer %s...", fuzzer) + logging.info("Running fuzzer %s for %d seconds...", fuzzer, timeout) seed_corpus_dir = f"{fuzzer}.in" with Path(seed_corpus_dir) as path: