Skip to content

Commit 1ddeaa1

Browse files
zhangchao53GUIDINGLI
authored andcommitted
testing/cmocka: shuffling test sequence and pass seed arg
Signed-off-by: zhangchao53 <zhangchao53@xiaomi.com>
1 parent 71d26a5 commit 1ddeaa1

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

testing/cmocka/cmocka_main.c

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,11 @@ static void cm_usage(void)
5959
"matches C pattern\n"
6060
" -f, --output-path use xml report instead of standard "
6161
"output\n"
62+
" -d, --shuffle-seed shuffling test sequence,between "
63+
"0 and 99999,\n"
64+
" when seed is 0,use time(NULL) as "
65+
"the seed for \n"
66+
" the random number generator\n"
6267
"Example: cmocka --suite mm|sched "
6368
"--test Test* --skip TestNuttxMm0[123]\n\n";
6469
printf("%s", mesg);
@@ -95,6 +100,7 @@ int main(int argc, FAR char *argv[])
95100
FAR char *suite = NULL;
96101
FAR char *skip = NULL;
97102
FAR char *xml_path = NULL;
103+
FAR char *shuffle_seed = NULL;
98104
int num_bypass = 1;
99105
int ret;
100106
int i;
@@ -124,6 +130,11 @@ int main(int argc, FAR char *argv[])
124130
{
125131
xml_path = argv[++i];
126132
}
133+
else if (strcmp("--shuffle-seed", argv[i]) == 0
134+
|| strcmp("-d", argv[i]) == 0)
135+
{
136+
shuffle_seed = argv[++i];
137+
}
127138
else if (strcmp("--test", argv[i]) == 0 || strcmp("-t", argv[i]) == 0)
128139
{
129140
testcase = argv[++i];
@@ -161,6 +172,11 @@ int main(int argc, FAR char *argv[])
161172
cmocka_set_message_output(CM_OUTPUT_XML);
162173
}
163174

175+
if (shuffle_seed != NULL)
176+
{
177+
setenv("CMOCKA_SHUFFLE_SEED", shuffle_seed, 1);
178+
}
179+
164180
cmocka_set_test_filter(testcase);
165181
cmocka_set_skip_filter(skip);
166182
}

0 commit comments

Comments
 (0)