func CompareVerax(t *testing.T, gresults, vresults *llrb.Tree) { ch := gresults.IterAscend() for { gr := <-ch if gr == nil { break } goresult := gr.(QueryResult) vstruct := QueryResult{Oid: goresult.Oid} vr := vresults.Get(vstruct) if vr == nil { continue } vresult := vr.(QueryResult) vstring := vresult.Value.String() gostring := goresult.Value.String() fmt.Printf("verax : %s\ngsnmpgo: %s\n\n", vstring, gostring) if gostring != vstring { // fmt.Printf("OK oid: %s type: %T value: %s\n", goresult.Oid, goresult.Value, gostring) if len(gostring) > 4 && gostring[0:5] == "07 DA" { // skip - weird Verax stuff } else if len(vstring) > 4 && vstring[0:5] == "4E:85" { // skip - weird Verax stuff } else if len(vstring) > 17 && vstring[0:18] == "Cisco IOS Software" { // skip - \n's have been stripped - ignore } else { t.Errorf("compare fail: oid: %s type: %T\ngostring: |%s|\nvstring : |%s|", goresult.Oid, goresult.Value, gostring, vstring) } } } }