Skip to content

Commit e7c1bc8

Browse files
authored
Fix bug in iterator test, modify attempt count, make more robust (#61242)
1 parent 8fbf206 commit e7c1bc8

File tree

1 file changed

+18
-5
lines changed
  • src/libraries/System.Private.Runtime.InteropServices.JavaScript/tests/System/Runtime/InteropServices/JavaScript

1 file changed

+18
-5
lines changed

src/libraries/System.Private.Runtime.InteropServices.JavaScript/tests/System/Runtime/InteropServices/JavaScript/JavaScriptTests.cs

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -186,18 +186,31 @@ public static async Task Iterator()
186186
return rangeIterator;
187187
");
188188

189-
for (int attempt = 0; attempt < 100_000; attempt++)
189+
const int count = 500;
190+
for (int attempt = 0; attempt < 100; attempt++)
190191
{
192+
int index = 0;
191193
try
192194
{
193-
using (var entriesIterator = (JSObject)makeRangeIterator.Call(null, 0, 500))
194-
{
195-
var cnt = entriesIterator.ToEnumerable().Count();
195+
var entriesIterator = (JSObject)makeRangeIterator.Call(null, 0, count, 1);
196+
Assert.NotNull(entriesIterator);
197+
using (entriesIterator) {
198+
var enumerable = entriesIterator.ToEnumerable();
199+
var enumerator = enumerable.GetEnumerator();
200+
Assert.NotNull(enumerator);
201+
202+
using (enumerator) {
203+
while (enumerator.MoveNext()) {
204+
Assert.NotNull(enumerator.Current);
205+
index++;
206+
}
207+
}
196208
}
209+
Assert.Equal(count, index);
197210
}
198211
catch (Exception ex)
199212
{
200-
throw new Exception(ex.Message + " At attempt=" + attempt, ex);
213+
throw new Exception($"At attempt={attempt}, index={index}: {ex.Message}", ex);
201214
}
202215
}
203216
}

0 commit comments

Comments
 (0)