1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

spec/ruby/library/etc/getlogin_spec.rb: Use logname as an expected result

It had used `id -un`, but it is not always equal to `Etc.getlogin`.
`id` returns the current user of the process, and `Etc.getlogin` returns
the user name logged in on the controlling terminal of the process.

This change uses `logname` by default.  `id` remains as a fallback since
there seem to be some platforms where `logname` is not available:
49576b417c

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61759 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
mame 2018-01-10 13:30:22 +00:00
parent b496220a1f
commit 5d0103f973

View file

@ -18,7 +18,12 @@ describe "Etc.getlogin" do
else
# Etc.getlogin returns the same result of logname(2)
# if it returns non NULL
Etc.getlogin.should == `id -un`.chomp
if system("which logname", out: File::NULL, err: File::NULL)
Etc.getlogin.should == `logname`.chomp
else
# fallback to `id` command since `logname` is not available
Etc.getlogin.should == `id -un`.chomp
end
end
else
# Etc.getlogin may return nil if the login name is not set