1*b04d3553SJoe Hershberger /* 2*b04d3553SJoe Hershberger * (C) Copyright 2015 3*b04d3553SJoe Hershberger * Joe Hershberger, National Instruments, joe.hershberger@ni.com 4*b04d3553SJoe Hershberger * 5*b04d3553SJoe Hershberger * SPDX-License-Identifier: GPL-2.0 6*b04d3553SJoe Hershberger */ 7*b04d3553SJoe Hershberger 8*b04d3553SJoe Hershberger #include <common.h> 9*b04d3553SJoe Hershberger #include <command.h> 10*b04d3553SJoe Hershberger #include <env_attr.h> 11*b04d3553SJoe Hershberger #include <test/env.h> 12*b04d3553SJoe Hershberger #include <test/ut.h> 13*b04d3553SJoe Hershberger 14*b04d3553SJoe Hershberger static int env_test_attrs_lookup(struct unit_test_state *uts) 15*b04d3553SJoe Hershberger { 16*b04d3553SJoe Hershberger char attrs[32]; 17*b04d3553SJoe Hershberger 18*b04d3553SJoe Hershberger ut_assertok(env_attr_lookup("foo:bar", "foo", attrs)); 19*b04d3553SJoe Hershberger ut_asserteq_str("bar", attrs); 20*b04d3553SJoe Hershberger 21*b04d3553SJoe Hershberger ut_assertok(env_attr_lookup(",foo:bar", "foo", attrs)); 22*b04d3553SJoe Hershberger ut_asserteq_str("bar", attrs); 23*b04d3553SJoe Hershberger 24*b04d3553SJoe Hershberger ut_assertok(env_attr_lookup(",foo:bar,", "foo", attrs)); 25*b04d3553SJoe Hershberger ut_asserteq_str("bar", attrs); 26*b04d3553SJoe Hershberger 27*b04d3553SJoe Hershberger ut_assertok(env_attr_lookup(" foo:bar", "foo", attrs)); 28*b04d3553SJoe Hershberger ut_asserteq_str("bar", attrs); 29*b04d3553SJoe Hershberger 30*b04d3553SJoe Hershberger ut_assertok(env_attr_lookup("foo : bar", "foo", attrs)); 31*b04d3553SJoe Hershberger ut_asserteq_str("bar", attrs); 32*b04d3553SJoe Hershberger 33*b04d3553SJoe Hershberger ut_assertok(env_attr_lookup(" foo: bar ", "foo", attrs)); 34*b04d3553SJoe Hershberger ut_asserteq_str("bar", attrs); 35*b04d3553SJoe Hershberger 36*b04d3553SJoe Hershberger ut_assertok(env_attr_lookup("foo:bar ", "foo", attrs)); 37*b04d3553SJoe Hershberger ut_asserteq_str("bar", attrs); 38*b04d3553SJoe Hershberger 39*b04d3553SJoe Hershberger ut_assertok(env_attr_lookup(",foo:bar,goo:baz", "foo", attrs)); 40*b04d3553SJoe Hershberger ut_asserteq_str("bar", attrs); 41*b04d3553SJoe Hershberger 42*b04d3553SJoe Hershberger ut_asserteq(-ENOENT, env_attr_lookup(",,", "foo", attrs)); 43*b04d3553SJoe Hershberger 44*b04d3553SJoe Hershberger ut_asserteq(-ENOENT, env_attr_lookup("goo:baz", "foo", attrs)); 45*b04d3553SJoe Hershberger 46*b04d3553SJoe Hershberger ut_assertok(env_attr_lookup("foo:bar,foo:bat,foo:baz", "foo", attrs)); 47*b04d3553SJoe Hershberger ut_asserteq_str("baz", attrs); 48*b04d3553SJoe Hershberger 49*b04d3553SJoe Hershberger ut_assertok(env_attr_lookup( 50*b04d3553SJoe Hershberger " foo : bar , foo : bat , foot : baz ", "foo", attrs)); 51*b04d3553SJoe Hershberger ut_asserteq_str("bat", attrs); 52*b04d3553SJoe Hershberger 53*b04d3553SJoe Hershberger ut_assertok(env_attr_lookup( 54*b04d3553SJoe Hershberger " foo : bar , foo : bat , ufoo : baz ", "foo", attrs)); 55*b04d3553SJoe Hershberger ut_asserteq_str("bat", attrs); 56*b04d3553SJoe Hershberger 57*b04d3553SJoe Hershberger ut_asserteq(-EINVAL, env_attr_lookup(NULL, "foo", attrs)); 58*b04d3553SJoe Hershberger ut_asserteq(-EINVAL, env_attr_lookup("foo:bar", "foo", NULL)); 59*b04d3553SJoe Hershberger 60*b04d3553SJoe Hershberger return 0; 61*b04d3553SJoe Hershberger } 62*b04d3553SJoe Hershberger ENV_TEST(env_test_attrs_lookup, 0); 63