From 0c017f692272666fdb5eca3bd37bb0355adb05df Mon Sep 17 00:00:00 2001 From: gauthier <lionel.gauthier@eurecom.fr> Date: Tue, 1 Mar 2016 22:53:47 +0100 Subject: [PATCH] Added delay on exit option --- openair3/TEST/EPC_TEST/play_scenario.c | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/openair3/TEST/EPC_TEST/play_scenario.c b/openair3/TEST/EPC_TEST/play_scenario.c index cafdd93d31d..876691cfcca 100644 --- a/openair3/TEST/EPC_TEST/play_scenario.c +++ b/openair3/TEST/EPC_TEST/play_scenario.c @@ -1016,6 +1016,7 @@ static void et_usage ( fprintf (stdout, "\n"); fprintf (stdout, "\t-d | --test-dir <dir> Directory where a set of files related to a particular test are located\n"); fprintf (stdout, "\t-c | --enb-conf-file <file> Provide an eNB config file, valid for the testbed\n"); + fprintf (stdout, "\t-D | --delay-on-exit <delay-in-sec> Wait delay-in-sec before exiting\n"); fprintf (stdout, "\t-f | --shift-packet <frame:[+|-]seconds[.usec]> Shift the timing of a packet'\n"); fprintf (stdout, "\t-F | --shift-packets <frame:[+|-]seconds[.usec]> Shift the timing of packets starting at frame 'frame' included\n"); fprintf (stdout, "\t-m | --max-speed Play scenario as fast as possible without respecting frame timings\n"); @@ -1035,7 +1036,8 @@ et_config_parse_opt_line ( char **et_dir_name, char **scenario_file_name, char **enb_config_file_name, - shift_packet_t **shifts) + shift_packet_t **shifts, + int *delay_on_exit) //------------------------------------------------------------------------------ { int option = 0; @@ -1048,6 +1050,7 @@ et_config_parse_opt_line ( LONG_OPTION_SCENARIO_FILE, LONG_OPTION_MAX_SPEED, LONG_OPTION_TEST_DIR, + LONG_OPTION_DELAY_EXIT, LONG_OPTION_SHIFT_PACKET, LONG_OPTION_SHIFT_PACKETS, LONG_OPTION_HELP, @@ -1059,6 +1062,7 @@ et_config_parse_opt_line ( {"scenario ", required_argument, 0, LONG_OPTION_SCENARIO_FILE}, {"max-speed ", no_argument, 0, LONG_OPTION_MAX_SPEED}, {"test-dir", required_argument, 0, LONG_OPTION_TEST_DIR}, + {"delay-on-exit", required_argument, 0, LONG_OPTION_DELAY_EXIT}, {"shift-packet", required_argument, 0, LONG_OPTION_SHIFT_PACKET}, {"shift-packets", required_argument, 0, LONG_OPTION_SHIFT_PACKETS}, {"help", no_argument, 0, LONG_OPTION_HELP}, @@ -1101,6 +1105,19 @@ et_config_parse_opt_line ( } break; + case LONG_OPTION_DELAY_EXIT: + case 'D': + if (optarg) { + delay_on_exit = atoi(optarg); + if (0 > delay_on_exit) { + fprintf(stderr, "Please provide a valid -D/--delay-on-exit argument, %s is not a valid value\n", delay_on_exit); + exit(1); + } + printf("Delay on exit is %d\n", delay_on_exit); + } + break; + + case LONG_OPTION_SHIFT_PACKET: case 'f': if (optarg) { @@ -1187,6 +1204,7 @@ int main( int argc, char **argv ) char *enb_config_file_name = NULL; struct shift_packet_s *shifts = NULL; int ret = 0; + int delay_on_exit = 0; et_scenario_t *scenario = NULL; char play_scenario_filename[NAME_MAX]; @@ -1205,7 +1223,7 @@ int main( int argc, char **argv ) asn1_xer_print = 1; //parameters - actions = et_config_parse_opt_line (argc, argv, &et_dir_name, &scenario_file_name, &enb_config_file_name, &shifts); //Command-line options + actions = et_config_parse_opt_line (argc, argv, &et_dir_name, &scenario_file_name, &enb_config_file_name, &shifts, &delay_on_exit); //Command-line options if (actions & PLAY_SCENARIO) { if (et_generate_xml_scenario(et_dir_name, scenario_file_name,enb_config_file_name, play_scenario_filename) == 0) { if (NULL != (scenario = et_generate_scenario(play_scenario_filename))) { @@ -1223,5 +1241,8 @@ int main( int argc, char **argv ) et_free_pointer(enb_config_file_name); } itti_wait_tasks_end(); + if (0 < delay_on_exit) { + sleep(delay_on_exit); + } return ret; } -- GitLab