Skip to content

Commit c309be1

Browse files
committed
drivertest_uart: Pass in the specified parameters to test
Signed-off-by: zhangshoukui <[email protected]>
1 parent a0f05d0 commit c309be1

File tree

1 file changed

+33
-13
lines changed

1 file changed

+33
-13
lines changed

testing/drivers/drivertest/drivertest_uart.c

+33-13
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@
6464
struct test_confs_s
6565
{
6666
FAR const char *dev_path;
67+
int test_case_id;
6768
};
6869

6970
struct test_state_s
@@ -199,10 +200,10 @@ static int teardown(FAR void **state)
199200
}
200201

201202
/****************************************************************************
202-
* Name: write_default
203+
* Name: drivertest_uart_write
203204
****************************************************************************/
204205

205-
static void write_default(FAR void **state)
206+
static void drivertest_uart_write(FAR void **state)
206207
{
207208
FAR struct test_state_s *test_state = (FAR struct test_state_s *)*state;
208209
int res = write(test_state->fd,
@@ -213,10 +214,10 @@ static void write_default(FAR void **state)
213214
}
214215

215216
/****************************************************************************
216-
* Name: read_default
217+
* Name: drivertest_uart_read
217218
****************************************************************************/
218219

219-
static void read_default(FAR void **state)
220+
static void drivertest_uart_read(FAR void **state)
220221
{
221222
FAR struct test_state_s *test_state = (FAR struct test_state_s *)*state;
222223
size_t buffer_size = sizeof(DEFAULT_CONTENT);
@@ -245,10 +246,10 @@ static void read_default(FAR void **state)
245246
}
246247

247248
/****************************************************************************
248-
* Name: burst_test
249+
* Name: drivertest_uart_burst
249250
****************************************************************************/
250251

251-
static void burst_test(FAR void **state)
252+
static void drivertest_uart_burst(FAR void **state)
252253
{
253254
FAR struct test_state_s *test_state = (FAR struct test_state_s *)*state;
254255
int res = 0;
@@ -303,6 +304,12 @@ static void show_usage(FAR const char *progname, int exitcode)
303304
printf("Where:\n");
304305
printf(" -d <dev path> uart device path "
305306
"[default device: /dev/console].\n");
307+
printf(" -n <test_case_id> selects the testcase to uart.\n"
308+
"[default test: drivertest_uart_write].\n"
309+
" Case 0: drivertest_uart_write test\n"
310+
" Case 1: drivertest_uart_read test\n"
311+
" Case 2: drivertest_uart_burst test\n"
312+
);
306313
exit(exitcode);
307314
}
308315

@@ -315,13 +322,16 @@ static void parse_args(int argc, FAR char **argv,
315322
{
316323
int option;
317324

318-
while ((option = getopt(argc, argv, "d:")) != ERROR)
325+
while ((option = getopt(argc, argv, "d:n:")) != ERROR)
319326
{
320327
switch (option)
321328
{
322329
case 'd':
323330
conf->dev_path = optarg;
324331
break;
332+
case 'n':
333+
conf->test_case_id = atoi(optarg);
334+
break;
325335
case '?':
326336
printf("Unknown option: %c\n", optopt);
327337
show_usage(argv[0], EXIT_FAILURE);
@@ -340,20 +350,30 @@ static void parse_args(int argc, FAR char **argv,
340350

341351
int main(int argc, FAR char *argv[])
342352
{
353+
void (*drivertest_uart)(FAR void **state) = NULL;
343354
struct test_confs_s confs =
344355
{
345-
.dev_path = CONFIG_TESTING_DRIVER_TEST_UART_DEVICE
356+
.dev_path = CONFIG_TESTING_DRIVER_TEST_UART_DEVICE,
357+
.test_case_id = 0
346358
};
347359

348360
parse_args(argc, argv, &confs);
361+
switch (confs.test_case_id)
362+
{
363+
case 1:
364+
drivertest_uart = drivertest_uart_read;
365+
break;
366+
case 2:
367+
drivertest_uart = drivertest_uart_burst;
368+
break;
369+
default:
370+
drivertest_uart = drivertest_uart_write;
371+
break;
372+
}
349373

350374
const struct CMUnitTest tests[] =
351375
{
352-
cmocka_unit_test_prestate_setup_teardown(write_default, setup,
353-
teardown, &confs),
354-
cmocka_unit_test_prestate_setup_teardown(read_default, setup,
355-
teardown, &confs),
356-
cmocka_unit_test_prestate_setup_teardown(burst_test, setup,
376+
cmocka_unit_test_prestate_setup_teardown(drivertest_uart, setup,
357377
teardown, &confs),
358378
};
359379

0 commit comments

Comments
 (0)