@@ -297,3 +297,46 @@ func TestCompileAndUploadComboWithCustomBuildPath(t *testing.T) {
297297 require .Contains (t , traces , "Upload successful" )
298298 }
299299}
300+
301+ func TestCompileAndUploadComboSketchWithPdeExtension (t * testing.T ) {
302+ if os .Getenv ("CI" ) != "" {
303+ t .Skip ("VMs have no serial ports" )
304+ }
305+
306+ env , cli := integrationtest .CreateArduinoCLIWithEnvironment (t )
307+ defer env .CleanUp ()
308+
309+ _ , _ , err := cli .Run ("update" )
310+ require .NoError (t , err )
311+
312+ sketchName := "CompileAndUploadPdeSketch"
313+ sketchPath := cli .SketchbookDir ().Join (sketchName )
314+
315+ // Create a test sketch
316+ _ , _ , err = cli .Run ("sketch" , "new" , sketchPath .String ())
317+ require .NoError (t , err )
318+
319+ // Renames sketch file to pde
320+ sketchFile := sketchPath .Join (sketchName + ".pde" )
321+ require .NoError (t , sketchPath .Join (sketchName + ".ino" ).Rename (sketchFile ))
322+
323+ for _ , board := range detectedBoards (t , cli ) {
324+ // Install core
325+ _ , _ , err = cli .Run ("core" , "install" , board .core )
326+ require .NoError (t , err )
327+
328+ // Build sketch and upload from folder
329+ waitForBoard (t , cli )
330+ _ , stderr , err := cli .Run ("compile" , "--clean" , "-b" , board .fqbn , "-u" , "-p" , board .address , sketchPath .String ())
331+ require .NoError (t , err )
332+ require .Contains (t , string (stderr ), "Sketches with .pde extension are deprecated, please rename the following files to .ino" )
333+ require .Contains (t , string (stderr ), sketchFile .String ())
334+
335+ // Build sketch and upload from file
336+ waitForBoard (t , cli )
337+ _ , stderr , err = cli .Run ("compile" , "--clean" , "-b" , board .fqbn , "-u" , "-p" , board .address , sketchFile .String ())
338+ require .NoError (t , err )
339+ require .Contains (t , string (stderr ), "Sketches with .pde extension are deprecated, please rename the following files to .ino" )
340+ require .Contains (t , string (stderr ), sketchFile .String ())
341+ }
342+ }
0 commit comments