Coverage Report

Created: 2026-01-31 08:06

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/duckdb/test/ossfuzz/parse_fuzz_test.cpp
Line
Count
Source
1
#include "duckdb.hpp"
2
#include "duckdb/common/string_util.hpp"
3
#include <string>
4
#include <unordered_set>
5
6
7.90k
extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
7
7.90k
  std::string input(reinterpret_cast<const char *>(data), size);
8
7.90k
  duckdb::DuckDB db(nullptr);
9
7.90k
  duckdb::Connection con(db);
10
11
7.90k
  std::unordered_set<std::string> internal_error_messages = {"Unoptimized Result differs from original result!",
12
7.90k
                                                             "INTERNAL"};
13
7.90k
  con.Query("PRAGMA enable_verification");
14
7.90k
  try {
15
7.90k
    auto result = con.Query(input);
16
7.90k
    if (result->HasError()) {
17
12.2k
      for (auto &internal_error : internal_error_messages) {
18
12.2k
        if (duckdb::StringUtil::Contains(result->GetError(), internal_error)) {
19
2
          return 1;
20
2
        }
21
12.2k
      }
22
6.14k
    }
23
7.90k
  } catch (std::exception &e) {
24
11
  }
25
7.90k
  return 0;
26
7.90k
}