Skip to content

Commit ef2f209

Browse files
author
Roberto Sora
committed
add testcases to replicate #424 and #358
1 parent 79cdab0 commit ef2f209

File tree

12 files changed

+63
-0
lines changed

12 files changed

+63
-0
lines changed

Diff for: arduino/builder/sketch_test.go

+40
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,46 @@ func TestLoadSketchFolder(t *testing.T) {
8282
require.Equal(t, "helper.h", filepath.Base(s.AdditionalFiles[2].Path))
8383
}
8484

85+
func TestLoadSketchFolderSymlink(t *testing.T) {
86+
// pass the path to the sketch folder
87+
sketchPath := filepath.Join("testdata", t.Name())
88+
mainFilePath := filepath.Join(sketchPath, t.Name()+".ino")
89+
s, err := builder.SketchLoad(sketchPath, "")
90+
require.Nil(t, err)
91+
require.NotNil(t, s)
92+
require.Equal(t, mainFilePath, s.MainFile.Path)
93+
require.Equal(t, sketchPath, s.LocationPath)
94+
require.Len(t, s.OtherSketchFiles, 2)
95+
require.Equal(t, "old.pde", filepath.Base(s.OtherSketchFiles[0].Path))
96+
require.Equal(t, "other.ino", filepath.Base(s.OtherSketchFiles[1].Path))
97+
require.Len(t, s.AdditionalFiles, 3)
98+
require.Equal(t, "header.h", filepath.Base(s.AdditionalFiles[0].Path))
99+
require.Equal(t, "s_file.S", filepath.Base(s.AdditionalFiles[1].Path))
100+
require.Equal(t, "helper.h", filepath.Base(s.AdditionalFiles[2].Path))
101+
102+
// pass the path to the main file
103+
sketchPath = mainFilePath
104+
s, err = builder.SketchLoad(sketchPath, "")
105+
require.Nil(t, err)
106+
require.NotNil(t, s)
107+
require.Equal(t, mainFilePath, s.MainFile.Path)
108+
require.Len(t, s.OtherSketchFiles, 2)
109+
require.Equal(t, "old.pde", filepath.Base(s.OtherSketchFiles[0].Path))
110+
require.Equal(t, "other.ino", filepath.Base(s.OtherSketchFiles[1].Path))
111+
require.Len(t, s.AdditionalFiles, 3)
112+
require.Equal(t, "header.h", filepath.Base(s.AdditionalFiles[0].Path))
113+
require.Equal(t, "s_file.S", filepath.Base(s.AdditionalFiles[1].Path))
114+
require.Equal(t, "helper.h", filepath.Base(s.AdditionalFiles[2].Path))
115+
}
116+
117+
func TestLoadSketchFolderDotIno(t *testing.T) {
118+
// pass the path to the sketch folder
119+
sketchPath := filepath.Join("testdata", "TestLoadSketchFolder.ino")
120+
s, err := builder.SketchLoad(sketchPath, "")
121+
require.Nil(t, s)
122+
require.NotNil(t, err)
123+
}
124+
85125
func TestLoadSketchFolderWrongMain(t *testing.T) {
86126
sketchPath := filepath.Join("testdata", t.Name())
87127
_, err := builder.SketchLoad(sketchPath, "")
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
void setup() {
2+
3+
}
4+
5+
void loop() {
6+
7+
}

Diff for: arduino/builder/testdata/TestLoadSketchFolderSymlink

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
TestLoadSketchFolderSymlinkSrc
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,7 @@
1+
void setup() {
2+
3+
}
4+
5+
void loop() {
6+
7+
}

Diff for: arduino/builder/testdata/TestLoadSketchFolderSymlinkSrc/doc.txt

Whitespace-only changes.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
#define FOO "BAR"

Diff for: arduino/builder/testdata/TestLoadSketchFolderSymlinkSrc/old.pde

Whitespace-only changes.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
String hello() {
2+
return "world";
3+
}

Diff for: arduino/builder/testdata/TestLoadSketchFolderSymlinkSrc/s_file.S

Whitespace-only changes.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#include <testlib4.h>
2+
#error "Whattya looking at?"

Diff for: arduino/builder/testdata/TestLoadSketchFolderSymlinkSrc/src/helper.h

Whitespace-only changes.

0 commit comments

Comments
 (0)