@@ -368,3 +368,41 @@ func TestList(t *testing.T) {
368
368
// be sure data contains the correct provides_includes field
369
369
requirejson .Query (t , stdout , ".[0] | .library | .provides_includes | .[0]" , "\" Arduino_APDS9960.h\" " )
370
370
}
371
+
372
+ func TestListExitCode (t * testing.T ) {
373
+ env , cli := integrationtest .CreateArduinoCLIWithEnvironment (t )
374
+ defer env .CleanUp ()
375
+
376
+ // Init the environment explicitly
377
+ _ , _ , err := cli .Run ("core" , "update-index" )
378
+ require .NoError (t , err )
379
+
380
+ _ , _ , err = cli .Run ("core" , "list" )
381
+ require .NoError (t , err )
382
+
383
+ // Verifies lib list doesn't fail when platform is not specified
384
+ _ , stderr , err := cli .Run ("lib" , "list" )
385
+ require .NoError (t , err )
386
+ require .Empty (t , stderr )
387
+
388
+ // Verify lib list command fails because specified platform is not installed
389
+ _ , stderr , err = cli .Run ("lib" , "list" , "-b" , "arduino:samd:mkr1000" )
390
+ require .Error (t , err )
391
+ require .Contains (t , string (stderr ), "Error listing Libraries: Unknown FQBN: platform arduino:samd is not installed" )
392
+
393
+ _ , _ , err = cli .Run ("lib" , "install" , "AllThingsTalk LoRaWAN SDK" )
394
+ require .NoError (t , err )
395
+
396
+ // Verifies lib list command keeps failing
397
+ _ , stderr , err = cli .Run ("lib" , "list" , "-b" , "arduino:samd:mkr1000" )
398
+ require .Error (t , err )
399
+ require .Contains (t , string (stderr ), "Error listing Libraries: Unknown FQBN: platform arduino:samd is not installed" )
400
+
401
+ _ , _ , err = cli .Run ("core" , "install" , "arduino:samd" )
402
+ require .NoError (t , err )
403
+
404
+ // Verifies lib list command now works since platform has been installed
405
+ _ , stderr , err = cli .Run ("lib" , "list" , "-b" , "arduino:samd:mkr1000" )
406
+ require .NoError (t , err )
407
+ require .Empty (t , stderr )
408
+ }
0 commit comments