[ https://issues.apache.org/jira/browse/SUREFIRE-2233?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17806983#comment-17806983 ]
Filipe Roque commented on SUREFIRE-2233: ---------------------------------------- I messed up copying to jira. I have updated the description. the relevant section: {code:java} [WARNING] ForkStarter IOException: Unable to create file for report: /home/froque/workspace/testes/long-filenames/target/surefire-reports/package1.subpackage2.subpackage3.subpackage4.subpackage5.subpackage6.subpackage7.TestWithAVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongFileName.txt (File name too long). See the dump file /home/froque/workspace/testes/long-filenames/target/surefire-reports/2024-01-15T22-47-50_794-jvmRun1.dumpstream {code} > Unable to create file for report (File name too long) > ------------------------------------------------------ > > Key: SUREFIRE-2233 > URL: https://issues.apache.org/jira/browse/SUREFIRE-2233 > Project: Maven Surefire > Issue Type: Bug > Affects Versions: 3.2.5 > Environment: Linux with encripted home using ecryptfs > Reporter: Filipe Roque > Priority: Major > > surefire tries to create report files where the filename includes the package. > On Linux with eCryptfs, it easily fails with _File name too long_ ([What is > the maximum allowed filename (and folder) size with > eCryptfs?|https://unix.stackexchange.com/questions/32795/what-is-the-maximum-allowed-filename-and-folder-size-with-ecryptfs/32834]), > without failing the maven build. > > * Should this error fail the build ? > * What is the solution for this, besides shorter packages and file names, or > non encrypted file systems ? > ** Maybe create sub directories under target/surefire-reports matching the > packages > ** shorten the filename like logback > ([https://logback.qos.ch/manual/layouts.html#conversionWord]) > > *pom.xml* > {code:java} > <?xml version="1.0" encoding="UTF-8"?> > <project xmlns="http://maven.apache.org/POM/4.0.0" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 > http://maven.apache.org/xsd/maven-4.0.0.xsd"> > <modelVersion>4.0.0</modelVersion> > <groupId>org.example</groupId> > <artifactId>long-filenames</artifactId> > <version>1.0-SNAPSHOT</version> > <properties> > <maven.compiler.source>21</maven.compiler.source> > <maven.compiler.target>21</maven.compiler.target> > <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> > </properties> > <dependencies> > <dependency> > <groupId>org.junit.jupiter</groupId> > <artifactId>junit-jupiter-api</artifactId> > <version>5.10.1</version> > <scope>test</scope> > </dependency> > </dependencies> > <build> > <plugins> > <plugin> > <groupId>org.apache.maven.plugins</groupId> > <artifactId>maven-surefire-plugin</artifactId> > <version>3.2.5</version> > </plugin> > </plugins> > </build> > </project> > {code} > {*}src/test/java/package1/subpackage2/subpackage3/subpackage4/subpackage5/subpackage6/subpackage7/TestWithAVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongFileName.java{*}{*}{{*}} > > {code:java} > package > package1.subpackage2.subpackage3.subpackage4.subpackage5.subpackage6.subpackage7; > import org.junit.jupiter.api.Assertions; > import org.junit.jupiter.api.Test; > public class > TestWithAVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongFileName { > @Test > public void test() { > Assertions.assertTrue(true); > } > } > {code} > > > > > {code:java} > ❯ /opt/maven/apache-maven-3.9.5/bin/mvn clean test > [INFO] Scanning for projects... > [INFO] > [INFO] ---------------------< org.example:long-filenames > >--------------------- > [INFO] Building long-filenames 1.0-SNAPSHOT > [INFO] from pom.xml > [INFO] --------------------------------[ jar > ]--------------------------------- > [INFO] > [INFO] --- clean:3.2.0:clean (default-clean) @ long-filenames --- > [INFO] Deleting /home/froque/workspace/testes/long-filenames/target > [INFO] > [INFO] --- resources:3.3.1:resources (default-resources) @ long-filenames --- > [INFO] Copying 0 resource from src/main/resources to target/classes > [INFO] > [INFO] --- compiler:3.11.0:compile (default-compile) @ long-filenames --- > [INFO] Nothing to compile - all classes are up to date > [INFO] > [INFO] --- resources:3.3.1:testResources (default-testResources) @ > long-filenames --- > [INFO] skip non existing resourceDirectory > /home/froque/workspace/testes/long-filenames/src/test/resources > [INFO] > [INFO] --- compiler:3.11.0:testCompile (default-testCompile) @ long-filenames > --- > [INFO] Changes detected - recompiling the module! :source > [INFO] Compiling 1 source file with javac [debug target 21] to > target/test-classes > [INFO] > [INFO] --- surefire:3.2.5:test (default-test) @ long-filenames --- > [INFO] Using auto detected provider > org.apache.maven.surefire.junitplatform.JUnitPlatformProvider > [INFO] > [INFO] ------------------------------------------------------- > [INFO] T E S T S > [INFO] ------------------------------------------------------- > [INFO] Running > package1.subpackage2.subpackage3.subpackage4.subpackage5.subpackage6.subpackage7.TestWithAVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongFileName > [WARNING] ForkStarter IOException: Unable to create file for report: > /home/froque/workspace/testes/long-filenames/target/surefire-reports/package1.subpackage2.subpackage3.subpackage4.subpackage5.subpackage6.subpackage7.TestWithAVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongFileName.txt > (File name too long). See the dump file > /home/froque/workspace/testes/long-filenames/target/surefire-reports/2024-01-15T22-47-50_794-jvmRun1.dumpstream > [INFO] > [INFO] Results: > [INFO] > [INFO] Tests run: 0, Failures: 0, Errors: 0, Skipped: 0 > [INFO] > [INFO] > ------------------------------------------------------------------------ > [INFO] BUILD SUCCESS > [INFO] > ------------------------------------------------------------------------ > [INFO] Total time: 1.564 s > [INFO] Finished at: 2024-01-15T22:47:51Z > [INFO] > ------------------------------------------------------------------------ > {code} > > -- This message was sent by Atlassian Jira (v8.20.10#820010)