@@ -1167,3 +1167,36 @@ func TestInstallZipLibWithMacosMetadata(t *testing.T) {
1167
1167
require .FileExists (t , libInstallDir .Join ("library.properties" ).String ())
1168
1168
require .FileExists (t , libInstallDir .Join ("src" , "fake-lib.h" ).String ())
1169
1169
}
1170
+
1171
+ func TestInstallZipInvalidLibrary (t * testing.T ) {
1172
+ env , cli := integrationtest .CreateArduinoCLIWithEnvironment (t )
1173
+ defer env .CleanUp ()
1174
+
1175
+ // Initialize configs to enable --zip-path flag
1176
+ envVar := cli .GetDefaultEnv ()
1177
+ envVar ["ARDUINO_ENABLE_UNSAFE_LIBRARY_INSTALL" ] = "true"
1178
+ _ , _ , err := cli .RunWithCustomEnv (envVar , "config" , "init" , "--dest-dir" , "." )
1179
+ require .NoError (t , err )
1180
+
1181
+ libInstallDir := cli .SketchbookDir ().Join ("libraries" , "lib-without-header" )
1182
+ // Verifies library is not already installed
1183
+ require .NoDirExists (t , libInstallDir .String ())
1184
+
1185
+ wd , err := paths .Getwd ()
1186
+ require .NoError (t , err )
1187
+ zipPath := wd .Parent ().Join ("testdata" , "lib-without-header.zip" )
1188
+ // Test zip-path install
1189
+ _ , stderr , err := cli .Run ("lib" , "install" , "--zip-path" , zipPath .String ())
1190
+ require .Error (t , err )
1191
+ require .Contains (t , string (stderr ), "library not valid" )
1192
+
1193
+ libInstallDir = cli .SketchbookDir ().Join ("libraries" , "lib-without-properties" )
1194
+ // Verifies library is not already installed
1195
+ require .NoDirExists (t , libInstallDir .String ())
1196
+
1197
+ zipPath = wd .Parent ().Join ("testdata" , "lib-without-properties.zip" )
1198
+ // Test zip-path install
1199
+ _ , stderr , err = cli .Run ("lib" , "install" , "--zip-path" , zipPath .String ())
1200
+ require .Error (t , err )
1201
+ require .Contains (t , string (stderr ), "library not valid" )
1202
+ }
0 commit comments