forked from Mirrorlandia_minetest/minetest
Allow running individual benchmarks
mirrors and reuses the option from 2f6a9d12f1db84322e0b69fd5ddc986f1f143606
This commit is contained in:
parent
3c60d359ed
commit
e5a6048eec
@ -23,10 +23,12 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||||||
#define CATCH_CONFIG_RUNNER
|
#define CATCH_CONFIG_RUNNER
|
||||||
#include "benchmark_setup.h"
|
#include "benchmark_setup.h"
|
||||||
|
|
||||||
int run_benchmarks()
|
bool run_benchmarks(const char *arg)
|
||||||
{
|
{
|
||||||
int argc = 1;
|
const char *const argv[] = {
|
||||||
const char *argv[] = { "MinetestBenchmark", NULL };
|
"MinetestBenchmark", arg, nullptr
|
||||||
|
};
|
||||||
|
const int argc = arg ? 2 : 1;
|
||||||
int errCount = Catch::Session().run(argc, argv);
|
int errCount = Catch::Session().run(argc, argv);
|
||||||
return errCount ? 1 : 0;
|
return errCount == 0;
|
||||||
}
|
}
|
||||||
|
@ -22,5 +22,5 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
#if BUILD_BENCHMARKS
|
#if BUILD_BENCHMARKS
|
||||||
extern int run_benchmarks();
|
extern bool run_benchmarks(const char *arg = nullptr);
|
||||||
#endif
|
#endif
|
||||||
|
@ -234,7 +234,10 @@ int main(int argc, char *argv[])
|
|||||||
// Run benchmarks
|
// Run benchmarks
|
||||||
if (cmd_args.getFlag("run-benchmarks")) {
|
if (cmd_args.getFlag("run-benchmarks")) {
|
||||||
#if BUILD_BENCHMARKS
|
#if BUILD_BENCHMARKS
|
||||||
return run_benchmarks();
|
if (cmd_args.exists("test-module"))
|
||||||
|
return run_benchmarks(cmd_args.get("test-module").c_str()) ? 0 : 1;
|
||||||
|
else
|
||||||
|
return run_benchmarks() ? 0 : 1;
|
||||||
#else
|
#else
|
||||||
errorstream << "Benchmark support is not enabled in this binary. "
|
errorstream << "Benchmark support is not enabled in this binary. "
|
||||||
<< "If you want to enable it, compile project with BUILD_BENCHMARKS=1 flag."
|
<< "If you want to enable it, compile project with BUILD_BENCHMARKS=1 flag."
|
||||||
@ -340,7 +343,7 @@ static void set_allowed_options(OptionList *allowed_options)
|
|||||||
allowed_options->insert(std::make_pair("run-benchmarks", ValueSpec(VALUETYPE_FLAG,
|
allowed_options->insert(std::make_pair("run-benchmarks", ValueSpec(VALUETYPE_FLAG,
|
||||||
_("Run the benchmarks and exit"))));
|
_("Run the benchmarks and exit"))));
|
||||||
allowed_options->insert(std::make_pair("test-module", ValueSpec(VALUETYPE_STRING,
|
allowed_options->insert(std::make_pair("test-module", ValueSpec(VALUETYPE_STRING,
|
||||||
_("Only run the specified test module"))));
|
_("Only run the specified test module or benchmark"))));
|
||||||
allowed_options->insert(std::make_pair("map-dir", ValueSpec(VALUETYPE_STRING,
|
allowed_options->insert(std::make_pair("map-dir", ValueSpec(VALUETYPE_STRING,
|
||||||
_("Same as --world (deprecated)"))));
|
_("Same as --world (deprecated)"))));
|
||||||
allowed_options->insert(std::make_pair("world", ValueSpec(VALUETYPE_STRING,
|
allowed_options->insert(std::make_pair("world", ValueSpec(VALUETYPE_STRING,
|
||||||
|
Loading…
Reference in New Issue
Block a user