[Fuego] Add NEED_PROGRAM to need_check

Daniel Sangorrin daniel.sangorrin at toshiba.co.jp
Tue Feb 6 05:43:59 UTC 2018


Hi Liu,

> -----Original Message-----
> From: Liu, Wenlong [mailto:liuwl.fnst at cn.fujitsu.com]
> Sent: Friday, February 02, 2018 6:26 PM
> To: Daniel Sangorrin; Tim.Bird at sony.com; fuego at lists.linuxfoundation.org
> Subject: RE: [Fuego] Add NEED_PROGRAM to need_check
> 
> 
> > -----Original Message-----
> > From: Daniel Sangorrin [mailto:daniel.sangorrin at toshiba.co.jp]
> > Sent: Friday, February 02, 2018 3:30 PM
> > To: Liu, Wenlong/刘 文龙 <liuwl.fnst at cn.fujitsu.com>; Tim.Bird at sony.com;
> > fuego at lists.linuxfoundation.org
> > Subject: RE: [Fuego] Add NEED_PROGRAM to need_check
> >
> > Hi Tim,
> >
> > > -----Original Message-----
> > > From: fuego-bounces at lists.linuxfoundation.org
> > > [mailto:fuego-bounces at lists.linuxfoundation.org] On Behalf Of Liu,
> > > Wenlong
> > > > In general, I prefer things to be done as check_needs, which means
> > > > they are declarative, rather than in test_pre_check, which, strictly
> > > > speaking, is imperative.
> > > >
> > > > Having declarative dependencies means you can do a static dependency
> > > > checker.
> >
> > But many times we want a dynamic check as well. For example, we may want
> > to skip some tests if we don't have root permissions but still run the other
> > tests.
> >
> > I was wondering if we could kill 2 birds (no pun intended) with one shot:
> > - during the pre_check phase a script checks for variables that start with
> > NEED_FOO
> > - then, the script calls check_FOO() for each need.
> >
> > NEED_ROOT is currently being checked in a function called check_needs.
> > Instead, we could define a functiona called "check_ROOT" and have it called
> > automatically when NEED_ROOT=1 is declared on the script. The advantage
> > of this approach, is that tests can still call "check_ROOT" dynamically.
> >
> > What do you think?
> 
> Sorry, let me say something here:-).
> We really need to check something dynamically.
> Daniel, is my understanding as below the same as you said?
> ...
> NEED_PROGRAM="foo1 foo2 foo3"            -> static check
> 
> function test_pre_check {
>     if check_ROOT; then
>         check_PROGRAM "foo4" || ABORT    -> dynamic check; foo4 depends on the ROOT permission.
>     else
>        # add "foo4" related test to skip list or fail_ok_list.
>     fi
> }
> ...

Yes, something like that would work for me.
 
> But, maybe oneday we could also use declarative dependencies to do a dynamic check.
> Something like(just a draft below),
> ...
> NEED_PROGRAM="foo1 foo2 foo3"
> NEED_PROGRAM_dynamic="foo4, check_ROOT, test4"
> # if not ROOT permission, then skip test4 or add it to fail_ok_list
> # if ROOT permission but "foo4" not exist; then ABORT
> ...
> It may be more complex somewhere than the example above. But anyway, check_FOO() will be needed.

Mmm I think that it would be hard to create something generic that works for all tests with that approach.

Thanks,
Daniel


> 
> Best regards
> Liu
> 
> > Thanks,
> > Daniel
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> 
> 





More information about the Fuego mailing list