summaryrefslogtreecommitdiff
path: root/bench/bench_getlogin.rb
diff options
context:
space:
mode:
Diffstat (limited to 'bench/bench_getlogin.rb')
-rw-r--r--bench/bench_getlogin.rb5
1 files changed, 4 insertions, 1 deletions
diff --git a/bench/bench_getlogin.rb b/bench/bench_getlogin.rb
index 12233af..8cb5176 100644
--- a/bench/bench_getlogin.rb
+++ b/bench/bench_getlogin.rb
@@ -9,7 +9,10 @@ module BenchGetlogin
ffi_lib FFI::Library::LIBC
attach_function :getlogin, [], :string
end
- if Posix.getlogin != Etc.getlogin
+
+ # getlogin(2) might return NULL, in which case Etc.getlogin uses ENV["USER"].
+ # This should not matter for this benchmark, getlogin() is still called.
+ if (Posix.getlogin || ENV["USER"]) != Etc.getlogin
raise ArgumentError, "FFI getlogin returned incorrect value: " \
"#{Posix.getlogin.inspect} (FFI) vs #{Etc.getlogin.inspect} (Etc)"
end