summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBui Nguyen Quoc Thanh <Thanh.BuiNguyenQuoc@vn.bosch.com>2019-04-18 13:35:58 +0700
committerSaya Sugiura <ssugiura@jp.adit-jv.com>2019-06-18 17:22:09 +0900
commit0682f9a222821dc6a83b6cf493f1b832104da8fb (patch)
tree7e51a620656dab999fb73a58696e5ad8d9235e1e
parent39bd2d0a0dafd9afe3c5f63903946a4778df24aa (diff)
downloadDLT-daemon-0682f9a222821dc6a83b6cf493f1b832104da8fb.tar.gz
test: Add manual interruption in dlt-test-stress
- Add an environment variable to handle interruption of test. - By default, test1 won't wait for manual interruption anymore. Signed-off-by: Bui Nguyen Quoc Thanh <Thanh.BuiNguyenQuoc@vn.bosch.com>
-rw-r--r--src/tests/dlt-test-stress.c28
1 files changed, 21 insertions, 7 deletions
diff --git a/src/tests/dlt-test-stress.c b/src/tests/dlt-test-stress.c
index bb986da..c85026b 100644
--- a/src/tests/dlt-test-stress.c
+++ b/src/tests/dlt-test-stress.c
@@ -99,6 +99,11 @@ void thread_function(void);
void stress3(void);
+/*
+ * This environment variable is used when developer wants to interrupt program manually
+ */
+char *env_manual_interruption = 0;
+
/**
* Print usage information of tool.
*/
@@ -115,6 +120,8 @@ void usage()
printf(" -v Verbose mode\n");
printf(" -f filename Use local log file instead of sending to daemon\n");
printf(" -1 Execute test 1 (register/unregister many contexts)\n");
+ printf(" In order to interrupt test manually (e.g: wait for ENTER key),\n");
+ printf(" set environment variable DLT_TEST_MANUAL_INTERRUPTION=1\n");
printf(" -2 Execute test 2 (multiple threads logging data)\n");
printf(" -3 Execute test 3 (logging much data)\n");
}
@@ -150,6 +157,7 @@ int main(int argc, char *argv[])
case '1':
{
test[0] = 1;
+ env_manual_interruption = getenv("DLT_TEST_MANUAL_INTERRUPTION");
break;
}
case '2':
@@ -229,7 +237,7 @@ void stress1(void)
char ctid[5];
struct timespec ts;
- printf("Starting stress test1... (press \"Enter\" to terminate test) \n");
+ printf("Starting stress test1...\n");
printf("* Register %d contexts...\n", STRESS1_NUM_CONTEXTS);
@@ -246,12 +254,18 @@ void stress1(void)
nanosleep(&ts, NULL);
}
- while (1) {
- c = getchar();
-
- /* if "Return" is pressed, exit loop; */
- if (c == 10)
- break;
+ if (env_manual_interruption && (strcmp(env_manual_interruption, "1") == 0))
+ {
+ printf("press \"Enter\" to terminate test");
+ while (1)
+ {
+ c=getchar();
+ /* if "Return" is pressed, exit loop; */
+ if (c==10)
+ {
+ break;
+ }
+ }
}
printf("* Unregister %d contexts...\n", STRESS1_NUM_CONTEXTS);