• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

llnl / dftracer-utils / 28496595030

01 Jul 2026 05:50AM UTC coverage: 50.727% (-1.6%) from 52.278%
28496595030

Pull #83

github

web-flow
Merge 8f1ff4df5 into 2efed6649
Pull Request #83: refactor and improve code QoL

31872 of 80367 branches covered (39.66%)

Branch coverage included in aggregate %.

770 of 1591 new or added lines in 85 files covered. (48.4%)

5070 existing lines in 182 files now uncovered.

32742 of 47009 relevant lines covered (69.65%)

9887.52 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

77.42
/src/dftracer/utils/core/utils/string.cpp
1
#include <dftracer/utils/core/utils/string.h>
2

3
namespace dftracer::utils {
4
namespace {
5
inline bool is_json_ws(char c) {
14,806✔
6
    return c == ' ' || c == '\t' || c == '\n' || c == '\r';
14,806!
7
}
8

9
bool json_trim_impl(const char* data, std::size_t length, const char*& start,
7,405✔
10
                    std::size_t& trimmed_length, bool trim_trailing_comma) {
11
    start = data;
7,405✔
12
    const char* end = data + length - 1;
7,405✔
13

14
    while (start <= end && is_json_ws(*start)) {
7,405!
UNCOV
15
        start++;
×
16
    }
17
    while (end >= start && is_json_ws(*end)) {
7,403!
UNCOV
18
        end--;
×
19
    }
20

21
    // Trailing commas appear in the JSON array format.
22
    if (trim_trailing_comma && end >= start && *end == ',') {
7,403!
23
        end--;
2,028✔
24
    }
2,028✔
25

26
    trimmed_length = (end >= start) ? (end - start + 1) : 0;
7,403!
27

28
    if (trimmed_length == 0 ||
7,403!
29
        (trimmed_length == 1 &&
7,403✔
30
         (*start == '[' || *start == '{' || *start == ']' || *start == '}')) ||
174!
31
        (trimmed_length == 2 && start[0] == ']' && start[1] == '[')) {
7,229!
32
        // Invalid/incomplete JSON or file boundary artifact
33
        return false;
175✔
34
    }
35

36
    return true;
7,230✔
37
}
7,403✔
38
}  // namespace
39

40
bool json_trim_and_validate(const char* data, std::size_t length,
1,745✔
41
                            const char*& start, std::size_t& trimmed_length) {
42
    return json_trim_impl(data, length, start, trimmed_length, false);
1,745✔
43
}
44

45
bool json_trim_and_validate_with_comma(const char* data, std::size_t length,
5,658✔
46
                                       const char*& start,
47
                                       std::size_t& trimmed_length) {
48
    return json_trim_impl(data, length, start, trimmed_length, true);
5,658✔
49
}
50
}  // namespace dftracer::utils
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc