From bece4517ca5d92140dfee0f14defe41f383b0ffc Mon Sep 17 00:00:00 2001 From: Daniel Milde Date: Sun, 14 Apr 2024 22:58:57 +0200 Subject: [PATCH] test for subitem --- pkg/remove/parallel_linux_test.go | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/pkg/remove/parallel_linux_test.go b/pkg/remove/parallel_linux_test.go index 1bd05199e..0f6e61ff7 100644 --- a/pkg/remove/parallel_linux_test.go +++ b/pkg/remove/parallel_linux_test.go @@ -9,6 +9,7 @@ import ( "github.com/dundee/gdu/v5/internal/testdir" "github.com/dundee/gdu/v5/pkg/analyze" + "github.com/dundee/gdu/v5/pkg/fs" "github.com/stretchr/testify/assert" ) @@ -40,3 +41,27 @@ func TestRemoveItemFromDirParallelWithErr(t *testing.T) { err = RemoveItemFromDirParallel(dir, subdir) assert.Contains(t, err.Error(), "permission denied") } + +func TestRemoveItemFromDirParallelWithErr2(t *testing.T) { + fin := testdir.CreateTestDir() + defer fin() + + err := os.Chmod("test_dir/nested/subnested", 0) + assert.Nil(t, err) + defer func() { + err = os.Chmod("test_dir/nested/subnested", 0755) + assert.Nil(t, err) + }() + + analyzer := analyze.CreateAnalyzer() + dir := analyzer.AnalyzeDir( + "test_dir", func(_, _ string) bool { return false }, false, + ).(*analyze.Dir) + analyzer.GetDone().Wait() + dir.UpdateStats(make(fs.HardLinkedItems)) + + subdir := dir.Files[0].(*analyze.Dir) + + err = RemoveItemFromDirParallel(dir, subdir) + assert.Contains(t, err.Error(), "permission denied") +}