AsyncQueue Test Report
Started: 2025-09-19 09:38:25
Suites (5)
5 passed
0 failed
0 pending
Tests (57)
57 passed
0 failed
0 pending
/home/runner/work/async-queue-js/async-queue-js/test/async-queue.test.ts2.65s
AsyncQueue > Basic Operations
should enqueue and dequeue items in FIFO order
passed
0.006s
AsyncQueue > Basic Operations
should work with default maxSize of 1
passed
0.001s
AsyncQueue > Basic Operations
should handle concurrent enqueue with maxSize=1
passed
0.001s
AsyncQueue > Basic Operations
should throw error for invalid maxSize
passed
0.068s
AsyncQueue > Blocking Behavior
should block dequeue when queue is empty
passed
0.025s
AsyncQueue > Blocking Behavior
should block enqueue when queue is full
passed
0.012s
AsyncQueue > Queue Closing
should return undefined after close
passed
0.003s
AsyncQueue > Queue Closing
should throw error when enqueue after close
passed
0.003s
AsyncQueue > Queue Closing
should throw error when producer is waiting and queue is closed
passed
0.001s
AsyncQueue > Queue Closing
should release waiting consumers on close
passed
0.013s
AsyncQueue > Queue Closing
should correctly report closed state
passed
0.003s
AsyncQueue > Producer-Consumer Pattern
should handle single producer and consumer
passed
0.003s
AsyncQueue > Producer-Consumer Pattern
should handle multiple consumers
passed
0.014s
AsyncQueue > Producer-Consumer Pattern
should handle multiple producers
passed
0.012s
AsyncQueue > Edge Cases
should handle rapid enqueue/dequeue cycles
passed
0.006s
AsyncQueue > Edge Cases
should handle zero items after close
passed
0.001s
AsyncQueue > Edge Cases
should maintain order with concurrent operations
passed
0.004s
AsyncQueue > Type Safety
should handle different data types
passed
0.001s
AsyncQueue > Type Safety
should enforce type safety with generics
passed
0.002s
AsyncQueue > Queue Properties
should report size correctly
passed
0.003s
AsyncQueue > Queue Properties
should report capacity correctly
passed
0.001s
AsyncQueue > Queue Properties
should track waiting producers and consumers
passed
0.021s
/home/runner/work/async-queue-js/async-queue-js/benchmark/test/capacity.test.ts0.113s
Reserved Capacity Benchmark
should demonstrate capacity growth pattern
passed
0.037s
Reserved Capacity Benchmark
should show performance with no reallocations within capacity
passed
0.002s
Reserved Capacity Benchmark
should handle stress with controlled growth
passed
0.026s
/home/runner/work/async-queue-js/async-queue-js/benchmark/test/stack-optimization.test.ts0.12s
Stack Optimization Benchmark
should show performance with many waiting consumers/producers
passed
0.053s
Stack Optimization Benchmark
should handle mixed producer/consumer waiting
passed
0.013s
/home/runner/work/async-queue-js/async-queue-js/test/async-iterator.test.ts3.184s
AsyncQueue Iterator > Symbol.asyncIterator
should iterate through all items with for-await-of
passed
0.014s
AsyncQueue Iterator > Symbol.asyncIterator
should handle concurrent producers and iterator consumer
passed
0.001s
AsyncQueue Iterator > Symbol.asyncIterator
should stop iteration when queue is closed and empty
passed
0.001s
AsyncQueue Iterator > Symbol.asyncIterator
should handle empty queue that gets closed
passed
0.011s
AsyncQueue Iterator > Symbol.asyncIterator
should allow multiple iterators on the same queue
passed
0.002s
AsyncQueue Iterator > iterate()
should provide an iterable interface
passed
AsyncQueue Iterator > iterate()
should work with async generator transformations
passed
AsyncQueue Iterator > toAsyncGenerator()
should convert queue to async generator
passed
0.001s
AsyncQueue Iterator > toAsyncGenerator()
should work in generator pipelines
passed
0.001s
AsyncQueue Iterator > drain()
should drain all items into an array
passed
0.001s
AsyncQueue Iterator > drain()
should return empty array for closed empty queue
passed
0.001s
AsyncQueue Iterator > drain()
should wait for items before draining
passed
0.01s
AsyncQueue Iterator > take()
should take exactly n items
passed
0.004s
AsyncQueue Iterator > take()
should return fewer items if queue closes early
passed
0.001s
AsyncQueue Iterator > take()
should handle take(0)
passed
AsyncQueue Iterator > take()
should stop taking when queue becomes empty after close
passed
0.004s
AsyncQueue Iterator > take()
should stop taking when queue closes during take operation
passed
0.012s
AsyncQueue Iterator > take()
should work with concurrent producers
passed
0.012s
AsyncQueue Iterator > Type safety
should maintain type safety through iteration
passed
0.001s
AsyncQueue Iterator > Performance
should efficiently handle large iteration
passed
0.595s
/home/runner/work/async-queue-js/async-queue-js/test/async-queue.stress.test.ts11.472s
AsyncQueue Stress Tests > High Volume Operations
should handle 1,000 items with single producer/consumer
passed
0.467s
AsyncQueue Stress Tests > High Volume Operations
should handle 1000,000 items with single producer/consumer
passed
0.07s
AsyncQueue Stress Tests > High Volume Operations
should handle extreme concurrency with 20 producers and 10 consumers
passed
0.029s
AsyncQueue Stress Tests > High Volume Operations
should maintain order under extreme backpressure
passed
0.222s
AsyncQueue Stress Tests > Real-World Scenarios
should handle bursty traffic patterns
passed
3.879s
AsyncQueue Stress Tests > Real-World Scenarios
should handle producer/consumer rate mismatches gracefully
passed
1.08s
AsyncQueue Stress Tests > Real-World Scenarios
should handle memory efficiently with large objects
passed
1.022s
AsyncQueue Stress Tests > Real-World Scenarios
should handle rapid producer/consumer churn
passed
2.002s
AsyncQueue Stress Tests > Performance Benchmarks
should measure throughput at different buffer sizes
passed
0.166s
AsyncQueue Stress Tests > Performance Benchmarks
should handle concurrent access patterns efficiently
passed
0.023s