@@ -510,23 +510,55 @@ func TestBoardSearch(t *testing.T) {
510
510
]` )
511
511
}
512
512
513
- func TestBoardAttachWithoutSketchJson (t * testing.T ) {
513
+ func TestBoardAttach (t * testing.T ) {
514
514
env , cli := integrationtest .CreateArduinoCLIWithEnvironment (t )
515
515
defer env .CleanUp ()
516
516
517
- _ , _ , err := cli .Run ("update" )
518
- require .NoError (t , err )
519
-
520
- sketchName := "BoardAttachWithoutSketchJson"
517
+ sketchName := "BoardAttach"
521
518
sketchPath := cli .SketchbookDir ().Join (sketchName )
522
- fqbn := "arduino:avr:uno"
519
+ sketchProjectFlie := sketchPath . Join ( "sketch.yaml" )
523
520
524
521
// Create a test sketch
525
- _ , _ , err = cli .Run ("sketch" , "new" , sketchPath .String ())
522
+ _ , _ , err : = cli .Run ("sketch" , "new" , sketchPath .String ())
526
523
require .NoError (t , err )
527
524
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
+ }
530
562
}
531
563
532
564
func TestBoardSearchWithOutdatedCore (t * testing.T ) {
0 commit comments