polyphony 0.39 → 0.40

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.
@@ -106,7 +106,7 @@ class MoveOnAfterTest < MiniTest::Test
106
106
  end
107
107
  t1 = Time.now
108
108
 
109
- assert_in_range 0..0.03, t1 - t0
109
+ assert t1 - t0 < 0.03
110
110
  assert_nil v
111
111
  end
112
112
 
@@ -118,7 +118,7 @@ class MoveOnAfterTest < MiniTest::Test
118
118
  end
119
119
  t1 = Time.now
120
120
 
121
- assert_in_range 0..0.02, t1 - t0
121
+ assert t1 - t0 < 0.02
122
122
  assert_equal :bar, v
123
123
  end
124
124
 
@@ -129,7 +129,7 @@ class MoveOnAfterTest < MiniTest::Test
129
129
  assert_equal Fiber.current, f.parent
130
130
  v = sleep 1
131
131
  t1 = Time.now
132
- assert_in_range 0..0.02, t1 - t0
132
+ assert t1 - t0 < 0.02
133
133
  assert_equal 'foo', v
134
134
  end
135
135
  end
@@ -145,7 +145,7 @@ class CancelAfterTest < MiniTest::Test
145
145
  end
146
146
  end
147
147
  t1 = Time.now
148
- assert_in_range 0..0.02, t1 - t0
148
+ assert t1 - t0 < 0.02
149
149
  end
150
150
 
151
151
  def test_cancel_after_without_block
@@ -157,7 +157,7 @@ class CancelAfterTest < MiniTest::Test
157
157
  sleep 1
158
158
  end
159
159
  t1 = Time.now
160
- assert_in_range 0..0.02, t1 - t0
160
+ assert t1 - t0 < 0.02
161
161
  end
162
162
  end
163
163
 
@@ -204,7 +204,7 @@ class SpinLoopTest < MiniTest::Test
204
204
  f = spin_loop(rate: 50) { buffer << (counter += 1) }
205
205
  sleep 0.1
206
206
  f.stop
207
- assert_in_range 5..6, counter
207
+ assert counter >= 5 && counter <= 6
208
208
  end
209
209
  end
210
210
 
@@ -217,7 +217,7 @@ class ThrottledLoopTest < MiniTest::Test
217
217
  end
218
218
  sleep 0.1
219
219
  f.stop
220
- assert_in_range 5..6, counter
220
+ assert counter >= 5 && counter <= 6
221
221
  end
222
222
 
223
223
  def test_throttled_loop_with_count
@@ -248,14 +248,14 @@ class GlobalAPIEtcTest < MiniTest::Test
248
248
  end
249
249
  sleep 0.05
250
250
  f.stop
251
- assert_in_range 4..5, buffer.size
251
+ assert (4..5).include?(buffer.size)
252
252
  end
253
253
 
254
254
  def test_sleep
255
255
  t0 = Time.now
256
256
  sleep 0.05
257
257
  elapsed = Time.now - t0
258
- assert_in_range 0.045..0.08, elapsed
258
+ assert (0.045..0.08).include? elapsed
259
259
 
260
260
  f = spin { sleep }
261
261
  snooze
data/test/test_io.rb CHANGED
@@ -61,13 +61,6 @@ class IOTest < MiniTest::Test
61
61
  @o.close
62
62
  assert_equal 'foobarbaz', @i.read
63
63
  end
64
-
65
- def test_big_write
66
- chunk = '*' * 60000
67
- @o << chunk
68
- @o.close
69
- assert_equal chunk, @i.read
70
- end
71
64
  end
72
65
 
73
66
  class IOClassMethodsTest < MiniTest::Test
data/test/test_thread.rb CHANGED
@@ -38,7 +38,7 @@ class ThreadTest < MiniTest::Test
38
38
  t0 = Time.now
39
39
  r = t.join(0.01)
40
40
 
41
- assert_in_range 0..0.2, Time.now - t0
41
+ assert Time.now - t0 < 0.2
42
42
  assert_equal [1, 2, 3], buffer
43
43
  assert_nil r
44
44
  ensure
@@ -65,8 +65,8 @@ class ThreadPoolTest < MiniTest::Test
65
65
  end
66
66
  elapsed = Time.now - t0
67
67
 
68
- assert_in_range 0..0.007, elapsed
69
- assert_in_range 0..1, buffer.size
68
+ assert elapsed < 0.007
69
+ assert buffer.size < 2
70
70
 
71
71
  sleep 0.1 # allow time for threads to spawn
72
72
  assert_equal @pool.size, threads.uniq.size
@@ -10,7 +10,8 @@ class ThrottlerTest < MiniTest::Test
10
10
  sleep 0.02
11
11
  f.stop
12
12
  snooze
13
- assert_in_range 2..3, buffer.size
13
+ assert buffer.size >= 2
14
+ assert buffer.size <= 3
14
15
  ensure
15
16
  t.stop
16
17
  end
@@ -23,7 +24,7 @@ class ThrottlerTest < MiniTest::Test
23
24
  end
24
25
  sleep 0.25
25
26
  f.stop
26
- assert_in_range 2..6, buffer.size
27
+ assert (2..6).include?(buffer.size)
27
28
  ensure
28
29
  t.stop
29
30
  end
@@ -34,7 +35,8 @@ class ThrottlerTest < MiniTest::Test
34
35
  f = spin { loop { t.process { buffer << 1 } } }
35
36
  sleep 0.02
36
37
  f.stop
37
- assert_in_range 2..3, buffer.size
38
+ assert buffer.size >= 2
39
+ assert buffer.size <= 3
38
40
  ensure
39
41
  t.stop
40
42
  end
data/test/test_timer.rb CHANGED
@@ -29,4 +29,28 @@ class TimerTest < MiniTest::Test
29
29
  ensure
30
30
  t.stop
31
31
  end
32
+
33
+ def test_that_repeating_timer_compensates_for_drift
34
+ count = 0
35
+ t = Gyro::Timer.new(0.1, 0.1)
36
+ deltas = []
37
+ last = nil
38
+ spin {
39
+ last = ::Process.clock_gettime(::Process::CLOCK_MONOTONIC)
40
+ loop {
41
+ t.await
42
+ now = ::Process.clock_gettime(::Process::CLOCK_MONOTONIC)
43
+ elapsed = (now - last)
44
+ deltas << elapsed
45
+ last = now
46
+ count += 1
47
+ sleep 0.05
48
+ break if count >= 3
49
+ }
50
+ }
51
+ suspend
52
+ assert_equal 0, deltas[1..-1].filter { |d| (d - 0.1).abs >= 0.05 }.size
53
+ ensure
54
+ t.stop
55
+ end
32
56
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: polyphony
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.39'
4
+ version: '0.40'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sharon Rosner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-14 00:00:00.000000000 Z
11
+ date: 2020-05-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -100,14 +100,14 @@ dependencies:
100
100
  requirements:
101
101
  - - '='
102
102
  - !ruby/object:Gem::Version
103
- version: 1.1.3
103
+ version: 1.1.4
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - '='
109
109
  - !ruby/object:Gem::Version
110
- version: 1.1.3
110
+ version: 1.1.4
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: rake-compiler
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -335,6 +335,7 @@ files:
335
335
  - examples/core/xx-trace.rb
336
336
  - examples/core/xx-using-a-mutex.rb
337
337
  - examples/core/xx-worker-thread.rb
338
+ - examples/io/tunnel.rb
338
339
  - examples/io/xx-backticks.rb
339
340
  - examples/io/xx-echo_client.rb
340
341
  - examples/io/xx-echo_client_from_stdin.rb