@@ -60,3 +60,30 @@ func TestUpgrade(t *testing.T) {
60
60
require .NoError (t , err )
61
61
require .Equal (t , string (stdout ), "\n " )
62
62
}
63
+
64
+ func TestUpgradeUsingLibraryWithInvalidVersion (t * testing.T ) {
65
+ env , cli := integrationtest .CreateArduinoCLIWithEnvironment (t )
66
+ defer env .CleanUp ()
67
+
68
+ _ , _ , err := cli .Run ("update" )
69
+ require .NoError (t , err )
70
+
71
+ // Install latest version of a library
72
+ _ , _ , err = cli .Run ("lib" , "install" , "WiFi101" )
73
+ require .NoError (t , err )
74
+
75
+ // Verifies library is not shown
76
+ stdout , _ , err := cli .Run ("outdated" )
77
+ require .NoError (t , err )
78
+ require .NotContains (t , string (stdout ), "WiFi101" )
79
+
80
+ // Changes the version of the currently installed library so that it's invalid
81
+ libPath := cli .SketchbookDir ().Join ("libraries" , "WiFi101" , "library.properties" )
82
+ err = libPath .WriteFile ([]byte ("name=WiFi101\n version=1.0001" ))
83
+ require .NoError (t , err )
84
+
85
+ // Verifies library gets upgraded
86
+ stdout , _ , err = cli .Run ("upgrade" )
87
+ require .NoError (t , err )
88
+ require .Contains (t , string (stdout ), "WiFi101" )
89
+ }
0 commit comments