htlcswitch: expand TestWaitingQueueThreadSafety to assert proper queue length
This commit is contained in:
parent
7ae436e30e
commit
5ec3ee2ece
@ -67,8 +67,6 @@ func (p *packetQueue) Stop() {
|
||||
close(p.quit)
|
||||
|
||||
p.queueCond.Signal()
|
||||
|
||||
p.wg.Wait()
|
||||
}
|
||||
|
||||
// packetCoordinator is a goroutine that handles the packet overflow queue.
|
||||
@ -126,8 +124,8 @@ func (p *packetQueue) packetCoordinator() {
|
||||
p.queueCond.L.Lock()
|
||||
p.queue[0] = nil
|
||||
p.queue = p.queue[1:]
|
||||
p.queueCond.L.Unlock()
|
||||
atomic.AddInt32(&p.queueLen, -1)
|
||||
p.queueCond.L.Unlock()
|
||||
case <-p.quit:
|
||||
return
|
||||
}
|
||||
|
@ -29,6 +29,14 @@ func TestWaitingQueueThreadSafety(t *testing.T) {
|
||||
})
|
||||
}
|
||||
|
||||
// The reported length of the queue should be the exact number of
|
||||
// packets we added above.
|
||||
queueLength := q.Length()
|
||||
if queueLength != numPkts {
|
||||
t.Fatalf("queue has wrong length: expected %v, got %v", numPkts,
|
||||
queueLength)
|
||||
}
|
||||
|
||||
var b []lnwire.MilliSatoshi
|
||||
for i := 0; i < numPkts; i++ {
|
||||
q.SignalFreeSlot()
|
||||
@ -42,6 +50,14 @@ func TestWaitingQueueThreadSafety(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
// The length of the queue should be zero at this point.
|
||||
time.Sleep(time.Millisecond * 50)
|
||||
queueLength = q.Length()
|
||||
if queueLength != 0 {
|
||||
t.Fatalf("queue has wrong length: expected %v, got %v", 0,
|
||||
queueLength)
|
||||
}
|
||||
|
||||
if !reflect.DeepEqual(b, a) {
|
||||
t.Fatal("wrong order of the objects")
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user