1
0
mirror of https://github.com/open-telemetry/opentelemetry-go.git synced 2025-10-31 00:07:40 +02:00
Files
opentelemetry-go/sdk/resource/os_test.go
Mikhail Mazurskiy 5e1c62a2d5 Modernize (#7089)
Use
https://pkg.go.dev/golang.org/x/tools/gopls/internal/analysis/modernize
to update code to new style.

---------

Co-authored-by: Flc゛ <four_leaf_clover@foxmail.com>
Co-authored-by: Damien Mathieu <42@dmathieu.com>
2025-07-29 10:19:11 +02:00

54 lines
1.4 KiB
Go

// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
package resource_test
import (
"testing"
"github.com/stretchr/testify/require"
"go.opentelemetry.io/otel/attribute"
"go.opentelemetry.io/otel/sdk/resource"
semconv "go.opentelemetry.io/otel/semconv/v1.34.0"
)
func mockRuntimeProviders() {
resource.SetRuntimeProviders(
fakeRuntimeNameProvider,
fakeRuntimeVersionProvider,
func() string { return "LINUX" },
fakeRuntimeArchProvider,
)
resource.SetOSDescriptionProvider(
func() (string, error) { return "Test", nil },
)
}
func TestMapRuntimeOSToSemconvOSType(t *testing.T) {
tt := []struct {
Name string
Goos string
OSType attribute.KeyValue
}{
{"Apple Darwin", "darwin", semconv.OSTypeDarwin},
{"DragonFly BSD", "dragonfly", semconv.OSTypeDragonflyBSD},
{"FreeBSD", "freebsd", semconv.OSTypeFreeBSD},
{"Linux", "linux", semconv.OSTypeLinux},
{"NetBSD", "netbsd", semconv.OSTypeNetBSD},
{"OpenBSD", "openbsd", semconv.OSTypeOpenBSD},
{"Oracle Solaris", "solaris", semconv.OSTypeSolaris},
{"Microsoft Windows", "windows", semconv.OSTypeWindows},
{"Unknown", "unknown", semconv.OSTypeKey.String("unknown")},
{"UNKNOWN", "UNKNOWN", semconv.OSTypeKey.String("unknown")},
}
for _, tc := range tt {
t.Run(tc.Name, func(t *testing.T) {
osTypeAttribute := resource.MapRuntimeOSToSemconvOSType(tc.Goos)
require.Equal(t, osTypeAttribute, tc.OSType)
})
}
}