Changed-lines coverage: PR changed C/C++ lines covered by tests: 95.77% (340/355) Uncovered changed code (with context): ================================================================================ src/Common/QueryFuzzerDataTypes.cpp ================================================================================ --- uncovered block 81-81 --- 79 | return std::make_shared(variants); 80 | } >> 81 | return nullptr; 82 | } 83 | --- uncovered block 145-151 --- 143 | if (const auto * type_nested = typeid_cast(type->getCustomName())) 144 | { >> 145 | if (fuzz_rand() % 4 != 0) 146 | { >> 147 | DataTypes new_elems = type_nested->getElements(); >> 148 | fuzzDataTypes(new_elems); >> 149 | return createNested(new_elems, type_nested->getNames()); 150 | } >> 151 | return type; 152 | } 153 | --- uncovered block 192-197 --- 190 | if (type_tuple->hasExplicitNames()) 191 | { >> 192 | auto names = type_tuple->getElementNames(); 193 | /// Pad with synthetic names if a field was added, truncate if one was dropped >> 194 | while (names.size() < elements.size()) >> 195 | names.push_back("f" + std::to_string(names.size())); >> 196 | names.resize(elements.size()); >> 197 | return std::make_shared(elements, names); 198 | } 199 | return std::make_shared(elements); --- uncovered block 280-283 --- 278 | /// Occasionally add a new alternative 279 | if (variants.size() < 10 && fuzz_rand() % 4 == 0) >> 280 | variants.push_back(getRandomType()); 281 | /// Occasionally drop an alternative (keep at least 1) 282 | if (variants.size() > 1 && fuzz_rand() % 4 == 0) >> 283 | variants.erase(variants.begin() + fuzz_rand() % variants.size()); 284 | return std::make_shared(variants); 285 | } --- uncovered block 302-302 --- 300 | catch (...) // NOLINT(bugprone-empty-catch) Ok: a fuzzed typed-path type may violate an Object invariant 301 | { >> 302 | return type; 303 | } 304 | } --- uncovered block 456-456 --- 454 | /// as a quoted literal, so the emitted name no longer reparses. Decline when it does not. 455 | if (!DataTypeFactory::instance().tryGet(result->getName())) >> 456 | return nullptr; 457 | return result; 458 | } WARNING: Failed to get start time for [Print Uncovered Code] - start time and duration won't be set --- Coverage counts --- Lines : baseline 932,853/1,078,435 -> current 933,770/1,078,901 (delta +917 / +466) Functions : baseline 805,581/876,781 -> current 805,744/876,809 (delta +163 / +28) Branches : baseline 305,351/387,862 -> current 305,696/388,136 (delta +345 / +274)