git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] t/lib-httpd: switch SANITY check for NOT_ROOT

From
Kyle J. McKay <mackyle@gmail.com>
Date
Jan 16, 2015, 03:27 UTC
Message-ID
<BEFF558C-774D-4891-96A0-BE962F8070E7@gmail.com>
In-Reply-To
<20150116013256.GA25894@peff.net>
On Jan 15, 2015, at 17:32, Jeff King wrote:
Show 13 quoted lines
> On Thu, Jan 15, 2015 at 04:04:24PM -0800, Junio C Hamano wrote:
>
>> I wondered what 'perl -e 'print $>' would say in mingw, and if that
>> is portable enough, though.
>
> Good thinking. I guess the best way to find out is to convince  
> somebody
> from msysgit to try this patch. :)
>
> We may simply find that nobody there even has apache installed on  
> their
> box, and they do not run the http tests at all.
>
[...]
> 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]?
So the test "if [ $(id -u) = 0 ]" or similar ought to work.

"id -u" works for me in MSYS and cygwin (each appears to have it's own id.exe).

Show 5 quoted lines
> +
> +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.

Also "$<" is real user id. Don't you want effective user id ("$>"), that's what the comment says...

Both "$<" and "$>" work for me in MSYS and cygwin although if I run it from cmd.exe using strawberry perl, both "$<" and "$>" give 0. (There's no id.exe for cmd.exe unless it finds the cygwin/msys one.)

As long as NO_PERL is not also intended to affect "make test" either the perl or id version seems fine to me (as long as it's Perl's "$>") since I doubt the tests would run with just cmd.exe. :)

-Kyle
[1] http://pubs.opengroup.org/onlinepubs/009604499/utilities/id.html
Previous: Jeff KingNext: Jeff King
Message 12 of 33 in “t5539 broken under Mac OS X”
  1. Torsten BögershausenJan 14, 2015
  2. Junio C HamanoJan 14, 2015
  3. Torsten BögershausenJan 14, 2015
  4. Jeff KingJan 14, 2015
  5. Kyle J. McKayJan 15, 2015
  6. Junio C HamanoJan 15, 2015
  7. Jeff KingJan 15, 2015
  8. Junio C HamanoJan 15, 2015
  9. Jeff KingJan 15, 2015
  10. Junio C HamanoJan 16, 2015
  11. t/lib-httpd: switch SANITY check for NOT_ROOTJeff King, Jan 16, 2015
  12. Kyle J. McKayJan 16, 2015
  13. Jeff KingJan 16, 2015
  14. Jeff KingJan 16, 2015
  15. Junio C HamanoJan 16, 2015
  16. Junio C HamanoJan 16, 2015
  17. Torsten BögershausenJan 17, 2015
  18. Junio C HamanoJan 21, 2015
  19. Torsten BögershausenJan 22, 2015
  20. Junio C HamanoJan 22, 2015
  21. Torsten BögershausenJan 23, 2015
  22. Junio C HamanoFeb 12, 2015
  23. Torsten BögershausenFeb 14, 2015
  24. Junio C HamanoFeb 15, 2015
  25. Torsten BögershausenJan 23, 2015
  26. Junio C HamanoJan 23, 2015
  27. Johannes SchindelinJan 24, 2015
  28. Kyle J. McKayJan 16, 2015
  29. Kyle J. McKayJan 16, 2015
  30. Achim GratzJan 16, 2015
  31. Erik Faye-LundJan 27, 2015
  32. Junio C HamanoJan 27, 2015
  33. Erik Faye-LundJan 27, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.