summaryrefslogtreecommitdiff
path: root/test/thread/test_sync.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/thread/test_sync.rb')
-rw-r--r--test/thread/test_sync.rb57
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