chore: Move host-endianness definition to `internal` (#12360)

This commit is contained in:
Sven Rebhan 2022-12-08 22:04:57 +01:00 committed by GitHub
parent c98115e744
commit db7cb4ec25
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 26 additions and 25 deletions

View File

@ -0,0 +1,7 @@
//go:build armbe || arm64be || mips || mips64 || mips64p32 || ppc || ppc64 || s390 || s390x || sparc || sparc64
package internal
import "encoding/binary"
var HostEndianess = binary.BigEndian

View File

@ -0,0 +1,7 @@
//go:build 386 || amd64 || amd64p32 || arm || arm64 || loong64 || mipsle || mips64le || mips64p32le || ppc64le || riscv || riscv64 || wasm
package internal
import "encoding/binary"
var HostEndianess = binary.LittleEndian

View File

@ -4,6 +4,7 @@ import (
"testing" "testing"
"time" "time"
"github.com/influxdata/telegraf/internal"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
) )
@ -19,7 +20,7 @@ func TestEntryConvertType(t *testing.T) {
testdata := []byte{0x01, 0x02, 0x03, 0x04} testdata := []byte{0x01, 0x02, 0x03, 0x04}
e := &Entry{Type: "garbage"} e := &Entry{Type: "garbage"}
_, err := e.convertType(testdata, hostEndianess) _, err := e.convertType(testdata, internal.HostEndianess)
require.EqualError(t, err, `cannot handle type "garbage"`) require.EqualError(t, err, `cannot handle type "garbage"`)
} }
@ -27,16 +28,16 @@ func TestEntryConvertTimeType(t *testing.T) {
testdata := []byte{0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09} testdata := []byte{0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09}
e := &Entry{Type: "unix_ns", location: time.UTC} e := &Entry{Type: "unix_ns", location: time.UTC}
_, err := e.convertTimeType(testdata, hostEndianess) _, err := e.convertTimeType(testdata, internal.HostEndianess)
require.EqualError(t, err, `too many bytes 9 vs 8`) require.EqualError(t, err, `too many bytes 9 vs 8`)
} }
func TestConvertNumericType(t *testing.T) { func TestConvertNumericType(t *testing.T) {
testdata := []byte{0x01, 0x02, 0x03, 0x04} testdata := []byte{0x01, 0x02, 0x03, 0x04}
_, err := convertNumericType(testdata, "garbage", hostEndianess) _, err := convertNumericType(testdata, "garbage", internal.HostEndianess)
require.EqualError(t, err, `cannot determine length for type "garbage"`) require.EqualError(t, err, `cannot determine length for type "garbage"`)
_, err = convertNumericType(testdata, "uint8", hostEndianess) _, err = convertNumericType(testdata, "uint8", internal.HostEndianess)
require.EqualError(t, err, `too many bytes 4 vs 1`) require.EqualError(t, err, `too many bytes 4 vs 1`)
} }

View File

@ -1,8 +0,0 @@
//go:build arm64be
// +build arm64be
package binary
import "encoding/binary"
var hostEndianess = binary.BigEndian

View File

@ -1,8 +0,0 @@
//go:build !arm64be
// +build !arm64be
package binary
import "encoding/binary"
var hostEndianess = binary.LittleEndian

View File

@ -9,6 +9,7 @@ import (
"time" "time"
"github.com/influxdata/telegraf" "github.com/influxdata/telegraf"
"github.com/influxdata/telegraf/internal"
"github.com/influxdata/telegraf/plugins/parsers" "github.com/influxdata/telegraf/plugins/parsers"
) )
@ -31,7 +32,7 @@ func (p *Parser) Init() error {
case "be": case "be":
p.converter = binary.BigEndian p.converter = binary.BigEndian
case "", "host": case "", "host":
p.converter = hostEndianess p.converter = internal.HostEndianess
default: default:
return fmt.Errorf("unknown endianess %q", p.Endianess) return fmt.Errorf("unknown endianess %q", p.Endianess)
} }

View File

@ -13,6 +13,7 @@ import (
"github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp"
"github.com/influxdata/telegraf" "github.com/influxdata/telegraf"
"github.com/influxdata/telegraf/config" "github.com/influxdata/telegraf/config"
"github.com/influxdata/telegraf/internal"
"github.com/influxdata/telegraf/metric" "github.com/influxdata/telegraf/metric"
"github.com/influxdata/telegraf/plugins/inputs" "github.com/influxdata/telegraf/plugins/inputs"
"github.com/influxdata/telegraf/plugins/inputs/file" "github.com/influxdata/telegraf/plugins/inputs/file"
@ -56,7 +57,7 @@ func determineEndianess(endianess string) binary.ByteOrder {
case "be": case "be":
return binary.BigEndian return binary.BigEndian
case "host": case "host":
return hostEndianess return internal.HostEndianess
} }
panic(fmt.Errorf("unknown endianess %q", endianess)) panic(fmt.Errorf("unknown endianess %q", endianess))
} }
@ -218,7 +219,7 @@ func TestFilterNoMatch(t *testing.T) {
} }
require.NoError(t, parser.Init()) require.NoError(t, parser.Init())
data, err := generateBinary(testdata, hostEndianess) data, err := generateBinary(testdata, internal.HostEndianess)
require.NoError(t, err) require.NoError(t, err)
_, err = parser.Parse(data) _, err = parser.Parse(data)
@ -239,7 +240,7 @@ func TestFilterNoMatch(t *testing.T) {
} }
require.NoError(t, parser.Init()) require.NoError(t, parser.Init())
data, err := generateBinary(testdata, hostEndianess) data, err := generateBinary(testdata, internal.HostEndianess)
require.NoError(t, err) require.NoError(t, err)
metrics, err := parser.Parse(data) metrics, err := parser.Parse(data)
@ -389,7 +390,7 @@ func TestFilterLength(t *testing.T) {
} }
require.NoError(t, parser.Init()) require.NoError(t, parser.Init())
data, err := generateBinary(tt.data, hostEndianess) data, err := generateBinary(tt.data, internal.HostEndianess)
require.NoError(t, err) require.NoError(t, err)
metrics, err := parser.Parse(data) metrics, err := parser.Parse(data)