mirror of https://github.com/PentHertz/srsLTE.git
extension of sched benchmark test to allow different testing modes - test rates, benchmark, test different combinations of sched parameters
This commit is contained in:
parent
ac4d058fbf
commit
c3a4cb37f4
|
@ -362,11 +362,12 @@ int run_rate_test()
|
||||||
return success ? SRSLTE_SUCCESS : SRSLTE_ERROR;
|
return success ? SRSLTE_SUCCESS : SRSLTE_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
int run_benchmark()
|
int run_all()
|
||||||
{
|
{
|
||||||
run_params_range run_param_list{};
|
run_params_range run_param_list{};
|
||||||
srslog::basic_logger& mac_logger = srslog::fetch_basic_logger("MAC");
|
srslog::basic_logger& mac_logger = srslog::fetch_basic_logger("MAC");
|
||||||
|
|
||||||
|
fmt::print("Running all param combinations\n");
|
||||||
std::vector<run_data> run_results;
|
std::vector<run_data> run_results;
|
||||||
size_t nof_runs = run_param_list.nof_runs();
|
size_t nof_runs = run_param_list.nof_runs();
|
||||||
for (size_t r = 0; r < nof_runs; ++r) {
|
for (size_t r = 0; r < nof_runs; ++r) {
|
||||||
|
@ -381,9 +382,35 @@ int run_benchmark()
|
||||||
return SRSLTE_SUCCESS;
|
return SRSLTE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int run_benchmark()
|
||||||
|
{
|
||||||
|
run_params_range run_param_list{};
|
||||||
|
srslog::basic_logger& mac_logger = srslog::fetch_basic_logger("MAC");
|
||||||
|
|
||||||
|
run_param_list.nof_ttis = 1000000;
|
||||||
|
run_param_list.nof_prbs = {100};
|
||||||
|
run_param_list.cqi = {15};
|
||||||
|
run_param_list.nof_ues = {5};
|
||||||
|
run_param_list.sched_policy = {"time_pf"};
|
||||||
|
|
||||||
|
std::vector<run_data> run_results;
|
||||||
|
size_t nof_runs = run_param_list.nof_runs();
|
||||||
|
fmt::print("Running Benchmark\n");
|
||||||
|
for (size_t r = 0; r < nof_runs; ++r) {
|
||||||
|
run_params runparams = run_param_list.get_params(r);
|
||||||
|
|
||||||
|
mac_logger.info("\n### New run {} ###\n", r);
|
||||||
|
TESTASSERT(run_benchmark_scenario(runparams, run_results) == SRSLTE_SUCCESS);
|
||||||
|
}
|
||||||
|
|
||||||
|
print_benchmark_results(run_results);
|
||||||
|
|
||||||
|
return SRSLTE_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace srsenb
|
} // namespace srsenb
|
||||||
|
|
||||||
int main()
|
int main(int argc, char* argv[])
|
||||||
{
|
{
|
||||||
// Setup the log spy to intercept error and warning log entries.
|
// Setup the log spy to intercept error and warning log entries.
|
||||||
if (!srslog::install_custom_sink(
|
if (!srslog::install_custom_sink(
|
||||||
|
@ -407,9 +434,12 @@ int main()
|
||||||
|
|
||||||
bool run_benchmark = false;
|
bool run_benchmark = false;
|
||||||
|
|
||||||
|
if (argc == 1 or strcmp(argv[1], "test") == 0) {
|
||||||
TESTASSERT(srsenb::run_rate_test() == SRSLTE_SUCCESS);
|
TESTASSERT(srsenb::run_rate_test() == SRSLTE_SUCCESS);
|
||||||
if (run_benchmark) {
|
} else if (strcmp(argv[1], "benchmark") == 0) {
|
||||||
TESTASSERT(srsenb::run_benchmark() == SRSLTE_SUCCESS);
|
TESTASSERT(srsenb::run_benchmark() == SRSLTE_SUCCESS);
|
||||||
|
} else {
|
||||||
|
TESTASSERT(srsenb::run_all() == SRSLTE_SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue