Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tycho-dev] Long path names in Tycho integration test execution

Igor Fedorenko wrote:
> On 12-08-24 8:45 AM, Oberlies, Tobias wrote:
> > Igor Fedorenko wrote:
> >> Adding parameter to getVerifier is unlikely to solve the problem. I
> >> will ask for per-test-method project basedir as a matter of course
> >> for the tests I write, this will break on windows in some/many
> >> cases, and we'll have to negotiate each test. Not fun.
> > The default would be to use a basedir that is only based on the
> > project name. And in the cases where this isn't enough, e.g. because
> > the same project is used by multiple tests, you could add an extra
> > name segment (e.g. a number). Then the paths would still be short
> > enough for Windows.
> >
> 
> How many tests fail due to long path names?

Before I fiddled around with my local setup, the MetaRequirementsTest was failing. Now I wanted to change my local setup which will require longer paths again, so I'll probably run into that failure again. I know that we could shorten the method names of that one test, but its Friday so I thought I might find a longer lasting solution.

> 
> >> I also remember that at least some windows flavours supported 32K
> >> long names. Is there no way to use this from Java? I mean, it's
> >> 2012 if my linux calendar is to trust, restricting names to <300 is
> >> kinda odd :-)
> > I looked a little further into this and it is... *drum roll*...
> > java.exe that causes the problem. In case the support for
> > meta-requirements/custom touchpoints is activated, the DirectorMojo
> > forks a java process. That process fails with "Unable to access
> > jarfile" because the JAR file path is too long. I can convince the
> > java.exe to take the long path by calling "java.exe -jar \\?\<long
> > path name>" (which is the syntax for long path names in the Windows
> > API), but having to specify this myself seems like a hack. >
> 
> 
> We can make this part of plexus-util Commandline. wdyt?

I also considered this option. The most recent plexus-util 3.0.4 doesn't seem to have this yet, at least not in org.codehaus.plexus.util.cli.Commandline.Argument.setFile(File) File to String conversion is done.

This would definitely be a pragmatic solution, but is correct and/or safe to precede all long paths with \\?\ on in Windows command line calls? Let's see if someone else on the Internet knows this: http://stackoverflow.com/q/12110285/1523648 ;-)

Regards
Tobias


> --
> Regards,
> Igor
> 
> 
> > Regards
> > Tobias
> >
> >
> >
> >
> >
> >> --
> >> Regards,
> >> Igor
> >>
> >> On 12-08-24 7:02 AM, Oberlies, Tobias wrote:
> >>> I'm running the Tycho integration test (for qualification of my own
> >>> commits) on my development PC, which is running Windows. I'm seeing
> >>> problems with long path names, and I've identified removing the
> "<class
> >>> name>/<method name>/" in the path generated by getVerifier as a
> >>> candidate for addressing this problem.
> >>> @Igor: You explicitly introduced the "<class name>/<method name>/" in
> >>> commit _943d074359265c050e5da6aec1d18cd75cd07c51_
> >>>
> >>
> <http://git.eclipse.org/c/tycho/org.eclipse.tycho.git/commit/?id=943d07435
> >> 9265c050e5da6aec1d18cd75cd07c51>.
> >>> Do you remember which tests need this change?
> >>> In the same change, you touched the tests
> >>> RecoveryAfterCorruptArtifactDownloadsTest and
> >>> TargetRestrictionThroughTargetFilesTest and both use the same test
> >>> project twice, but the former does this in the same test method, so
> >>> there is no gain.
> >>> How about adding an extra parameter to getVerifier instead that allows
> >>> to insert something in the path in the target folder instead?
> >>> Regards
> >>> Tobias
> >>>
> >>>
> >>> _______________________________________________
> >>> tycho-dev mailing list
> >>> tycho-dev@xxxxxxxxxxx
> >>> https://dev.eclipse.org/mailman/listinfo/tycho-dev
> >>>
> >> _______________________________________________
> >> tycho-dev mailing list
> >> tycho-dev@xxxxxxxxxxx
> >> https://dev.eclipse.org/mailman/listinfo/tycho-dev
> > _______________________________________________
> > tycho-dev mailing list
> > tycho-dev@xxxxxxxxxxx
> > https://dev.eclipse.org/mailman/listinfo/tycho-dev
> >
> _______________________________________________
> tycho-dev mailing list
> tycho-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/tycho-dev


Back to the top