• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

lightningnetwork / lnd / 13586005509

28 Feb 2025 10:14AM UTC coverage: 68.629% (+9.9%) from 58.77%
13586005509

Pull #9521

github

web-flow
Merge 37d3a70a5 into 8532955b3
Pull Request #9521: unit: remove GOACC, use Go 1.20 native coverage functionality

129950 of 189351 relevant lines covered (68.63%)

23726.46 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

90.32
/watchtower/lookout/mock.go
1
package lookout
2

3
import (
4
        "fmt"
5
        "sync"
6

7
        "github.com/btcsuite/btcd/chaincfg/chainhash"
8
        "github.com/btcsuite/btcd/wire"
9
        "github.com/lightningnetwork/lnd/chainntnfs"
10
)
11

12
type MockBackend struct {
13
        mu sync.RWMutex
14

15
        blocks chan *chainntnfs.BlockEpoch
16
        epochs map[chainhash.Hash]*wire.MsgBlock
17
        quit   chan struct{}
18
}
19

20
func NewMockBackend() *MockBackend {
1✔
21
        return &MockBackend{
1✔
22
                blocks: make(chan *chainntnfs.BlockEpoch),
1✔
23
                epochs: make(map[chainhash.Hash]*wire.MsgBlock),
1✔
24
                quit:   make(chan struct{}),
1✔
25
        }
1✔
26
}
1✔
27

28
func (m *MockBackend) RegisterBlockEpochNtfn(*chainntnfs.BlockEpoch) (
29
        *chainntnfs.BlockEpochEvent, error) {
1✔
30

1✔
31
        return &chainntnfs.BlockEpochEvent{
1✔
32
                Epochs: m.blocks,
1✔
33
        }, nil
1✔
34
}
1✔
35

36
func (m *MockBackend) GetBlock(hash *chainhash.Hash) (*wire.MsgBlock, error) {
2✔
37
        m.mu.RLock()
2✔
38
        defer m.mu.RUnlock()
2✔
39

2✔
40
        block, ok := m.epochs[*hash]
2✔
41
        if !ok {
2✔
42
                return nil, fmt.Errorf("unknown block for hash %x", hash)
×
43
        }
×
44

45
        return block, nil
2✔
46
}
47

48
func (m *MockBackend) ConnectEpoch(epoch *chainntnfs.BlockEpoch,
49
        block *wire.MsgBlock) {
2✔
50

2✔
51
        m.mu.Lock()
2✔
52
        m.epochs[*epoch.Hash] = block
2✔
53
        m.mu.Unlock()
2✔
54

2✔
55
        select {
2✔
56
        case m.blocks <- epoch:
2✔
57
        case <-m.quit:
×
58
        }
59
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc