diff options
Diffstat (limited to 'test/thread/test_sync.rb')
| -rw-r--r-- | test/thread/test_sync.rb | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/test/thread/test_sync.rb b/test/thread/test_sync.rb deleted file mode 100644 index 870a8e2d39..0000000000 --- a/test/thread/test_sync.rb +++ /dev/null @@ -1,57 +0,0 @@ -require 'test/unit' -require 'sync' -require 'timeout' - -class SyncTest < Test::Unit::TestCase - class Tester - include Sync_m - end - - def test_sync_lock_and_wakeup - tester = Tester.new - - tester.sync_lock(:EX) - - t = Thread.new { tester.sync_lock(:EX) } - - sleep 0.1 until t.stop? - t.wakeup - sleep 0.1 until t.stop? - - assert_equal(tester.sync_waiting.uniq, tester.sync_waiting) - end - - def test_sync_upgrade_and_wakeup - tester = Tester.new - tester.sync_lock(:SH) - - t = Thread.new do - tester.sync_lock(:SH) - tester.sync_lock(:EX) - end - - sleep 0.1 until t.stop? - t.wakeup - sleep 0.1 until t.stop? - - tester.sync_upgrade_waiting.each { |ary| - assert(!tester.sync_waiting.include?(ary[0])) - } - assert_equal(tester.sync_waiting.uniq, tester.sync_waiting) - assert_equal(tester.sync_waiting, []) - end - - def test_sync_lock_and_raise - tester= Tester.new - tester.sync_lock(:EX) - - t = Thread.new { tester.sync_lock(:EX) } - - sleep 0.1 until t.stop? - t.raise - sleep 0.1 while t.alive? - - assert_equal(tester.sync_waiting.uniq, tester.sync_waiting) - assert_equal(tester.sync_waiting, []) - end -end |
