-
-
Notifications
You must be signed in to change notification settings - Fork 99
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
cargo nextest run --workspace
fails with DLL missing if a macro lib exists
#1493
cargo nextest run --workspace
fails with DLL missing if a macro lib exists
#1493
Comments
|
Thanks for the issue. Are you using rustup-installed cargo? I believe this is the same as or similar to #267. We should definitely fix this at some point, but this hasn't been a problem at my workplace so I don't think I'll personally get to it any time soon. This comment captures the scope of work that needs to be done: #267 (comment) -- as mentioned there, I'd estimate around 16-24 hours of work for a motivated contributor. I'd love it if you were interested in fixing this! Meanwhile you can try adding the directory where the standard library DLL exists to your PATH, and see if that works. (On macOS the env var is DYLD_LIBRARY_PATH, and on Linux/others the env var is LD_LIBRARY_PATH.) |
Yes, exactly.
Let me check the details and decide whether I will have time to come up with a patch. I only have Windows and Linux machines, so probably can't test if things will break for Mac. |
Actually I can't even run test for nextest
Let me downgrade my cargo binary first. |
The following patch will fix the issue for me on my machine:
so I would be happy to create the patch. However, I am confused about #267 (comment), and am wondering if you can answer making it clear to me?
Thanks. |
After going over the code base, my plan is:
To initialize the new
For
In addition, we also use the same technique used in WDYT? |
This problem appeared recently in GitHub Actions CI and I still cannot figure out why it happened. Downgrading/pinning nextest does not help, downgrading Rust from 1.78 to 1.77 also does not help. It worked with Rust 1.77 recently, about week or two ago, and there have been no nextest releases for the last two weeks. Pinning CI runner to windows-2019 instead of windows-latest also did not help. Wonder why this problem started to appear now. |
@06393993 thank you for digging in! Your plan looks really solid and pretty close to what I'd have done.
I wouldn't worry too much about it -- we don't really guarantee cross-version compat for archives. |
This seems to be caused by a change in a default in rustup 1.27.1 rust-lang/rustup#3703 changed the default of the env var |
@cwfitzgerald thanks, good catch! That would definitely cause this. I think this should likely be fixed in nextest. The plan @06393993 described should address this. |
This is a workaround for <nextest-rs/nextest#1493>
This is a workaround for <nextest-rs/nextest#1493>
This is a workaround for <nextest-rs/nextest#1493>
Why is libstd getting dynamically linked? Proc macros statically link libstd under normal circumstances. |
I think that is true of proc macros, but not of test binaries for proc-macro crates. |
This sets the `RUSTUP_WINDOWS_PATH_ADD_BIN` environment variable in the multi-platform test job, to work around nextest-rs/nextest#1493 which is keeping the test runner from working on Windows. See also ruffle-rs/ruffle#16342, which gave the idea for this, and various other projects that have made such changes, linked inhttps://github.com/nextest-rs/nextest/issues/1493.
This sets the `RUSTUP_WINDOWS_PATH_ADD_BIN` environment variable in the multi-platform test job, to work around nextest-rs/nextest#1493 which is keeping the test runner from working on Windows. See also ruffle-rs/ruffle#16342, which gave the idea for this, and various other projects that have made such changes, linked in nextest-rs/nextest#1493.
... to WA nextest-rs#1493 for the "Test with latest nextest release" step on Windows temporarily.
... to WA nextest-rs#1493 for the "Test with latest nextest release" step on Windows temporarily.
... to WA nextest-rs#1493 for the "Test with latest nextest release" step on Windows temporarily.
<!-- Thank you for contributing to Ruff! To help us out with reviewing, please consider the following: - Does this pull request include a summary of the change? (See below.) - Does this pull request include a descriptive title? - Does this pull request include references to any relevant issues? --> ## Summary The recent issues with the windows CI seem to be caused by nextest-rs/nextest#1493. With this nextest-rs/nextest#1493 (comment) as a fix. (Let's see if it works)
It seems to be caused by nextest-rs/nextest#1493, with this comment as a fix: nextest-rs/nextest#1493 (comment)
It's currently failing when running tests with errors of the form: > error: creating test list failed > > Caused by: > for `wezterm-config-derive`, command > `'D:\a\wezterm\wezterm\target\debug\deps\wezterm_config_derive-f1c7f0f2de220b6e.exe' > --list --format terse` exited with code 0xc0000135: The specified > module could not be found. (os error 126) This seems to have been caused by nextest-rs/nextest#1493, with this comment as a fix: nextest-rs/nextest#1493 (comment)
It's currently failing when running tests with errors of the form: > error: creating test list failed > > Caused by: > for `wezterm-config-derive`, command > `'D:\a\wezterm\wezterm\target\debug\deps\wezterm_config_derive-f1c7f0f2de220b6e.exe' > --list --format terse` exited with code 0xc0000135: The specified > module could not be found. (os error 126) This seems to have been caused by nextest-rs/nextest#1493, with this comment as a fix: nextest-rs/nextest#1493 (comment)
It's currently failing when running tests with errors of the form: > error: creating test list failed > > Caused by: > for `wezterm-config-derive`, command > `'D:\a\wezterm\wezterm\target\debug\deps\wezterm_config_derive-f1c7f0f2de220b6e.exe' > --list --format terse` exited with code 0xc0000135: The specified > module could not be found. (os error 126) This seems to have been caused by nextest-rs/nextest#1493, with this comment as a fix: nextest-rs/nextest#1493 (comment)
Workaround for issue in nextest caused by a change in rustup: nextest-rs/nextest#1493 Fixes: ``` error: creating test list failed Caused by: for `vector-config-macros`, command `'C:\a\vector\vector\target\debug\deps\vector_config_macros-4fc11cf764d99dff.exe' --list --format terse` exited with code 0xc0000135: The specified module could not be found. (os error 126) ``` Signed-off-by: Jesse Szwedko <jesse.szwedko@datadoghq.com>
Workaround for issue in nextest caused by a change in rustup: nextest-rs/nextest#1493 Fixes: ``` error: creating test list failed Caused by: for `vector-config-macros`, command `'C:\a\vector\vector\target\debug\deps\vector_config_macros-4fc11cf764d99dff.exe' --list --format terse` exited with code 0xc0000135: The specified module could not be found. (os error 126) ``` Signed-off-by: Jesse Szwedko <jesse.szwedko@datadoghq.com>
... to WA #1493 for the "Test with latest nextest release" step on Windows temporarily.
Going to finish this up and post about it in #267. |
cargo-nextest 0.9.72 should include the fix for this -- it'll be out shortly, so please try it out! |
Should resolve nextest-rs/nextest#1493 Signed-off-by: Jesse Szwedko <jesse.szwedko@datadoghq.com>
Should resolve nextest-rs/nextest#1493 Signed-off-by: Jesse Szwedko <jesse.szwedko@datadoghq.com>
Workaround for issue in nextest caused by a change in rustup: nextest-rs/nextest#1493 Fixes: ``` error: creating test list failed Caused by: for `vector-config-macros`, command `'C:\a\vector\vector\target\debug\deps\vector_config_macros-4fc11cf764d99dff.exe' --list --format terse` exited with code 0xc0000135: The specified module could not be found. (os error 126) ``` Signed-off-by: Jesse Szwedko <jesse.szwedko@datadoghq.com>
Should resolve nextest-rs/nextest#1493 Signed-off-by: Jesse Szwedko <jesse.szwedko@datadoghq.com>
It's currently failing when running tests with errors of the form: > error: creating test list failed > > Caused by: > for `wezterm-config-derive`, command > `'D:\a\wezterm\wezterm\target\debug\deps\wezterm_config_derive-f1c7f0f2de220b6e.exe' > --list --format terse` exited with code 0xc0000135: The specified > module could not be found. (os error 126) This seems to have been caused by nextest-rs/nextest#1493, with this comment as a fix: nextest-rs/nextest#1493 (comment)
Workaround for issue in nextest caused by a change in rustup: nextest-rs/nextest#1493 Fixes: ``` error: creating test list failed Caused by: for `vector-config-macros`, command `'C:\a\vector\vector\target\debug\deps\vector_config_macros-4fc11cf764d99dff.exe' --list --format terse` exited with code 0xc0000135: The specified module could not be found. (os error 126) ``` Signed-off-by: Jesse Szwedko <jesse.szwedko@datadoghq.com>
Should resolve nextest-rs/nextest#1493 Signed-off-by: Jesse Szwedko <jesse.szwedko@datadoghq.com>
I am using the pre-built cargo-next
0.9.70
from https://get.nexte.st/latest/windows. I am using the latestcargo
1.78.0
.Note that this issue doesn't exist on cargo 1.70.0 with the same
cargo-nextest
binary.This can be reproduced by the following file structure:
Cargo.toml
hello_macro/Cargo.toml
hello_macro/src/lib.rs
is an empty file.hello_world/Cargo.toml
hello_world/src/main.rs
The text was updated successfully, but these errors were encountered: