1616package test
1717
1818import (
19+ "fmt"
1920 "path/filepath"
2021 "strings"
2122 "testing"
@@ -46,8 +47,36 @@ func TestMergeSketchWithBootloader(t *testing.T) {
4647 err := buildPath .Join ("sketch" ).MkdirAll ()
4748 NoError (t , err )
4849
49- fakeSketchHex := "row 1\n " +
50- "row 2\n "
50+ fakeSketchHex := `:100000000C9434000C9446000C9446000C9446006A
51+ :100010000C9446000C9446000C9446000C94460048
52+ :100020000C9446000C9446000C9446000C94460038
53+ :100030000C9446000C9446000C9446000C94460028
54+ :100040000C9448000C9446000C9446000C94460016
55+ :100050000C9446000C9446000C9446000C94460008
56+ :100060000C9446000C94460011241FBECFEFD8E03C
57+ :10007000DEBFCDBF21E0A0E0B1E001C01D92A930FC
58+ :10008000B207E1F70E9492000C94DC000C9400008F
59+ :100090001F920F920FB60F9211242F933F938F93BD
60+ :1000A0009F93AF93BF938091050190910601A0911A
61+ :1000B0000701B09108013091040123E0230F2D378F
62+ :1000C00020F40196A11DB11D05C026E8230F02965C
63+ :1000D000A11DB11D20930401809305019093060199
64+ :1000E000A0930701B0930801809100019091010154
65+ :1000F000A0910201B09103010196A11DB11D809351
66+ :10010000000190930101A0930201B0930301BF91FC
67+ :10011000AF919F918F913F912F910F900FBE0F90B4
68+ :100120001F901895789484B5826084BD84B58160F1
69+ :1001300084BD85B5826085BD85B5816085BD8091B2
70+ :100140006E00816080936E0010928100809181002A
71+ :100150008260809381008091810081608093810022
72+ :10016000809180008160809380008091B1008460E4
73+ :100170008093B1008091B00081608093B000809145
74+ :100180007A00846080937A0080917A008260809304
75+ :100190007A0080917A00816080937A0080917A0061
76+ :1001A000806880937A001092C100C0E0D0E0209770
77+ :0C01B000F1F30E940000FBCFF894FFCF99
78+ :00000001FF
79+ `
5180 err = buildPath .Join ("sketch" , "sketch.ino.hex" ).WriteFile ([]byte (fakeSketchHex ))
5281 NoError (t , err )
5382
@@ -65,8 +94,8 @@ func TestMergeSketchWithBootloader(t *testing.T) {
6594 NoError (t , err )
6695 mergedSketchHex := string (bytes )
6796
68- require .True (t , strings . HasPrefix ( mergedSketchHex , "row 1 \n :107E0000112484B714BE81FFF0D085E080938100F7 \n " ) )
69- require .True (t , strings .HasSuffix (mergedSketchHex , ":0400000300007E007B \n : 00000001FF\n " ))
97+ require .Contains (t , mergedSketchHex , ":100000000C9434000C9446000C9446000C9446006A \n " )
98+ require .True (t , strings .HasSuffix (mergedSketchHex , ":00000001FF\n " ))
7099}
71100
72101func TestMergeSketchWithBootloaderSketchInBuildPath (t * testing.T ) {
@@ -88,8 +117,36 @@ func TestMergeSketchWithBootloaderSketchInBuildPath(t *testing.T) {
88117 err := buildPath .Join ("sketch" ).MkdirAll ()
89118 NoError (t , err )
90119
91- fakeSketchHex := "row 1\n " +
92- "row 2\n "
120+ fakeSketchHex := `:100000000C9434000C9446000C9446000C9446006A
121+ :100010000C9446000C9446000C9446000C94460048
122+ :100020000C9446000C9446000C9446000C94460038
123+ :100030000C9446000C9446000C9446000C94460028
124+ :100040000C9448000C9446000C9446000C94460016
125+ :100050000C9446000C9446000C9446000C94460008
126+ :100060000C9446000C94460011241FBECFEFD8E03C
127+ :10007000DEBFCDBF21E0A0E0B1E001C01D92A930FC
128+ :10008000B207E1F70E9492000C94DC000C9400008F
129+ :100090001F920F920FB60F9211242F933F938F93BD
130+ :1000A0009F93AF93BF938091050190910601A0911A
131+ :1000B0000701B09108013091040123E0230F2D378F
132+ :1000C00020F40196A11DB11D05C026E8230F02965C
133+ :1000D000A11DB11D20930401809305019093060199
134+ :1000E000A0930701B0930801809100019091010154
135+ :1000F000A0910201B09103010196A11DB11D809351
136+ :10010000000190930101A0930201B0930301BF91FC
137+ :10011000AF919F918F913F912F910F900FBE0F90B4
138+ :100120001F901895789484B5826084BD84B58160F1
139+ :1001300084BD85B5826085BD85B5816085BD8091B2
140+ :100140006E00816080936E0010928100809181002A
141+ :100150008260809381008091810081608093810022
142+ :10016000809180008160809380008091B1008460E4
143+ :100170008093B1008091B00081608093B000809145
144+ :100180007A00846080937A0080917A008260809304
145+ :100190007A0080917A00816080937A0080917A0061
146+ :1001A000806880937A001092C100C0E0D0E0209770
147+ :0C01B000F1F30E940000FBCFF894FFCF99
148+ :00000001FF
149+ `
93150 err = buildPath .Join ("sketch.ino.hex" ).WriteFile ([]byte (fakeSketchHex ))
94151 NoError (t , err )
95152
@@ -107,8 +164,9 @@ func TestMergeSketchWithBootloaderSketchInBuildPath(t *testing.T) {
107164 NoError (t , err )
108165 mergedSketchHex := string (bytes )
109166
110- require .True (t , strings .HasPrefix (mergedSketchHex , "row 1\n :107E0000112484B714BE81FFF0D085E080938100F7\n " ))
111- require .True (t , strings .HasSuffix (mergedSketchHex , ":0400000300007E007B\n :00000001FF\n " ))
167+ fmt .Println (string (mergedSketchHex ))
168+ require .Contains (t , mergedSketchHex , ":100000000C9434000C9446000C9446000C9446006A\n " )
169+ require .True (t , strings .HasSuffix (mergedSketchHex , ":00000001FF\n " ))
112170}
113171
114172func TestMergeSketchWithBootloaderWhenNoBootloaderAvailable (t * testing.T ) {
@@ -168,8 +226,36 @@ func TestMergeSketchWithBootloaderPathIsParameterized(t *testing.T) {
168226 err := buildPath .Join ("sketch" ).MkdirAll ()
169227 NoError (t , err )
170228
171- fakeSketchHex := "row 1\n " +
172- "row 2\n "
229+ fakeSketchHex := `:100000000C9434000C9446000C9446000C9446006A
230+ :100010000C9446000C9446000C9446000C94460048
231+ :100020000C9446000C9446000C9446000C94460038
232+ :100030000C9446000C9446000C9446000C94460028
233+ :100040000C9448000C9446000C9446000C94460016
234+ :100050000C9446000C9446000C9446000C94460008
235+ :100060000C9446000C94460011241FBECFEFD8E03C
236+ :10007000DEBFCDBF21E0A0E0B1E001C01D92A930FC
237+ :10008000B207E1F70E9492000C94DC000C9400008F
238+ :100090001F920F920FB60F9211242F933F938F93BD
239+ :1000A0009F93AF93BF938091050190910601A0911A
240+ :1000B0000701B09108013091040123E0230F2D378F
241+ :1000C00020F40196A11DB11D05C026E8230F02965C
242+ :1000D000A11DB11D20930401809305019093060199
243+ :1000E000A0930701B0930801809100019091010154
244+ :1000F000A0910201B09103010196A11DB11D809351
245+ :10010000000190930101A0930201B0930301BF91FC
246+ :10011000AF919F918F913F912F910F900FBE0F90B4
247+ :100120001F901895789484B5826084BD84B58160F1
248+ :1001300084BD85B5826085BD85B5816085BD8091B2
249+ :100140006E00816080936E0010928100809181002A
250+ :100150008260809381008091810081608093810022
251+ :10016000809180008160809380008091B1008460E4
252+ :100170008093B1008091B00081608093B000809145
253+ :100180007A00846080937A0080917A008260809304
254+ :100190007A0080917A00816080937A0080917A0061
255+ :1001A000806880937A001092C100C0E0D0E0209770
256+ :0C01B000F1F30E940000FBCFF894FFCF99
257+ :00000001FF
258+ `
173259 err = buildPath .Join ("sketch" , "sketch.ino.hex" ).WriteFile ([]byte (fakeSketchHex ))
174260 NoError (t , err )
175261
@@ -187,6 +273,6 @@ func TestMergeSketchWithBootloaderPathIsParameterized(t *testing.T) {
187273 NoError (t , err )
188274 mergedSketchHex := string (bytes )
189275
190- require .True (t , strings . HasPrefix ( mergedSketchHex , "row 1 \n :020000023000CC" ) )
191- require .True (t , strings .HasSuffix (mergedSketchHex , ":040000033000E000E9 \n : 00000001FF\n " ))
276+ require .Contains (t , mergedSketchHex , ":100000000C9434000C9446000C9446000C9446006A \n " )
277+ require .True (t , strings .HasSuffix (mergedSketchHex , ":00000001FF\n " ))
192278}
0 commit comments