Skip to content

Commit bd57f0a

Browse files
committed
Address PR review feedback
- Make _Shuffled a val class since the seed is never mutated (jemc) - Remove unused _num_tests field from _MultiSeedCollector (orien, jemc) - Guard collectors against processing prints after completion (orien)
1 parent 4fac3cc commit bd57f0a

File tree

2 files changed

+14
-15
lines changed

2 files changed

+14
-15
lines changed

packages/pony_test/_test.pony

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ class \nodoc\ iso _TestShuffleVariesAcrossSeeds is UnitTest
3939
h.long_test(5_000_000_000)
4040
let num_tests: USize = 10
4141
let num_seeds: USize = 10
42-
let collector = _MultiSeedCollector(h, num_seeds, num_tests)
42+
let collector = _MultiSeedCollector(h, num_seeds)
4343
var seed: U64 = 1
4444
while seed <= num_seeds.u64() do
4545
let list = object tag is TestList
@@ -147,20 +147,18 @@ actor \nodoc\ _OutputCollector is OutStream
147147
_runs_remaining = runs
148148

149149
be print(data: ByteSeq) =>
150+
if _runs_remaining == 0 then return end
150151
match data
151152
| let s: String => _received.push(s)
152153
| let a: Array[U8] val => _received.push(String.from_array(a))
153154
end
154155
if _received.size() == _expected.size() then
155-
_check_and_maybe_complete()
156-
end
157-
158-
fun ref _check_and_maybe_complete() =>
159-
_h.assert_array_eq[String](_expected, _received)
160-
_received.clear()
161-
_runs_remaining = _runs_remaining - 1
162-
if _runs_remaining == 0 then
163-
_h.complete(true)
156+
_h.assert_array_eq[String](_expected, _received)
157+
_received.clear()
158+
_runs_remaining = _runs_remaining - 1
159+
if _runs_remaining == 0 then
160+
_h.complete(true)
161+
end
164162
end
165163

166164
be write(data: ByteSeq) => None
@@ -175,13 +173,11 @@ actor \nodoc\ _MultiSeedCollector
175173
"""
176174
let _h: TestHelper
177175
let _total: USize
178-
let _num_tests: USize
179176
embed _orders: Array[Array[String] val] = Array[Array[String] val]
180177

181-
new create(h: TestHelper, total: USize, num_tests: USize) =>
178+
new create(h: TestHelper, total: USize) =>
182179
_h = h
183180
_total = total
184-
_num_tests = num_tests
185181

186182
be receive(order: Array[String] val) =>
187183
_orders.push(order)
@@ -228,18 +224,21 @@ actor \nodoc\ _PerSeedCollector is OutStream
228224
"""
229225
let _parent: _MultiSeedCollector
230226
let _expected_lines: USize
227+
var _done: Bool = false
231228
embed _received: Array[String] = Array[String]
232229

233230
new create(parent: _MultiSeedCollector, expected_lines: USize) =>
234231
_parent = parent
235232
_expected_lines = expected_lines
236233

237234
be print(data: ByteSeq) =>
235+
if _done then return end
238236
match data
239237
| let s: String => _received.push(s)
240238
| let a: Array[U8] val => _received.push(String.from_array(a))
241239
end
242240
if _received.size() == _expected_lines then
241+
_done = true
243242
let order: Array[String] iso = recover iso Array[String] end
244243
var i: USize = 1 // skip "Test seed: N" line
245244
while i < _received.size() do

packages/pony_test/pony_test.pony

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -275,12 +275,12 @@ primitive _InOrder
275275
Tests are dispatched in registration order (the default).
276276
"""
277277

278-
class _Shuffled
278+
class val _Shuffled
279279
"""
280280
Tests are dispatched in a randomized order derived from the given seed.
281281
"""
282282
let seed: U64
283-
new create(seed': U64) => seed = seed'
283+
new val create(seed': U64) => seed = seed'
284284

285285
fun apply[A](array: Array[A]) =>
286286
"""

0 commit comments

Comments
 (0)