mirror of
https://github.com/lightningnetwork/lnd.git
synced 2024-11-19 09:53:54 +01:00
27 lines
545 B
Go
27 lines
545 B
Go
|
package chainntnfs_test
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
|
||
|
"github.com/lightningnetwork/lnd/chainntnfs"
|
||
|
)
|
||
|
|
||
|
func TestConcurrentQueue(t *testing.T) {
|
||
|
queue := chainntnfs.NewConcurrentQueue(100)
|
||
|
queue.Start()
|
||
|
defer queue.Stop()
|
||
|
|
||
|
// Pushes should never block for long.
|
||
|
for i := 0; i < 1000; i++ {
|
||
|
queue.ChanIn() <- i
|
||
|
}
|
||
|
|
||
|
// Pops also should not block for long. Expect elements in FIFO order.
|
||
|
for i := 0; i < 1000; i++ {
|
||
|
item := <-queue.ChanOut()
|
||
|
if i != item.(int) {
|
||
|
t.Fatalf("Dequeued wrong value: expected %d, got %d", i, item.(int))
|
||
|
}
|
||
|
}
|
||
|
}
|