Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions internal/cli/files.go
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,9 @@ func readRwxDirectoryEntries(paths []string, relativeTo string) ([]RwxDirectoryE
}

skipDirs := []string{".rwx/test-suites", ".mint/test-suites", ".rwx/downloads", ".mint/downloads"}
if relativeTo != "" {
skipDirs = append(skipDirs, "test-suites", "downloads")
}
if entry.IsDir() {
if slices.Contains(skipDirs, entry.Path) {
return filepath.SkipDir
Expand Down
33 changes: 33 additions & 0 deletions internal/cli/files_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,39 @@ func TestReadRwxDirectoryEntries_SizeLimit(t *testing.T) {
})
}

func TestReadRwxDirectoryEntries_SkipsDownloads(t *testing.T) {
t.Run("excludes downloads directory from size calculation", func(t *testing.T) {
t.Chdir(t.TempDir())

rwxDir := ".rwx"
err := os.MkdirAll(rwxDir, 0755)
require.NoError(t, err)

// Write a small config file
smallContent := make([]byte, 1*1024*1024) // 1 MiB
err = os.WriteFile(filepath.Join(rwxDir, "config.yml"), smallContent, 0644)
require.NoError(t, err)

// Write a large file inside downloads that would push total over 5MiB
downloadsDir := filepath.Join(rwxDir, "downloads")
err = os.MkdirAll(downloadsDir, 0755)
require.NoError(t, err)

largeDownload := make([]byte, 6*1024*1024) // 6 MiB
err = os.WriteFile(filepath.Join(downloadsDir, "artifact.tar.gz"), largeDownload, 0644)
require.NoError(t, err)

// Should succeed because downloads directory is excluded
entries, err := cli.RwxDirectoryEntries(rwxDir)
require.NoError(t, err)

// Verify no entries from downloads directory are included
for _, entry := range entries {
require.NotContains(t, entry.Path, "downloads/")
}
})
}

func TestFindRunDefinitionFile(t *testing.T) {
t.Run("when file exists in pwd", func(t *testing.T) {
t.Chdir(t.TempDir())
Expand Down
8 changes: 2 additions & 6 deletions internal/cli/service_run_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -561,16 +561,14 @@ func TestService_InitiatingRun(t *testing.T) {
s.mockAPI.MockInitiateRun = func(cfg api.InitiateRunConfig) (*api.InitiateRunResult, error) {
require.Len(t, cfg.TaskDefinitions, 1)
require.Equal(t, runConfig.MintFilePath, cfg.TaskDefinitions[0].Path)
require.Len(t, cfg.RwxDirectory, 9)
require.Len(t, cfg.RwxDirectory, 7)
require.Equal(t, ".", cfg.RwxDirectory[0].Path)
require.Equal(t, "mintdir-tasks.json", cfg.RwxDirectory[1].Path)
require.Equal(t, "mintdir-tasks.yml", cfg.RwxDirectory[2].Path)
require.Equal(t, "some", cfg.RwxDirectory[3].Path)
require.Equal(t, "some/nested", cfg.RwxDirectory[4].Path)
require.Equal(t, "some/nested/path", cfg.RwxDirectory[5].Path)
require.Equal(t, "some/nested/path/tasks.yaml", cfg.RwxDirectory[6].Path)
require.Equal(t, "test-suites", cfg.RwxDirectory[7].Path)
require.Equal(t, "test-suites/config.yaml", cfg.RwxDirectory[8].Path)
require.True(t, cfg.UseCache)
receivedSpecifiedFileContent = cfg.TaskDefinitions[0].FileContents
receivedRwxDir = cfg.RwxDirectory
Expand All @@ -587,16 +585,14 @@ func TestService_InitiatingRun(t *testing.T) {

require.Equal(t, originalSpecifiedFileContent, receivedSpecifiedFileContent)
require.NotNil(t, receivedRwxDir)
require.Equal(t, 9, len(receivedRwxDir))
require.Equal(t, 7, len(receivedRwxDir))
require.Equal(t, ".", receivedRwxDir[0].Path)
require.Equal(t, "mintdir-tasks.json", receivedRwxDir[1].Path)
require.Equal(t, "mintdir-tasks.yml", receivedRwxDir[2].Path)
require.Equal(t, "some", receivedRwxDir[3].Path)
require.Equal(t, "some/nested", receivedRwxDir[4].Path)
require.Equal(t, "some/nested/path", receivedRwxDir[5].Path)
require.Equal(t, "some/nested/path/tasks.yaml", receivedRwxDir[6].Path)
require.Equal(t, "test-suites", receivedRwxDir[7].Path)
require.Equal(t, "test-suites/config.yaml", receivedRwxDir[8].Path)
})
})

Expand Down