You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi @HenryVolkmer, you are encodig with default precision (nanosecond) but trying to decode with other precisions. Using SetPrecision to encode and calling decoder.Next() before decoding makes the code not to fail:
package main
import (
"testing"
"time"
"github.com/influxdata/line-protocol/v2/lineprotocol"
)
func TestTime(t *testing.T) {
tests := map[string]lineprotocol.Precision{
"nano": lineprotocol.Nanosecond,
"micro": lineprotocol.Microsecond,
"second": lineprotocol.Second,
}
for label, p := range tests {
enc := lineprotocol.Encoder{}
enc.SetPrecision(p)
enc.StartLine("a_measurement")
enc.AddField("temp", lineprotocol.MustNewValue(int64(10)))
enc.EndLine(time.Now())
// explicite from bytes to string and from string to bytes
str := string(enc.Bytes())
dec := lineprotocol.NewDecoderWithBytes([]byte(str))
dec.Next()
ti, err := dec.Time(p, time.Time{})
if err != nil {
panic(err)
}
if ti.IsZero() {
t.Errorf("decoder.Time for precision %s should not be zero", label)
}
}
}
hi,
this test fails, any ideas?
The text was updated successfully, but these errors were encountered: