Fix integration tests

This commit is contained in:
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) { func verifyTransactions(t *testing.T, d *db.RocksDB, h *TestHandler, rng Range) {
type txInfo struct { type txInfo struct {
txid string txid string
vout int32 index int32
isOutput bool
} }
addr2txs := make(map[string][]txInfo) addr2txs := make(map[string][]txInfo)
checkMap := make(map[string][]bool) 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 _, tx := range block.TxDetails {
for _, vin := range tx.Vin { for _, vin := range tx.Vin {
for _, a := range vin.Addresses { 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) checkMap[a] = append(checkMap[a], false)
} }
} }
for _, vout := range tx.Vout { for _, vout := range tx.Vout {
for _, a := range vout.ScriptPubKey.Addresses { 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) 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 { 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 { for i, tx := range txs {
if txid == tx.txid && vout == tx.vout && isOutput == tx.isOutput { for _, index := range indexes {
checkMap[addr][i] = true if txid == tx.txid && index == tx.index {
checkMap[addr][i] = true
}
} }
} }
return nil return nil

View File

@ -129,9 +129,12 @@ func verifyTransactions2(t *testing.T, d *db.RocksDB, rng Range, addr2txs map[st
checkMap[txid] = false checkMap[txid] = false
} }
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 {
if isOutput { for _, index := range indexes {
checkMap[txid] = true if index >= 0 {
checkMap[txid] = true
break
}
} }
return nil return nil
}) })