/
githubmirror
/
rclone
Обзор
Документация
Войти
/
githubmirror
/
rclone
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
cmd/version/version_test.go
46 строк
1 KB
albertony
Replace deprecated ioutil
07 ноя 2022, 14:41
07 ноя 2022, 14:41
5d6b814
Код
Авторство
О чём код?
package version import ( "os" "runtime" "testing" "github.com/rclone/rclone/cmd" "github.com/rclone/rclone/fs/config" "github.com/stretchr/testify/assert" ) func TestVersionWorksWithoutAccessibleConfigFile(t *testing.T) { // create temp config file tempFile, err := os.CreateTemp("", "unreadable_config.conf") assert.NoError(t, err) path := tempFile.Name() defer func() { err := os.Remove(path) assert.NoError(t, err) }() assert.NoError(t, tempFile.Close()) if runtime.GOOS != "windows" { assert.NoError(t, os.Chmod(path, 0000)) } // re-wire oldOsStdout := os.Stdout oldConfigPath := config.GetConfigPath() assert.NoError(t, config.SetConfigPath(path)) os.Stdout = nil defer func() { os.Stdout = oldOsStdout assert.NoError(t, config.SetConfigPath(oldConfigPath)) }() cmd.Root.SetArgs([]string{"version"}) assert.NotPanics(t, func() { assert.NoError(t, cmd.Root.Execute()) }) // This causes rclone to exit and the tests to stop! // cmd.Root.SetArgs([]string{"--version"}) // assert.NotPanics(t, func() { // assert.NoError(t, cmd.Root.Execute()) // }) }