mirror of
https://github.com/google/benchmark.git
synced 2025-03-14 03:10:22 +08:00
StrFormat() is a printf-like function, mark it as such, fix fallout. (#727)
Fixes #714.
This commit is contained in:
parent
c9311a44e1
commit
c9f2693ea9
@ -182,14 +182,19 @@ 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("%lu", static_cast<unsigned long>(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:%lu",
|
||||
static_cast<unsigned long>(family->iterations_));
|
||||
}
|
||||
if (family->repetitions_ != 0)
|
||||
instance.name += StrFormat("/repeats:%d", family->repetitions_);
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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 ----------------------- //
|
||||
// ========================================================================= //
|
||||
|
Loading…
Reference in New Issue
Block a user