Skip to content

Commit 87555a7

Browse files
committed
Moved ReadDir* tests in their own file
1 parent d348d46 commit 87555a7

File tree

2 files changed

+79
-43
lines changed

2 files changed

+79
-43
lines changed

paths_test.go

Lines changed: 0 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,6 @@
3030
package paths
3131

3232
import (
33-
"fmt"
34-
"os"
3533
"path/filepath"
3634
"runtime"
3735
"strings"
@@ -256,47 +254,6 @@ func TestParents(t *testing.T) {
256254
pathEqualsTo(t, ".", parents2[4])
257255
}
258256

259-
func TestReadDirRecursive(t *testing.T) {
260-
testPath := New("_testdata")
261-
262-
list, err := testPath.ReadDirRecursive()
263-
require.NoError(t, err)
264-
require.Len(t, list, 16)
265-
266-
pathEqualsTo(t, "_testdata/anotherFile", list[0])
267-
pathEqualsTo(t, "_testdata/file", list[1])
268-
pathEqualsTo(t, "_testdata/folder", list[2])
269-
pathEqualsTo(t, "_testdata/folder/.hidden", list[3])
270-
pathEqualsTo(t, "_testdata/folder/file2", list[4])
271-
pathEqualsTo(t, "_testdata/folder/file3", list[5])
272-
pathEqualsTo(t, "_testdata/folder/subfolder", list[6])
273-
pathEqualsTo(t, "_testdata/folder/subfolder/file4", list[7])
274-
pathEqualsTo(t, "_testdata/symlinktofolder", list[8])
275-
pathEqualsTo(t, "_testdata/symlinktofolder/.hidden", list[9])
276-
pathEqualsTo(t, "_testdata/symlinktofolder/file2", list[10])
277-
pathEqualsTo(t, "_testdata/symlinktofolder/file3", list[11])
278-
pathEqualsTo(t, "_testdata/symlinktofolder/subfolder", list[12])
279-
pathEqualsTo(t, "_testdata/symlinktofolder/subfolder/file4", list[13])
280-
pathEqualsTo(t, "_testdata/test.txt", list[14])
281-
pathEqualsTo(t, "_testdata/test.txt.gz", list[15])
282-
}
283-
284-
func TestReadDirRecursiveSymLinkLoop(t *testing.T) {
285-
// Test symlink loop
286-
tmp, err := MkTempDir("", "")
287-
require.NoError(t, err)
288-
defer tmp.RemoveAll()
289-
290-
folder := tmp.Join("folder")
291-
err = os.Symlink(tmp.String(), folder.String())
292-
require.NoError(t, err)
293-
294-
l, err := tmp.ReadDirRecursive()
295-
require.Error(t, err)
296-
fmt.Println(err)
297-
require.Nil(t, l)
298-
}
299-
300257
func TestFilterDirs(t *testing.T) {
301258
testPath := New("_testdata")
302259

readdir_test.go

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
/*
2+
* This file is part of PathsHelper library.
3+
*
4+
* Copyright 2018-2022 Arduino AG (http://www.arduino.cc/)
5+
*
6+
* PathsHelper library is free software; you can redistribute it and/or modify
7+
* it under the terms of the GNU General Public License as published by
8+
* the Free Software Foundation; either version 2 of the License, or
9+
* (at your option) any later version.
10+
*
11+
* This program is distributed in the hope that it will be useful,
12+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14+
* GNU General Public License for more details.
15+
*
16+
* You should have received a copy of the GNU General Public License
17+
* along with this program; if not, write to the Free Software
18+
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19+
*
20+
* As a special exception, you may use this file as part of a free software
21+
* library without restriction. Specifically, if other files instantiate
22+
* templates or use macros or inline functions from this file, or you compile
23+
* this file and link it with other files to produce an executable, this
24+
* file does not by itself cause the resulting executable to be covered by
25+
* the GNU General Public License. This exception does not however
26+
* invalidate any other reasons why the executable file might be covered by
27+
* the GNU General Public License.
28+
*/
29+
30+
package paths
31+
32+
import (
33+
"fmt"
34+
"os"
35+
"testing"
36+
37+
"github.com/stretchr/testify/require"
38+
)
39+
40+
func TestReadDirRecursive(t *testing.T) {
41+
testPath := New("_testdata")
42+
43+
list, err := testPath.ReadDirRecursive()
44+
require.NoError(t, err)
45+
require.Len(t, list, 16)
46+
47+
pathEqualsTo(t, "_testdata/anotherFile", list[0])
48+
pathEqualsTo(t, "_testdata/file", list[1])
49+
pathEqualsTo(t, "_testdata/folder", list[2])
50+
pathEqualsTo(t, "_testdata/folder/.hidden", list[3])
51+
pathEqualsTo(t, "_testdata/folder/file2", list[4])
52+
pathEqualsTo(t, "_testdata/folder/file3", list[5])
53+
pathEqualsTo(t, "_testdata/folder/subfolder", list[6])
54+
pathEqualsTo(t, "_testdata/folder/subfolder/file4", list[7])
55+
pathEqualsTo(t, "_testdata/symlinktofolder", list[8])
56+
pathEqualsTo(t, "_testdata/symlinktofolder/.hidden", list[9])
57+
pathEqualsTo(t, "_testdata/symlinktofolder/file2", list[10])
58+
pathEqualsTo(t, "_testdata/symlinktofolder/file3", list[11])
59+
pathEqualsTo(t, "_testdata/symlinktofolder/subfolder", list[12])
60+
pathEqualsTo(t, "_testdata/symlinktofolder/subfolder/file4", list[13])
61+
pathEqualsTo(t, "_testdata/test.txt", list[14])
62+
pathEqualsTo(t, "_testdata/test.txt.gz", list[15])
63+
}
64+
65+
func TestReadDirRecursiveSymLinkLoop(t *testing.T) {
66+
// Test symlink loop
67+
tmp, err := MkTempDir("", "")
68+
require.NoError(t, err)
69+
defer tmp.RemoveAll()
70+
71+
folder := tmp.Join("folder")
72+
err = os.Symlink(tmp.String(), folder.String())
73+
require.NoError(t, err)
74+
75+
l, err := tmp.ReadDirRecursive()
76+
require.Error(t, err)
77+
fmt.Println(err)
78+
require.Nil(t, l)
79+
}

0 commit comments

Comments
 (0)