Skip to content

Commit 719185d

Browse files
committed
Fail if a sketch file is a broken symlink
1 parent f793bb1 commit 719185d

File tree

4 files changed

+14
-1
lines changed

4 files changed

+14
-1
lines changed

Diff for: internal/arduino/sketch/sketch.go

+4-1
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,10 @@ func (s *Sketch) supportedFiles() (paths.PathList, error) {
176176

177177
files, err := s.FullPath.ReadDirRecursiveFiltered(
178178
paths.AndFilter(
179-
filterOutBrokenLinks,
179+
paths.OrFilter(
180+
filterValidExtensions,
181+
filterOutBrokenLinks,
182+
),
180183
filterOutBuildPaths,
181184
),
182185
paths.AndFilter(

Diff for: internal/integrationtest/compile_4/broken_symlink_test.go

+7
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,11 @@ func TestCompileWithBrokenSymLinks(t *testing.T) {
3737
_, _, err = cli.Run("compile", "-b", "arduino:avr:uno", sketch.String())
3838
require.NoError(t, err)
3939
})
40+
41+
t.Run("SketchFileBroken", func(t *testing.T) {
42+
sketch, err := paths.New("testdata", "ValidSketchWithBrokenSketchFileSymlink").Abs()
43+
require.NoError(t, err)
44+
_, _, err = cli.Run("compile", "-b", "arduino:avr:uno", sketch.String())
45+
require.Error(t, err)
46+
})
4047
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
void setup() {}
2+
void loop() {}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
broken

0 commit comments

Comments
 (0)