@@ -59,6 +59,11 @@ static void cm_usage(void)
59
59
"matches C pattern\n"
60
60
" -f, --output-path use xml report instead of standard "
61
61
"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"
62
67
"Example: cmocka --suite mm|sched "
63
68
"--test Test* --skip TestNuttxMm0[123]\n\n" ;
64
69
printf ("%s" , mesg );
@@ -95,6 +100,7 @@ int main(int argc, FAR char *argv[])
95
100
FAR char * suite = NULL ;
96
101
FAR char * skip = NULL ;
97
102
FAR char * xml_path = NULL ;
103
+ FAR char * shuffle_seed = NULL ;
98
104
int num_bypass = 1 ;
99
105
int ret ;
100
106
int i ;
@@ -124,6 +130,11 @@ int main(int argc, FAR char *argv[])
124
130
{
125
131
xml_path = argv [++ i ];
126
132
}
133
+ else if (strcmp ("--shuffle-seed" , argv [i ]) == 0
134
+ || strcmp ("-d" , argv [i ]) == 0 )
135
+ {
136
+ shuffle_seed = argv [++ i ];
137
+ }
127
138
else if (strcmp ("--test" , argv [i ]) == 0 || strcmp ("-t" , argv [i ]) == 0 )
128
139
{
129
140
testcase = argv [++ i ];
@@ -161,6 +172,11 @@ int main(int argc, FAR char *argv[])
161
172
cmocka_set_message_output (CM_OUTPUT_XML );
162
173
}
163
174
175
+ if (shuffle_seed != NULL )
176
+ {
177
+ setenv ("CMOCKA_SHUFFLE_SEED" , shuffle_seed , 1 );
178
+ }
179
+
164
180
cmocka_set_test_filter (testcase );
165
181
cmocka_set_skip_filter (skip );
166
182
}
0 commit comments