-
Notifications
You must be signed in to change notification settings - Fork 320
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
fix(resolve_exe): allow shutil.which() to find exe without suffix in Windows #2408
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## develop #2408 +/- ##
=========================================
+ Coverage 68.4% 76.3% +7.9%
=========================================
Files 294 294
Lines 59390 59803 +413
=========================================
+ Hits 40652 45664 +5012
+ Misses 18738 14139 -4599
|
ebc08f4
to
0f19836
Compare
@martclanor there was an issue with the latest executables release, which is what gets installed for all these CI jobs. I deleted the release while we figure it out. If you restart I think the CI should pass now. |
ba9a028
to
1ea2e19
Compare
c3b2208
to
391c4d8
Compare
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.
thanks @martclanor and sorry it took so long to get ci running again
This PR aims to address an issue found in local testing in
Windows
withPython 3.13.1
. The issue is seen in the failing test:test_mbase.py::test_run_model_exe_rel_path
and is caused by a behavior change inshutil.which
(in Windows) introduced in python/cpython#127035.For more context, in
test_run_model_exe_rel_path
, the mf6 executable is copied to a relative path,../bin/mf6
(without extension). Within the test,shutil.which
is used to locate the executable path. However, with the new changes inshutil.which
, by default, it would only search for the path with an extension inPATHEXT
, excluding paths without extension.