More tests

This commit is contained in:
Miek Gieben 2012-01-22 20:44:52 +01:00
parent 0211c1663d
commit 74181dee8e
4 changed files with 21 additions and 50 deletions

View File

@ -1,6 +1,7 @@
package dns
import (
"os"
"strings"
"testing"
)
@ -150,29 +151,22 @@ func TestSignVerify(t *testing.T) {
}
}
func TestKeyGen(t *testing.T) {
algs := []uint8{RSASHA256, ECDSAP256SHA256}
bits := []int{1024, 256}
i := 0
key := new(RR_DNSKEY)
key.Hdr.Name = "keygen.miek.nl."
key.Hdr.Rrtype = TypeDNSKEY
key.Hdr.Class = ClassINET
key.Hdr.Ttl = 3600
key.Flags = 256
key.Protocol = 3
for _, v := range algs {
key.Algorithm = v
key.Generate(bits[i])
i++
t.Logf("%s\n", key)
}
//Really hard to figure out what to check here... Parse it back to a proper key?
func TestDnskey(t *testing.T) {
f, _ := os.Open("t/Kmiek.nl.+010+05240.private")
privkey, _ := ReadPrivateKey(f, "t/Kmiek.nl.+010+05240.private")
f, _ = os.Open("t/Kmiek.nl.+010+05240.key")
pubkey, _ := ReadRR(f, "t/Kmiek.nl.+010+05240.key")
// Okay, we assume this has gone OK
if pubkey.(*RR_DNSKEY).PublicKey != "AwEAAZuMCu2FdugHkTrXYgl5qixvcDw1aDDlvL46/xJKbHBAHY16fNUb2b65cwko2Js/aJxUYJbZk5dwCDZxYfrfbZVtDPQuc3o8QaChVxC7/JYz2AHc9qHvqQ1j4VrH71RWINlQo6VYjzN/BGpMhOZoZOEwzp1HfsOE3lNYcoWU1smL" {
t.Log("Pubkey is not what we've read")
t.Fail()
}
// Coefficient looks fishy...
// println(pubkey.(*RR_DNSKEY).PrivateKeyString(privkey))
}
/*
func TestDnskey(t *testing.T) {
return
// This key was generate with LDNS:
// ldns-keygen -a RSASHA256 -r /dev/urandom -b 1024 miek.nl

View File

@ -225,25 +225,25 @@ func TestParseFailure(t *testing.T) {
// A bit useless, how to use b.N?
func BenchmarkZoneParsing(b *testing.B) {
f, err := os.Open("miek.nl.signed_test")
f, err := os.Open("t/miek.nl.signed_test")
if err != nil {
return
}
defer f.Close()
to := ParseZone(f, "miek.nl.signed_test")
to := ParseZone(f, "t/miek.nl.signed_test")
for x := range to {
x = x
}
}
func TestZoneParsing(t *testing.T) {
f, err := os.Open("miek.nl.signed_test")
f, err := os.Open("t/miek.nl.signed_test")
if err != nil {
return
}
defer f.Close()
start := time.Now().UnixNano()
to := ParseZone(f, "miek.nl.signed_test")
to := ParseZone(f, "t/miek.nl.signed_test")
var i int
for x := range to {
t.Logf("%s\n", x.RR)
@ -255,7 +255,7 @@ func TestZoneParsing(t *testing.T) {
/*
func TestZoneParsingBigZonePrint(t *testing.T) {
f, err := os.Open("test.zone.miek.nl.signed")
f, err := os.Open("t/test.zone.miek.nl.signed")
if err != nil {
return
}
@ -275,7 +275,7 @@ func TestZoneParsingBigZonePrint(t *testing.T) {
}
func TestZoneParsingBigZone(t *testing.T) {
f, err := os.Open("test.zone.miek.nl.signed")
f, err := os.Open("t/test.zone.miek.nl.signed")
if err != nil {
return
}
@ -291,26 +291,3 @@ func TestZoneParsingBigZone(t *testing.T) {
t.Logf("%d RRs parsed in %.2f s (%.2f RR/s)", i, float32(delta)/1e9, float32(i)/(float32(delta)/1e9))
}
*/
/*
func TestLexerBrace(t *testing.T) {
f, err := os.Open("/home/miekg/src/tmp/small")
if err != nil {
return
}
defer f.Close()
var s scanner.Scanner
c := make(chan lex)
s.Init(f)
s.Mode = 0
s.Whitespace = 0
go zlexer(s, c)
for l := range c {
if l.err != "" {
t.Logf("E: %s\n", l.err)
continue
}
t.Logf("%s ", l)
}
}
*/

View File

@ -93,7 +93,7 @@ func NewRR(s string) (RR, error) {
return ReadRR(strings.NewReader(s), "")
}
// Ioreader here, or filename?? TODO
// Ioreader here, or filename which *we* open....???
// ReadRR reads the RR contained in q. Only the first RR is returned.
// The class defaults to IN and TTL defaults to DefaultTtl