|
|
|
@ -13,28 +13,68 @@ |
|
|
|
|
|
|
|
|
|
#define CONFIG "ELM_SCALE=1 ELM_FINGER_SIZE=10" |
|
|
|
|
|
|
|
|
|
typedef enum |
|
|
|
|
{ |
|
|
|
|
RUN_SIMULATION, |
|
|
|
|
RUN_PLAY, |
|
|
|
|
RUN_RECORD, |
|
|
|
|
RUN_INIT |
|
|
|
|
} Run_Mode; |
|
|
|
|
|
|
|
|
|
static void |
|
|
|
|
_run_command_prepare(const List_Entry *ent, Run_Mode mode, char *buf) |
|
|
|
|
{ |
|
|
|
|
Eina_Strbuf *sbuf = eina_strbuf_new(); |
|
|
|
|
eina_strbuf_append_printf(sbuf, "TSUITE_VERBOSE=%d ", exactness_config.verbose); |
|
|
|
|
eina_strbuf_append_printf(sbuf, "TSUITE_FILE_NAME='%s/%s.rec' ", |
|
|
|
|
exactness_config.base_dir, ent->name); |
|
|
|
|
eina_strbuf_append_printf(sbuf, "TSUITE_TEST_NAME='%s' ", ent->name); |
|
|
|
|
switch (mode) |
|
|
|
|
{ |
|
|
|
|
case RUN_SIMULATION: |
|
|
|
|
{ |
|
|
|
|
eina_strbuf_append_printf(sbuf, "TSUITE_DEST_DIR='%s' ", |
|
|
|
|
exactness_config.dest_dir); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
case RUN_PLAY: |
|
|
|
|
{ |
|
|
|
|
eina_strbuf_append(sbuf, "ELM_ENGINE='buffer' "); |
|
|
|
|
eina_strbuf_append_printf(sbuf, "TSUITE_DEST_DIR='%s/%s' ", |
|
|
|
|
exactness_config.dest_dir, CURRENT_SUBDIR); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
case RUN_INIT: |
|
|
|
|
{ |
|
|
|
|
eina_strbuf_append(sbuf, "ELM_ENGINE='buffer' "); |
|
|
|
|
eina_strbuf_append_printf(sbuf, "TSUITE_DEST_DIR='%s/%s' ", |
|
|
|
|
exactness_config.dest_dir, ORIG_SUBDIR); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
case RUN_RECORD: |
|
|
|
|
{ |
|
|
|
|
eina_strbuf_append_printf(sbuf, "TSUITE_DEST_DIR='%s' ", |
|
|
|
|
exactness_config.dest_dir); |
|
|
|
|
eina_strbuf_append(sbuf, "TSUITE_RECORDING='rec' "); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
eina_strbuf_append_printf(sbuf, "LD_PRELOAD='%s' %s %s %s", |
|
|
|
|
LIBEXACTNESS_PATH, CONFIG, exactness_config.wrap_command, ent->command); |
|
|
|
|
strncpy(buf, eina_strbuf_string_get(sbuf), SCHEDULER_CMD_SIZE-1); |
|
|
|
|
eina_strbuf_free(sbuf); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void |
|
|
|
|
run_test_simulation(const List_Entry *ent, char *buf) |
|
|
|
|
{ |
|
|
|
|
snprintf(buf, SCHEDULER_CMD_SIZE, "TSUITE_VERBOSE=%d TSUITE_DEST_DIR='%s' TSUITE_FILE_NAME='%s/%s.rec' TSUITE_TEST_NAME='%s' LD_PRELOAD='%s' %s %s %s", |
|
|
|
|
exactness_config.verbose, |
|
|
|
|
exactness_config.dest_dir, |
|
|
|
|
exactness_config.base_dir, ent->name, |
|
|
|
|
ent->name, LIBEXACTNESS_PATH, CONFIG, |
|
|
|
|
exactness_config.wrap_command, |
|
|
|
|
ent->command); |
|
|
|
|
_run_command_prepare(ent, RUN_SIMULATION, buf); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void |
|
|
|
|
run_test_play(const List_Entry *ent, char *buf) |
|
|
|
|
{ |
|
|
|
|
snprintf(buf, SCHEDULER_CMD_SIZE, "TSUITE_VERBOSE=%d ELM_ENGINE='buffer' TSUITE_DEST_DIR='%s/" CURRENT_SUBDIR "' TSUITE_FILE_NAME='%s/%s.rec' TSUITE_TEST_NAME='%s' LD_PRELOAD='%s' %s %s %s", |
|
|
|
|
exactness_config.verbose, |
|
|
|
|
exactness_config.dest_dir, |
|
|
|
|
exactness_config.base_dir, ent->name, |
|
|
|
|
ent->name, LIBEXACTNESS_PATH, CONFIG, |
|
|
|
|
exactness_config.wrap_command, |
|
|
|
|
ent->command); |
|
|
|
|
_run_command_prepare(ent, RUN_PLAY, buf); |
|
|
|
|
|
|
|
|
|
run_test_prefix_rm(CURRENT_SUBDIR, ent->name); |
|
|
|
|
if (exactness_config.verbose) |
|
|
|
@ -46,25 +86,13 @@ run_test_play(const List_Entry *ent, char *buf) |
|
|
|
|
void |
|
|
|
|
run_test_record(const List_Entry *ent, char *buf) |
|
|
|
|
{ |
|
|
|
|
snprintf(buf, SCHEDULER_CMD_SIZE, "TSUITE_VERBOSE=%d TSUITE_RECORDING='rec' TSUITE_DEST_DIR='%s' TSUITE_FILE_NAME='%s/%s.rec' TSUITE_TEST_NAME='%s' LD_PRELOAD='%s' %s %s %s", |
|
|
|
|
exactness_config.verbose, |
|
|
|
|
exactness_config.dest_dir, |
|
|
|
|
exactness_config.base_dir, ent->name, |
|
|
|
|
ent->name, LIBEXACTNESS_PATH, CONFIG, |
|
|
|
|
exactness_config.wrap_command, |
|
|
|
|
ent->command); |
|
|
|
|
_run_command_prepare(ent, RUN_RECORD, buf); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void |
|
|
|
|
run_test_init(const List_Entry *ent, char *buf) |
|
|
|
|
{ |
|
|
|
|
snprintf(buf, SCHEDULER_CMD_SIZE, "TSUITE_VERBOSE=%d ELM_ENGINE='buffer' TSUITE_DEST_DIR='%s/" ORIG_SUBDIR "' TSUITE_FILE_NAME='%s/%s.rec' TSUITE_TEST_NAME='%s' LD_PRELOAD='%s' %s %s %s", |
|
|
|
|
exactness_config.verbose, |
|
|
|
|
exactness_config.dest_dir, |
|
|
|
|
exactness_config.base_dir, ent->name, |
|
|
|
|
ent->name, LIBEXACTNESS_PATH, CONFIG, |
|
|
|
|
exactness_config.wrap_command, |
|
|
|
|
ent->command); |
|
|
|
|
_run_command_prepare(ent, RUN_INIT, buf); |
|
|
|
|
|
|
|
|
|
run_test_prefix_rm(ORIG_SUBDIR, ent->name); |
|
|
|
|
} |
|
|
|
|