@@ -1101,3 +1101,40 @@ func TestLibCommandsWithLibraryHavingInvalidVersion(t *testing.T) {
1101
1101
requirejson .Len (t , stdout , 1 )
1102
1102
requirejson .Query (t , stdout , ".[0] | .library | .version != \" \" " , "true" )
1103
1103
}
1104
+
1105
+ func TestInstallZipLibWithMacosMetadata (t * testing.T ) {
1106
+ env , cli := integrationtest .CreateArduinoCLIWithEnvironment (t )
1107
+ defer env .CleanUp ()
1108
+
1109
+ // Initialize configs to enable --zip-path flag
1110
+ envVar := cli .GetDefaultEnv ()
1111
+ envVar ["ARDUINO_ENABLE_UNSAFE_LIBRARY_INSTALL" ] = "true"
1112
+ _ , _ , err := cli .RunWithCustomEnv (envVar , "config" , "init" , "--dest-dir" , "." )
1113
+ require .NoError (t , err )
1114
+
1115
+ libInstallDir := cli .SketchbookDir ().Join ("libraries" , "fake-lib" )
1116
+ // Verifies library is not already installed
1117
+ require .NoDirExists (t , libInstallDir .String ())
1118
+
1119
+ wd , err := paths .Getwd ()
1120
+ require .NoError (t , err )
1121
+ zipPath := wd .Parent ().Join ("testdata" , "fake-lib.zip" )
1122
+ // Test zip-path install
1123
+ stdout , _ , err := cli .Run ("lib" , "install" , "--zip-path" , zipPath .String ())
1124
+ require .NoError (t , err )
1125
+ require .Contains (t , string (stdout ), "--git-url and --zip-path flags allow installing untrusted files, use it at your own risk." )
1126
+
1127
+ // Verifies library is installed in expected path
1128
+ require .DirExists (t , libInstallDir .String ())
1129
+ require .FileExists (t , libInstallDir .Join ("library.properties" ).String ())
1130
+ require .FileExists (t , libInstallDir .Join ("src" , "fake-lib.h" ).String ())
1131
+
1132
+ // Reinstall library
1133
+ _ , _ , err = cli .Run ("lib" , "install" , "--zip-path" , zipPath .String ())
1134
+ require .NoError (t , err )
1135
+
1136
+ // Verifies library remains installed
1137
+ require .DirExists (t , libInstallDir .String ())
1138
+ require .FileExists (t , libInstallDir .Join ("library.properties" ).String ())
1139
+ require .FileExists (t , libInstallDir .Join ("src" , "fake-lib.h" ).String ())
1140
+ }
0 commit comments