-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
don't run LongModuleFileNamesAreSupported test on x86 #57471
Merged
Merged
Changes from 2 commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
80392a9
don't run LongModuleFileNamesAreSupported test on x86 (for some reaso…
adamsitnik 97c2857
apply code review suggestion
adamsitnik ee99091
ensure type called "Interop" has no namespace, so Interop files from …
adamsitnik 14c02bc
try JanK suggestion and use LoadLibrary instead of Assembly.LoadFile
adamsitnik 487748d
don't try to check module file path if we can't load the module itsel…
adamsitnik File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We're confident this is an OS limitation rather than a product or test bug?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My guess is that we end up taking a fallback path in the assembly loader on x86 for some reason. The assembly loader has number of fallback paths for historic reasons to compensate for OS and compiler issues.
The assembly loader behavior that this test depends on is not guaranteed. The test is disabled on Mono for this reason. If once we enable these tests in single-file or NativeAOT modes, the test may need to be disabled for those configurations as well.
It would be better if the test came with its own .dll and called
LoadLibrary
on it. Then it can depend on that the library has to show up in the list.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jkotas I've followed your suggestion and used
LoadLibrary
directly. On one of the x86 CI legs it fails withERROR_MOD_NOT_FOUND
:I can't repro it locally and find out which module is missing (this is just a lib with a single class). Since this test is basically best effort to test long paths support for process module file paths, would it be OK to just skip the test on
ERROR_MOD_NOT_FOUND
on x86?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I think it is ok to skip the test when LoadLibrary fails to load the module with the long file name. My guess is that the long paths are not properly enabled on the system when it happens.