pull/254/head
obscuren 10 years ago
parent 7e6b72cb5c
commit 35fe4313d5
  1. 18
      core/chain_manager_test.go
  2. 13
      crypto/crypto_test.go
  3. 2
      event/filter/old_filter.go
  4. 5
      pow/dash/crypto.c
  5. 14
      pow/dash/crypto.go

@ -128,3 +128,21 @@ func TestChainMultipleInsertions(t *testing.T) {
t.Error("Invalid canonical chain") t.Error("Invalid canonical chain")
} }
} }
func TestGetAncestors(t *testing.T) {
db, _ := ethdb.NewMemDatabase()
var eventMux event.TypeMux
chainMan := NewChainManager(db, &eventMux)
chain, err := loadChain("valid1", t)
if err != nil {
fmt.Println(err)
t.FailNow()
}
for _, block := range chain {
chainMan.write(block)
}
ancestors := chainMan.GetAncestors(chain[len(chain)-1], 4)
fmt.Println(ancestors)
}

@ -3,7 +3,9 @@ package crypto
import ( import (
"bytes" "bytes"
"encoding/hex" "encoding/hex"
"fmt"
"testing" "testing"
"time"
) )
// These tests are sanity checks. // These tests are sanity checks.
@ -34,3 +36,14 @@ func checkhash(t *testing.T, name string, f func([]byte) []byte, msg, exp []byte
t.Errorf("hash %s returned wrong result.\ngot: %x\nwant: %x", name, sum, exp) t.Errorf("hash %s returned wrong result.\ngot: %x\nwant: %x", name, sum, exp)
} }
} }
func BenchmarkSha3(b *testing.B) {
a := []byte("hello world")
amount := 1000000
start := time.Now()
for i := 0; i < amount; i++ {
Sha3(a)
}
fmt.Println(amount, ":", time.Since(start))
}

@ -2,7 +2,6 @@
package filter package filter
import ( import (
"fmt"
"sync" "sync"
"github.com/ethereum/go-ethereum/core" "github.com/ethereum/go-ethereum/core"
@ -79,7 +78,6 @@ out:
self.filterMu.RUnlock() self.filterMu.RUnlock()
case state.Messages: case state.Messages:
fmt.Println("got messages")
self.filterMu.RLock() self.filterMu.RLock()
for _, filter := range self.filters { for _, filter := range self.filters {
if filter.MessageCallback != nil { if filter.MessageCallback != nil {

@ -0,0 +1,5 @@
extern char *Sha3(char *, int);
char *sha3_cgo(char *data, int l)
{
return Sha3(data, l);
}

@ -0,0 +1,14 @@
package dash
/*
char *sha3_cgo(char *, int); // Forward declaration
*/
import "C"
import (
"github.com/ethereum/go-ethereum/crypto"
)
//export Sha3
func Sha3(data []byte, l int) []byte {
return crypto.Sha3(data)
}
Loading…
Cancel
Save