16
16
package test
17
17
18
18
import (
19
+ "fmt"
19
20
"path/filepath"
20
21
"strings"
21
22
"testing"
@@ -46,8 +47,36 @@ func TestMergeSketchWithBootloader(t *testing.T) {
46
47
err := buildPath .Join ("sketch" ).MkdirAll ()
47
48
NoError (t , err )
48
49
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
+ `
51
80
err = buildPath .Join ("sketch" , "sketch.ino.hex" ).WriteFile ([]byte (fakeSketchHex ))
52
81
NoError (t , err )
53
82
@@ -65,8 +94,8 @@ func TestMergeSketchWithBootloader(t *testing.T) {
65
94
NoError (t , err )
66
95
mergedSketchHex := string (bytes )
67
96
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 " ))
70
99
}
71
100
72
101
func TestMergeSketchWithBootloaderSketchInBuildPath (t * testing.T ) {
@@ -88,8 +117,36 @@ func TestMergeSketchWithBootloaderSketchInBuildPath(t *testing.T) {
88
117
err := buildPath .Join ("sketch" ).MkdirAll ()
89
118
NoError (t , err )
90
119
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
+ `
93
150
err = buildPath .Join ("sketch.ino.hex" ).WriteFile ([]byte (fakeSketchHex ))
94
151
NoError (t , err )
95
152
@@ -107,8 +164,9 @@ func TestMergeSketchWithBootloaderSketchInBuildPath(t *testing.T) {
107
164
NoError (t , err )
108
165
mergedSketchHex := string (bytes )
109
166
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 " ))
112
170
}
113
171
114
172
func TestMergeSketchWithBootloaderWhenNoBootloaderAvailable (t * testing.T ) {
@@ -168,8 +226,36 @@ func TestMergeSketchWithBootloaderPathIsParameterized(t *testing.T) {
168
226
err := buildPath .Join ("sketch" ).MkdirAll ()
169
227
NoError (t , err )
170
228
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
+ `
173
259
err = buildPath .Join ("sketch" , "sketch.ino.hex" ).WriteFile ([]byte (fakeSketchHex ))
174
260
NoError (t , err )
175
261
@@ -187,6 +273,6 @@ func TestMergeSketchWithBootloaderPathIsParameterized(t *testing.T) {
187
273
NoError (t , err )
188
274
mergedSketchHex := string (bytes )
189
275
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 " ))
192
278
}
0 commit comments