Timeout.timeout doesn't actually time out?
Documentation for Timeout says "A way of performing a potentially long-running operation in a thread, and terminating its execution if it hasn‘t finished by a fixed amount of time."
This doesn't actually seem to be what it does.
puts "Time out after 2 seconds. Count them..."
result = Timeout.timeout(2) do
stdin, stdout, stderr = Open3.capture3("sleep 30")
output = stdout.read + "\n" + stderr.read
On my systems, this doesn't time out after 2 seconds. Instead, it runs for 30 seconds, and then throws an error saying it took longer than 2 seconds.