Map CLI profiles to selected modules
This commit is contained in:
@@ -128,11 +128,37 @@ func TestPrepareTaggedCheckoutValidatesInputsBeforeFetching(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestPrepareBuildDependenciesRequiresRepositoryDirectory(t *testing.T) {
|
||||
if err := releasekit.PrepareBuildDependencies(context.Background(), " "); err == nil {
|
||||
if err := releasekit.PrepareBuildDependencies(context.Background(), releasekit.DependencyPreparationRequest{RepositoryDir: " "}); err == nil {
|
||||
t.Fatal("PrepareBuildDependencies() accepted an empty repository directory")
|
||||
}
|
||||
}
|
||||
|
||||
func TestPrepareBuildDependenciesUsesSelectedModuleDirectory(t *testing.T) {
|
||||
repository := t.TempDir()
|
||||
moduleDir := filepath.Join(repository, "integrations", "ckconfig")
|
||||
if err := os.MkdirAll(moduleDir, 0o700); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
toolDir := t.TempDir()
|
||||
marker := filepath.Join(t.TempDir(), "go-directory")
|
||||
tool := filepath.Join(toolDir, "go")
|
||||
if err := os.WriteFile(tool, []byte("#!/bin/sh\nprintf '%s' \"$PWD\" > \"$PREPARE_DIR_MARKER\"\n"), 0o700); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
t.Setenv("PATH", toolDir+string(os.PathListSeparator)+os.Getenv("PATH"))
|
||||
t.Setenv("PREPARE_DIR_MARKER", marker)
|
||||
if err := releasekit.PrepareBuildDependencies(context.Background(), releasekit.DependencyPreparationRequest{
|
||||
RepositoryDir: repository,
|
||||
ModuleDir: "integrations/ckconfig",
|
||||
}); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
got, err := os.ReadFile(marker)
|
||||
if err != nil || string(got) != moduleDir {
|
||||
t.Fatalf("go mod download directory = %q, error=%v, want %q", got, err, moduleDir)
|
||||
}
|
||||
}
|
||||
|
||||
func publishPreparationTag(t *testing.T, repository string) string {
|
||||
t.Helper()
|
||||
remoteDir := t.TempDir()
|
||||
|
||||
Reference in New Issue
Block a user