Skip to content

Commit

Permalink
Merge d3d93df into c9311a4
Browse files Browse the repository at this point in the history
  • Loading branch information
LebedevRI committed Nov 26, 2018
2 parents c9311a4 + d3d93df commit 67c53f8
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 4 deletions.
12 changes: 9 additions & 3 deletions src/benchmark_register.cc
Original file line number Diff line number Diff line change
Expand Up @@ -182,14 +182,20 @@ bool BenchmarkFamilies::FindBenchmarks(
}
}

instance.name += StrFormat("%d", arg);
// we know that the args are always non-negative (see 'AddRange()'),
// thus print as 'unsigned'. BUT, do a cast due to the 32-bit builds.
instance.name +=
StrFormat("%llu", static_cast<unsigned long long int>(arg));
++arg_i;
}

if (!IsZero(family->min_time_))
instance.name += StrFormat("/min_time:%0.3f", family->min_time_);
if (family->iterations_ != 0)
instance.name += StrFormat("/iterations:%d", family->iterations_);
if (family->iterations_ != 0) {
instance.name += StrFormat(
"/iterations:%llu",
static_cast<unsigned long long int>(family->iterations_));
}
if (family->repetitions_ != 0)
instance.name += StrFormat("/repeats:%d", family->repetitions_);

Expand Down
6 changes: 5 additions & 1 deletion src/string_util.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,11 @@ void AppendHumanReadable(int n, std::string* str);

std::string HumanReadableNumber(double n, double one_k = 1024.0);

std::string StrFormat(const char* format, ...);
#ifdef __GNUC__
__attribute__((format(printf, 1, 2)))
#endif
std::string
StrFormat(const char* format, ...);

inline std::ostream& StrCatImp(std::ostream& out) BENCHMARK_NOEXCEPT {
return out;
Expand Down
12 changes: 12 additions & 0 deletions test/reporter_output_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -219,6 +219,18 @@ ADD_CASES(TC_JSONOut,
{"\"run_type\": \"iteration\",$", MR_Next}});
ADD_CASES(TC_CSVOut, {{"^\"BM_arg_names/first:2/5/third:4\",%csv_report$"}});

// ========================================================================= //
// ------------------------ Testing Big Args Output ------------------------ //
// ========================================================================= //

void BM_BigArgs(benchmark::State& state) {
for (auto _ : state) {
}
}
BENCHMARK(BM_BigArgs)->RangeMultiplier(2)->Range(1U << 30U, 1U << 31U);
ADD_CASES(TC_ConsoleOut, {{"^BM_BigArgs/1073741824 %console_report$"},
{"^BM_BigArgs/2147483648 %console_report$"}});

// ========================================================================= //
// ----------------------- Testing Complexity Output ----------------------- //
// ========================================================================= //
Expand Down

0 comments on commit 67c53f8

Please sign in to comment.