Fix integration tests

pull/105/head
Martin Boehm 2019-01-10 17:00:09 +01:00
parent 3ca593aff1
commit 4bd43c5f47
2 changed files with 15 additions and 11 deletions

View File

@ -106,9 +106,8 @@ func verifyBlockInfo(t *testing.T, d *db.RocksDB, h *TestHandler, rng Range) {
func verifyTransactions(t *testing.T, d *db.RocksDB, h *TestHandler, rng Range) {
type txInfo struct {
txid string
vout int32
isOutput bool
txid string
index int32
}
addr2txs := make(map[string][]txInfo)
checkMap := make(map[string][]bool)
@ -122,13 +121,13 @@ func verifyTransactions(t *testing.T, d *db.RocksDB, h *TestHandler, rng Range)
for _, tx := range block.TxDetails {
for _, vin := range tx.Vin {
for _, a := range vin.Addresses {
addr2txs[a] = append(addr2txs[a], txInfo{tx.Txid, int32(vin.Vout), false})
addr2txs[a] = append(addr2txs[a], txInfo{tx.Txid, ^int32(vin.Vout)})
checkMap[a] = append(checkMap[a], false)
}
}
for _, vout := range tx.Vout {
for _, a := range vout.ScriptPubKey.Addresses {
addr2txs[a] = append(addr2txs[a], txInfo{tx.Txid, int32(vout.N), true})
addr2txs[a] = append(addr2txs[a], txInfo{tx.Txid, int32(vout.N)})
checkMap[a] = append(checkMap[a], false)
}
}
@ -136,10 +135,12 @@ func verifyTransactions(t *testing.T, d *db.RocksDB, h *TestHandler, rng Range)
}
for addr, txs := range addr2txs {
err := d.GetTransactions(addr, rng.Lower, rng.Upper, func(txid string, vout int32, isOutput bool) error {
err := d.GetTransactions(addr, rng.Lower, rng.Upper, func(txid string, height uint32, indexes []int32) error {
for i, tx := range txs {
if txid == tx.txid && vout == tx.vout && isOutput == tx.isOutput {
checkMap[addr][i] = true
for _, index := range indexes {
if txid == tx.txid && index == tx.index {
checkMap[addr][i] = true
}
}
}
return nil

View File

@ -129,9 +129,12 @@ func verifyTransactions2(t *testing.T, d *db.RocksDB, rng Range, addr2txs map[st
checkMap[txid] = false
}
err := d.GetTransactions(addr, rng.Lower, rng.Upper, func(txid string, vout int32, isOutput bool) error {
if isOutput {
checkMap[txid] = true
err := d.GetTransactions(addr, rng.Lower, rng.Upper, func(txid string, height uint32, indexes []int32) error {
for _, index := range indexes {
if index >= 0 {
checkMap[txid] = true
break
}
}
return nil
})