16
16
package update_test
17
17
18
18
import (
19
+ "strings"
19
20
"testing"
20
21
21
22
"github.com/arduino/arduino-cli/internal/integrationtest"
@@ -31,3 +32,39 @@ func TestUpdate(t *testing.T) {
31
32
require .Contains (t , string (stdout ), "Downloading index: package_index.tar.bz2 downloaded" )
32
33
require .Contains (t , string (stdout ), "Downloading index: library_index.tar.bz2 downloaded" )
33
34
}
35
+
36
+ func TestUpdateShowingOutdated (t * testing.T ) {
37
+ env , cli := integrationtest .CreateArduinoCLIWithEnvironment (t )
38
+ defer env .CleanUp ()
39
+
40
+ // Updates index for cores and libraries
41
+ _ , _ , err := cli .Run ("core" , "update-index" )
42
+ require .NoError (t , err )
43
+ _ , _ , err = cli .Run ("lib" , "update-index" )
44
+ require .NoError (t , err )
45
+
46
+ // Installs an outdated core and library
47
+ _ , _ , err = cli .Run ("core" , "install" , "arduino:avr@1.6.3" )
48
+ require .NoError (t , err )
49
+ _ , _ , err = cli .Run ("lib" , "install" , "USBHost@1.0.0" )
50
+ require .NoError (t , err )
51
+
52
+ // Installs latest version of a core and a library
53
+ _ , _ , err = cli .Run ("core" , "install" , "arduino:samd" )
54
+ require .NoError (t , err )
55
+ _ , _ , err = cli .Run ("lib" , "install" , "ArduinoJson" )
56
+ require .NoError (t , err )
57
+
58
+ // Verifies outdated cores and libraries are printed after updating indexes
59
+ stdout , _ , err := cli .Run ("update" , "--show-outdated" )
60
+ require .NoError (t , err )
61
+ lines := strings .Split (string (stdout ), "\n " )
62
+ for i := range lines {
63
+ lines [i ] = strings .TrimSpace (lines [i ])
64
+ }
65
+
66
+ require .Contains (t , lines [0 ], "Downloading index: package_index.tar.bz2 downloaded" )
67
+ require .Contains (t , lines [1 ], "Downloading index: library_index.tar.bz2 downloaded" )
68
+ require .True (t , strings .HasPrefix (lines [3 ], "Arduino AVR Boards" ))
69
+ require .True (t , strings .HasPrefix (lines [6 ], "USBHost" ))
70
+ }
0 commit comments