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 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