[ https://issues.apache.org/jira/browse/MCLEAN-124?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17896205#comment-17896205 ]
ASF GitHub Bot commented on MCLEAN-124: --------------------------------------- slawekjaranowski commented on code in PR #60: URL: https://github.com/apache/maven-clean-plugin/pull/60#discussion_r1832264645 ########## src/test/java/org/apache/maven/plugins/clean/CleanerTest.java: ########## @@ -0,0 +1,183 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.maven.plugins.clean; + +import java.io.IOException; +import java.nio.file.AccessDeniedException; +import java.nio.file.DirectoryNotEmptyException; +import java.nio.file.Path; +import java.nio.file.attribute.PosixFilePermission; +import java.nio.file.attribute.PosixFilePermissions; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import org.apache.maven.plugin.logging.Log; +import org.apache.maven.plugin.testing.SilentLog; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; + +import static java.nio.file.Files.createDirectory; +import static java.nio.file.Files.createFile; +import static java.nio.file.Files.exists; +import static java.nio.file.Files.getPosixFilePermissions; +import static java.nio.file.Files.setPosixFilePermissions; +import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertInstanceOf; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; + +class CleanerTest { + + private boolean warnEnabled; + + /** + * Use a {@code LinkedHashMap} to preserve the order of the logged warnings. + */ + private final Map<CharSequence, Throwable> warnings = new LinkedHashMap<>(); + + /** + * Ideally we should use a mocking framework such as Mockito for this, but alas, this project has no such dependency. Review Comment: you can simply add Mockito to dependencies > Provide more accurate reason when can not delete a resource > ----------------------------------------------------------- > > Key: MCLEAN-124 > URL: https://issues.apache.org/jira/browse/MCLEAN-124 > Project: Maven Clean Plugin > Issue Type: Improvement > Reporter: Slawomir Jaranowski > Priority: Major > > Currently we have only in stack trace something like: > {noformat} > Caused by: java.io.IOException: Failed to delete > /Users/runner/work/maven-surefire/maven-surefire/surefire-its/target > at org.apache.maven.plugins.clean.Cleaner.delete (Cleaner.java:300) > at org.apache.maven.plugins.clean.Cleaner.delete (Cleaner.java:250) > at org.apache.maven.plugins.clean.Cleaner.delete (Cleaner.java:124) > {noformat} > It will be usable if we have reported a reason ... why can not be deleted -- This message was sent by Atlassian Jira (v8.20.10#820010)