@@ -510,23 +510,55 @@ func TestBoardSearch(t *testing.T) {
510510 ]` )
511511}
512512
513- func TestBoardAttachWithoutSketchJson (t * testing.T ) {
513+ func TestBoardAttach (t * testing.T ) {
514514 env , cli := integrationtest .CreateArduinoCLIWithEnvironment (t )
515515 defer env .CleanUp ()
516516
517- _ , _ , err := cli .Run ("update" )
518- require .NoError (t , err )
519-
520- sketchName := "BoardAttachWithoutSketchJson"
517+ sketchName := "BoardAttach"
521518 sketchPath := cli .SketchbookDir ().Join (sketchName )
522- fqbn := "arduino:avr:uno"
519+ sketchProjectFlie := sketchPath . Join ( "sketch.yaml" )
523520
524521 // Create a test sketch
525- _ , _ , err = cli .Run ("sketch" , "new" , sketchPath .String ())
522+ _ , _ , err : = cli .Run ("sketch" , "new" , sketchPath .String ())
526523 require .NoError (t , err )
527524
528- _ , _ , err = cli .Run ("board" , "attach" , "-b" , fqbn , sketchPath .String ())
529- require .NoError (t , err )
525+ {
526+ stdout , _ , err := cli .Run ("board" , "attach" , "-b" , "arduino:avr:uno" , sketchPath .String (), "--format" , "json" )
527+ require .NoError (t , err )
528+ requirejson .Query (t , stdout , ".fqbn" , `"arduino:avr:uno"` )
529+
530+ yamlData , err := sketchProjectFlie .ReadFile ()
531+ require .NoError (t , err )
532+ require .Contains (t , string (yamlData ), "default_fqbn: arduino:avr:uno" )
533+ require .NotContains (t , string (yamlData ), "default_port:" )
534+ require .NotContains (t , string (yamlData ), "default_protocol:" )
535+ }
536+ {
537+ stdout , _ , err := cli .Run ("board" , "attach" , "-p" , "/dev/ttyACM0" , "-l" , "serial" , sketchPath .String (), "--format" , "json" )
538+ require .NoError (t , err )
539+ requirejson .Query (t , stdout , ".fqbn" , `"arduino:avr:uno"` )
540+ requirejson .Query (t , stdout , ".port.address" , `"/dev/ttyACM0"` )
541+ requirejson .Query (t , stdout , ".port.protocol" , `"serial"` )
542+
543+ yamlData , err := sketchProjectFlie .ReadFile ()
544+ require .NoError (t , err )
545+ require .Contains (t , string (yamlData ), "default_fqbn: arduino:avr:uno" )
546+ require .Contains (t , string (yamlData ), "default_port: /dev/ttyACM0" )
547+ require .Contains (t , string (yamlData ), "default_protocol: serial" )
548+ }
549+ {
550+ stdout , _ , err := cli .Run ("board" , "attach" , "-p" , "/dev/ttyACM0" , sketchPath .String (), "--format" , "json" )
551+ require .NoError (t , err )
552+ requirejson .Query (t , stdout , ".fqbn" , `"arduino:avr:uno"` )
553+ requirejson .Query (t , stdout , ".port.address" , `"/dev/ttyACM0"` )
554+ requirejson .Query (t , stdout , ".port.protocol" , `null` )
555+
556+ yamlData , err := sketchProjectFlie .ReadFile ()
557+ require .NoError (t , err )
558+ require .Contains (t , string (yamlData ), "default_fqbn: arduino:avr:uno" )
559+ require .Contains (t , string (yamlData ), "default_port: /dev/ttyACM0" )
560+ require .NotContains (t , string (yamlData ), "default_protocol:" )
561+ }
530562}
531563
532564func TestBoardSearchWithOutdatedCore (t * testing.T ) {
0 commit comments