mi: fix native return-value handling (#2537)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
This commit is contained in:
Jan-Otto Kröpke
2026-10-08 15:26:44 +02:00
committed by GitHub
co-authored by Claude Opus 5.5
parent b683caff8b
commit c280b5262b
9 changed files with 223 additions and 70 deletions
+24
View File
@@ -18,16 +18,38 @@
package hcs_test
import (
"errors"
"testing"
"github.com/prometheus-community/windows_exporter/internal/headers/hcs"
"github.com/stretchr/testify/require"
)
// skipWithoutHCS skips the test if the Host Compute Service is not available,
// e.g. on hosts without the Containers feature.
func skipWithoutHCS(t *testing.T, err error) {
t.Helper()
if errors.Is(err, hcs.ErrServiceNotAvailable) {
t.Skip("Host Compute Service is not available")
}
}
func TestCreateOperation(t *testing.T) {
t.Parallel()
operation, err := hcs.CreateOperation()
require.NoError(t, err)
require.NotZero(t, operation)
hcs.CloseOperation(operation)
}
func TestGetContainers(t *testing.T) {
t.Parallel()
containers, err := hcs.GetContainers()
skipWithoutHCS(t, err)
require.NoError(t, err)
require.NotNil(t, containers)
}
@@ -36,6 +58,7 @@ func TestOpenContainer(t *testing.T) {
t.Parallel()
containers, err := hcs.GetContainers()
skipWithoutHCS(t, err)
require.NoError(t, err)
if len(containers) == 0 {
@@ -51,5 +74,6 @@ func TestOpenContainerNotFound(t *testing.T) {
t.Parallel()
_, err := hcs.GetContainerStatistics("f3056b79b36ddfe203376473e2aeb4922a8ca7c5d8100764e5829eb5552fe09b")
skipWithoutHCS(t, err)
require.ErrorIs(t, err, hcs.ErrIDNotFound)
}