On 22/11/16 07:43, Bernhard Voelker wrote: > On 11/22/2016 03:00 AM, Pádraig Brady wrote: >> Subject: [PATCH 2/3] tests: fix false fails due to passing env vars to >> returns_ >> >> On BSD /bin/sh it was seen that unexported env vars passed to >> returns_() would not be propagated to the wrapped command. > > While the new syntax-check LGTM ... > >> --- a/tests/misc/printenv.sh >> +++ b/tests/misc/printenv.sh >> @@ -59,8 +59,10 @@ EOF >> compare exp out || fail=1 >> >> # Exit status reflects missing variable, but remaining arguments processed. >> -ENV_TEST1=a returns_ 1 env -- printenv ENV_TEST2 ENV_TEST1 > out || fail=1 >> -ENV_TEST1=a returns_ 1 env -- printenv ENV_TEST1 ENV_TEST2 >> out || fail=1 >> +ENV_TEST1=a env -- printenv ENV_TEST2 ENV_TEST1 > out >> +test $? = 1 || fail=1 >> +ENV_TEST1=a env -- printenv ENV_TEST1 ENV_TEST2 >> out >> +test $? = 1 || fail=1 > > ...IMO going away from using returns_ is a step backward. > > What about the following which I find nicer to read? > I'd also prefer to use export+unset to avoid a subshell. > > -ENV_TEST1=a returns_ 1 env -- printenv ENV_TEST2 ENV_TEST1 > out || fail=1 > -ENV_TEST1=a returns_ 1 env -- printenv ENV_TEST1 ENV_TEST2 >> out || fail=1 > +export ENV_TEST1=a > +returns_ 1 env -- printenv ENV_TEST2 ENV_TEST1 > out || fail=1 > +returns_ 1 env -- printenv ENV_TEST1 ENV_TEST2 >> out || fail=1 > +unset ENV_TEST1 > > WDYT?
ack
