@@ -176,6 +176,34 @@ TEST(ToolchainTestGroup, VerifyToolchain_PathContainsDir) {
176
176
CHECK_TRUE (verified_toolchains.empty ());
177
177
}
178
178
179
+ TEST (ToolchainTestGroup, VerifyToolchain_LockedFolder) {
180
+ std::error_code err;
181
+ fs::permissions (fs::current_path () / " toolchains" / " gcc" , fs::perms::none,
182
+ err);
183
+ if (err) {
184
+ FAIL_TEST (" Could not set file permissions" );
185
+ }
186
+
187
+ buildcc::base::Toolchain gcc (buildcc::base::Toolchain::Id::Gcc, " gcc" , " as" ,
188
+ " gcc" , " g++" , " ar" , " ld" );
189
+
190
+ buildcc::base::VerifyToolchainConfig config;
191
+ config.env_vars .clear ();
192
+ config.absolute_search_paths .push_back (
193
+ (fs::current_path () / " toolchains" / " gcc" ).string ());
194
+
195
+ std::vector<buildcc::base::VerifiedToolchain> verified_toolchains =
196
+ gcc.Verify (config);
197
+ UT_PRINT (std::to_string (verified_toolchains.size ()).c_str ());
198
+ CHECK_TRUE (verified_toolchains.empty ());
199
+
200
+ fs::permissions (fs::current_path () / " toolchains" / " gcc" , fs::perms::all,
201
+ err);
202
+ if (err) {
203
+ FAIL_TEST (" Could not set file permissions" );
204
+ }
205
+ }
206
+
179
207
int main (int ac, char **av) {
180
208
buildcc::env::m::VectorStringCopier copier;
181
209
mock ().installCopier (TEST_VECTOR_STRING_TYPE, copier);
0 commit comments