1*421f86f3SJoe Hershberger /*
2*421f86f3SJoe Hershberger * (C) Copyright 2015
3*421f86f3SJoe Hershberger * Joe Hershberger, National Instruments, joe.hershberger@ni.com
4*421f86f3SJoe Hershberger *
5*421f86f3SJoe Hershberger * SPDX-License-Identifier: GPL-2.0
6*421f86f3SJoe Hershberger */
7*421f86f3SJoe Hershberger
8*421f86f3SJoe Hershberger #include <common.h>
9*421f86f3SJoe Hershberger #include <command.h>
10*421f86f3SJoe Hershberger #include <test/env.h>
11*421f86f3SJoe Hershberger #include <test/suites.h>
12*421f86f3SJoe Hershberger #include <test/ut.h>
13*421f86f3SJoe Hershberger
do_ut_env(cmd_tbl_t * cmdtp,int flag,int argc,char * const argv[])14*421f86f3SJoe Hershberger int do_ut_env(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
15*421f86f3SJoe Hershberger {
16*421f86f3SJoe Hershberger struct unit_test *tests = ll_entry_start(struct unit_test, env_test);
17*421f86f3SJoe Hershberger const int n_ents = ll_entry_count(struct unit_test, env_test);
18*421f86f3SJoe Hershberger struct unit_test_state uts = { .fail_count = 0 };
19*421f86f3SJoe Hershberger struct unit_test *test;
20*421f86f3SJoe Hershberger
21*421f86f3SJoe Hershberger if (argc == 1)
22*421f86f3SJoe Hershberger printf("Running %d environment tests\n", n_ents);
23*421f86f3SJoe Hershberger
24*421f86f3SJoe Hershberger for (test = tests; test < tests + n_ents; test++) {
25*421f86f3SJoe Hershberger if (argc > 1 && strcmp(argv[1], test->name))
26*421f86f3SJoe Hershberger continue;
27*421f86f3SJoe Hershberger printf("Test: %s\n", test->name);
28*421f86f3SJoe Hershberger
29*421f86f3SJoe Hershberger uts.start = mallinfo();
30*421f86f3SJoe Hershberger
31*421f86f3SJoe Hershberger test->func(&uts);
32*421f86f3SJoe Hershberger }
33*421f86f3SJoe Hershberger
34*421f86f3SJoe Hershberger printf("Failures: %d\n", uts.fail_count);
35*421f86f3SJoe Hershberger
36*421f86f3SJoe Hershberger return uts.fail_count ? CMD_RET_FAILURE : 0;
37*421f86f3SJoe Hershberger }
38