system_timer 1.0 → 1.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,121 +0,0 @@
1
- # $: << File.dirname(__FILE__) + '/../ext/xray'
2
- $: << File.dirname(__FILE__) + '/../lib'
3
- $: << File.dirname(__FILE__) + '/../ext/system_timer'
4
- $: << File.dirname(__FILE__) + "/../../../vendor/gems/dust-0.1.4/lib"
5
- $: << File.dirname(__FILE__) + "/../../../vendor/gems/mocha-0.5.3/lib"
6
- require 'test/unit'
7
- require 'system_timer'
8
- require 'dust'
9
- require 'mocha'
10
- require 'stringio'
11
-
12
- functional_tests do
13
-
14
- test "original_ruby_sigalrm_handler is nil after reset" do
15
- SystemTimer.send(:install_ruby_sigalrm_handler)
16
- SystemTimer.send(:reset_original_ruby_sigalrm_handler)
17
- assert_nil SystemTimer.send(:original_ruby_sigalrm_handler)
18
- end
19
-
20
- test "original_ruby_sigalrm_handler is set to existing handler after install_ruby_sigalrm_handler" do
21
- SystemTimer.expects(:trap).with('SIGALRM').returns(:an_existing_handler)
22
- SystemTimer.send(:install_ruby_sigalrm_handler)
23
- assert_equal :an_existing_handler, SystemTimer.send(:original_ruby_sigalrm_handler)
24
- end
25
-
26
- test "restore_original_ruby_sigalrm_handler traps sigalrm using original_ruby_sigalrm_handler" do
27
- SystemTimer.stubs(:original_ruby_sigalrm_handler).returns(:the_original_handler)
28
- SystemTimer.expects(:trap).with('SIGALRM', :the_original_handler)
29
- SystemTimer.send :restore_original_ruby_sigalrm_handler
30
- end
31
-
32
- test "restore_original_ruby_sigalrm_handler resets original_ruby_sigalrm_handler" do
33
- SystemTimer.stubs(:trap)
34
- SystemTimer.expects(:reset_original_ruby_sigalrm_handler)
35
- SystemTimer.send :restore_original_ruby_sigalrm_handler
36
- end
37
-
38
- test "restore_original_ruby_sigalrm_handler reset SIGALRM handler to default when original_ruby_sigalrm_handler is nil" do
39
- SystemTimer.stubs(:original_ruby_sigalrm_handler)
40
- SystemTimer.expects(:trap).with('SIGALRM', 'DEFAULT')
41
- SystemTimer.stubs(:reset_original_ruby_sigalrm_handler)
42
- SystemTimer.send :restore_original_ruby_sigalrm_handler
43
- end
44
-
45
- test "restore_original_ruby_sigalrm_handler resets original_ruby_sigalrm_handler when trap raises" do
46
- SystemTimer.stubs(:trap).returns(:the_original_handler)
47
- SystemTimer.send(:install_ruby_sigalrm_handler)
48
- SystemTimer.expects(:trap).raises("next time maybe...")
49
- SystemTimer.expects(:reset_original_ruby_sigalrm_handler)
50
-
51
- SystemTimer.send(:restore_original_ruby_sigalrm_handler) rescue nil
52
- end
53
-
54
- test "timeout_after raises TimeoutError if block takes too long" do
55
- assert_raises(Timeout::Error) do
56
- SystemTimer.timeout_after(1) {sleep 5}
57
- end
58
- end
59
-
60
- test "timeout_after does not raises Timeout Error if block completes in time" do
61
- SystemTimer.timeout_after(5) {sleep 1}
62
- end
63
-
64
- test "timeout_after returns the value returned by the black" do
65
- assert_equal :block_value, SystemTimer.timeout_after(1) {:block_value}
66
- end
67
-
68
- test "timeout_after raises TimeoutError in thread that called timeout_after" do
69
- raised_thread = nil
70
- other_thread = Thread.new do
71
- begin
72
- SystemTimer.timeout_after(1) {sleep 5}
73
- flunk "Should have timed out"
74
- rescue Timeout::Error
75
- raised_thread = Thread.current
76
- end
77
- end
78
-
79
- other_thread.join
80
- assert_equal other_thread, raised_thread
81
- end
82
-
83
- test "cancelling a timer that was installed restores previous ruby handler for SIG_ALRM" do
84
- begin
85
- fake_original_ruby_handler = proc {}
86
- initial_ruby_handler = trap "SIGALRM", fake_original_ruby_handler
87
- SystemTimer.install_timer(3)
88
- SystemTimer.cleanup_timer
89
- assert_equal fake_original_ruby_handler, trap("SIGALRM", "IGNORE")
90
- ensure # avoid interfering with test infrastructure
91
- trap("SIGALRM", initial_ruby_handler) if initial_ruby_handler
92
- end
93
- end
94
-
95
- test "debug_enabled returns true after enabling debug" do
96
- begin
97
- SystemTimer.disable_debug
98
- SystemTimer.enable_debug
99
- assert_equal true, SystemTimer.debug_enabled?
100
- ensure
101
- SystemTimer.disable_debug
102
- end
103
- end
104
-
105
- test "debug_enabled returns false after disable debug" do
106
- begin
107
- SystemTimer.enable_debug
108
- SystemTimer.disable_debug
109
- assert_equal false, SystemTimer.debug_enabled?
110
- ensure
111
- SystemTimer.disable_debug
112
- end
113
- end
114
-
115
- test "timeout offers an API fully compatible with timeout.rb" do
116
- assert_raises(Timeout::Error) do
117
- SystemTimer.timeout(1) {sleep 5}
118
- end
119
- end
120
-
121
- end