On Thu, Jan 15, 2015 at 07:27:34PM -0800, Kyle J. McKay wrote:
> >We implement NOT_ROOT by checking perl's "$>" variable,
> >since we cannot rely on the "id" program being available
> >everywhere (and we would rather avoid writing a custom C
> >program to run geteuid if we can).
>
> Does it make a difference that id is POSIX [1]?
I don't know. Do all of the platforms where we run http tests have it
(and conforming to POSIX-ish options or output)? It may be OK to guess
yes and see if anybody complains (the worst case is skipping http
tests).
> "id -u" works for me in MSYS and cygwin (each appears to have it's own
> id.exe).
That's comforting. MSYS was the one I was most worried about. What UID
do they report? I.e., do they correctly tell us if we are root (or
more accurately, if we are not root)?
> >+test_lazy_prereq NOT_ROOT '
> >+ uid=$(perl -e "print \$<") &&
> >+ test "$uid" != 0
> >+'
>
> Does NO_PERL affect this? Or is Perl always required to run the tests.
No, we use a very limited subset of perl in our tests when necessary
(basic enough that any perl5 will do), regardless of the NO_PERL
setting.
> Also "$<" is real user id. Don't you want effective user id ("$>"), that's
> what the comment says...
Yeah, I bungled this initially and thought I fixed it, but clearly not.
:-/
I'll re-roll, but if we can get away with "id -u" I think that's
preferable.
-Peff
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html