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:
parent
b496220a1f
commit
5d0103f973
1 changed files with 6 additions and 1 deletions
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue