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:
> 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.

> 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.

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


Back to the top