SandpointsGitHook/vendor/github.com/frankban/quicktest/patch_go1.17.go

27 lines
641 B
Go

// Licensed under the MIT license, see LICENSE file for details.
//go:build !go1.17
// +build !go1.17
package quicktest
import "os"
// Setenv sets an environment variable to a temporary value for the
// duration of the test.
//
// At the end of the test (see "Deferred execution" in the package docs), the
// environment variable is returned to its original value.
//
// This is the equivalent of testing.T.Setenv introduced in Go 1.17.
func (c *C) Setenv(name, val string) {
oldVal, oldOK := os.LookupEnv(name)
os.Setenv(name, val)
c.cleanup(func() {
if oldOK {
os.Setenv(name, oldVal)
} else {
os.Unsetenv(name)
}
})
}