Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nunit-console and nunit-agent to support longPathAware #1367

Closed
poklau opened this issue Oct 17, 2023 · 6 comments · Fixed by #1368 or #1419
Closed

nunit-console and nunit-agent to support longPathAware #1367

poklau opened this issue Oct 17, 2023 · 6 comments · Fixed by #1368 or #1419
Assignees
Milestone

Comments

@poklau
Copy link

poklau commented Oct 17, 2023

It looks like NUnit console does not support tests with file path exceed MAX_PATH as per document here.

This should be as simple as making it long-path aware like this in app.manifest:

<application xmlns="urn:schemas-microsoft-com:asm.v3">
    <windowsSettings xmlns:ws2="http://schemas.microsoft.com/SMI/2016/WindowsSettings">
        <ws2:longPathAware>true</ws2:longPathAware>
    </windowsSettings>
</application>
@manfred-brands
Copy link
Member

It depends. If all libraries use with oath can handle them. I don't know if .NET Framework was ever updated

@OsirisTerje OsirisTerje transferred this issue from nunit/nunit Oct 17, 2023
poklau pushed a commit to poklau/nunit-console that referenced this issue Oct 20, 2023
@CharliePoole CharliePoole self-assigned this Jun 5, 2024
@CharliePoole
Copy link
Collaborator

CharliePoole commented Jun 7, 2024

@OsirisTerje @manfred-brands @poklau
I could finish the PR by merging it into the correct branch but I don't feel confident enough about what this is doing.

If changing the manifest makes an application long-path-aware, that's great. If, as I suspect, it merely tells the runtime that we are long-path-aware, then we need to make sure that's true before changing the manifests. Can anyone shed light on this?

FWIW, I see this as similar to our Parallelizable attribute, which simply promises that the test can safely be parallelized but doesn't make it work in case it can't. :-)

@poklau
Copy link
Author

poklau commented Jun 10, 2024

@CharliePoole
I have a locally built binaries that using this for the last 6 months and it's been supporting long-path as expected so far.

Not sure how I can create a test to cover this.

@CharliePoole
Copy link
Collaborator

That's good enough for me. :-)

@CharliePoole CharliePoole added the Porting Porting a fix to another version branch label Jun 11, 2024
CharliePoole added a commit that referenced this issue Jun 11, 2024
@CharliePoole
Copy link
Collaborator

Merging this into version4 failed, probably because it has gotten a bit out of date. As this is simple, I'll just redo it in both main and version4.

@CharliePoole CharliePoole added PortToVersion4 Version 3 change needs to be ported to the version 4 code in main and removed Porting Porting a fix to another version branch labels Jun 12, 2024
@CharliePoole
Copy link
Collaborator

@poklau Actually, the merge of your PR turns out to have failed for an unrelated reason: one of the dependencies in our myget feed no longer existed, having been automatically purged. I fixed it along with applying your changes.

@CharliePoole CharliePoole added Enhancement and removed PortToVersion4 Version 3 change needs to be ported to the version 4 code in main labels Jun 12, 2024
@CharliePoole CharliePoole added this to the 3.18 milestone Jun 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants