summaryrefslogtreecommitdiff
path: root/test/io/wait/test_ractor.rb
blob: c77a29bff3e168652fefb594d0ab55c7778228dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# frozen_string_literal: true
require 'test/unit'
require 'rbconfig'

class TestIOWaitInRactor < Test::Unit::TestCase
  def test_ractor
    ext = "/io/wait.#{RbConfig::CONFIG['DLEXT']}"
    path = $".find {|path| path.end_with?(ext)}
    assert_in_out_err(%W[-r#{path}], <<-"end;", ["true"], [])
      class Ractor
        alias value take
      end unless Ractor.method_defined? :value # compat with Ruby 3.4 and olders

      $VERBOSE = nil
      r = Ractor.new do
        $stdout.equal?($stdout.wait_writable)
      end
      puts r.value
    end;
  end
end if defined? Ractor