Merge pull request #524 from mattmoyer/allow-prebuilt-cli-binaries-for-testing
Allow running CLI-related integration tests with pre-built binary.
This commit is contained in:
commit
454348b2fd
@ -1,10 +1,11 @@
|
|||||||
// Copyright 2020 the Pinniped contributors. All Rights Reserved.
|
// Copyright 2020-2021 the Pinniped contributors. All Rights Reserved.
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
package library
|
package library
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"sync"
|
"sync"
|
||||||
@ -24,6 +25,13 @@ var pinnipedCLIBinaryCache struct {
|
|||||||
// PinnipedCLIPath returns the path to the Pinniped CLI binary, built on demand and cached between tests.
|
// PinnipedCLIPath returns the path to the Pinniped CLI binary, built on demand and cached between tests.
|
||||||
func PinnipedCLIPath(t *testing.T) string {
|
func PinnipedCLIPath(t *testing.T) string {
|
||||||
t.Helper()
|
t.Helper()
|
||||||
|
|
||||||
|
// Allow a pre-built binary passed in via $PINNIPED_TEST_CLI. This is how our tests run in CI for efficiency.
|
||||||
|
if ext, ok := os.LookupEnv("PINNIPED_TEST_CLI"); ok {
|
||||||
|
t.Log("using externally provided pinniped CLI binary")
|
||||||
|
return ext
|
||||||
|
}
|
||||||
|
|
||||||
pinnipedCLIBinaryCache.mutex.Lock()
|
pinnipedCLIBinaryCache.mutex.Lock()
|
||||||
defer pinnipedCLIBinaryCache.mutex.Unlock()
|
defer pinnipedCLIBinaryCache.mutex.Unlock()
|
||||||
path := filepath.Join(testutil.TempDir(t), "pinniped")
|
path := filepath.Join(testutil.TempDir(t), "pinniped")
|
||||||
|
Loading…
Reference in New Issue
Block a user