mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-09-30 21:15:30 +00:00
Fix nasty bug which resulted in `kata-env` showing `VMContainerCapable = true` even on amd64 systems without virtualisation support (thankfully `kata-check` still showed the correct results). Added arch-specific tests to avoid any possibility of regression. Fixes #660. Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
54 lines
1.3 KiB
Go
54 lines
1.3 KiB
Go
// Copyright (c) 2018 Intel Corporation
|
|
//
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
//
|
|
|
|
// +build arm64 ppc64le
|
|
|
|
package main
|
|
|
|
import (
|
|
"io/ioutil"
|
|
"os"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func testEnvGetEnvInfoSetsCPUTypeGeneric(t *testing.T) {
|
|
assert := assert.New(t)
|
|
|
|
tmpdir, err := ioutil.TempDir("", "")
|
|
assert.NoError(err)
|
|
defer os.RemoveAll(tmpdir)
|
|
|
|
savedArchRequiredCPUFlags := archRequiredCPUFlags
|
|
savedArchRequiredCPUAttribs := archRequiredCPUAttribs
|
|
savedArchRequiredKernelModules := archRequiredKernelModules
|
|
|
|
defer func() {
|
|
archRequiredCPUFlags = savedArchRequiredCPUFlags
|
|
archRequiredCPUAttribs = savedArchRequiredCPUAttribs
|
|
archRequiredKernelModules = savedArchRequiredKernelModules
|
|
}()
|
|
|
|
assert.Empty(archRequiredCPUFlags)
|
|
assert.Empty(archRequiredCPUAttribs)
|
|
assert.NotEmpty(archRequiredKernelModules)
|
|
|
|
configFile, config, err := makeRuntimeConfig(tmpdir)
|
|
assert.NoError(err)
|
|
|
|
expectedEnv, err := getExpectedSettings(config, tmpdir, configFile)
|
|
assert.NoError(err)
|
|
|
|
env, err := getEnvInfo(configFile, config)
|
|
assert.NoError(err)
|
|
|
|
assert.Equal(expectedEnv, env)
|
|
|
|
assert.Equal(archRequiredCPUFlags, savedArchRequiredCPUFlags)
|
|
assert.Equal(archRequiredCPUAttribs, savedArchRequiredCPUAttribs)
|
|
assert.Equal(archRequiredKernelModules, savedArchRequiredKernelModules)
|
|
}
|