mirror of
https://github.com/k3s-io/k3s.git
synced 2024-06-07 19:41:36 +00:00
e8381db778
* Update Kubernetes to v1.21.0 * Update to golang v1.16.2 * Update dependent modules to track with upstream * Switch to upstream flannel * Track changes to upstream cloud-controller-manager and FeatureGates Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
56 lines
1.2 KiB
Go
56 lines
1.2 KiB
Go
// Copyright 2019 The Kubernetes Authors.
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package kio
|
|
|
|
import (
|
|
"io/ioutil"
|
|
"os"
|
|
"path/filepath"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
// Setup creates directories and files for testing
|
|
type Setup struct {
|
|
// root is the tmp directory
|
|
Root string
|
|
}
|
|
|
|
// setupDirectories creates directories for reading test configuration from
|
|
func SetupDirectories(t *testing.T, dirs ...string) Setup {
|
|
d, err := ioutil.TempDir("", "kyaml-test")
|
|
if !assert.NoError(t, err) {
|
|
assert.FailNow(t, err.Error())
|
|
}
|
|
err = os.Chdir(d)
|
|
if !assert.NoError(t, err) {
|
|
assert.FailNow(t, err.Error())
|
|
}
|
|
for _, s := range dirs {
|
|
err = os.MkdirAll(s, 0700)
|
|
if !assert.NoError(t, err) {
|
|
assert.FailNow(t, err.Error())
|
|
}
|
|
}
|
|
return Setup{Root: d}
|
|
}
|
|
|
|
// writeFile writes a file under the test directory
|
|
func (s Setup) WriteFile(t *testing.T, path string, value []byte) {
|
|
err := os.MkdirAll(filepath.Dir(filepath.Join(s.Root, path)), 0700)
|
|
if !assert.NoError(t, err) {
|
|
assert.FailNow(t, err.Error())
|
|
}
|
|
err = ioutil.WriteFile(filepath.Join(s.Root, path), value, 0600)
|
|
if !assert.NoError(t, err) {
|
|
assert.FailNow(t, err.Error())
|
|
}
|
|
}
|
|
|
|
// clean deletes the test config
|
|
func (s Setup) Clean() {
|
|
os.RemoveAll(s.Root)
|
|
}
|