-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Merge tests/
and src/tests
to improve build times
#7147
Comments
If someone picks it up, don't forget to edit CONTRIBUTING.md afterwards since it includes the current setup of test directories. |
I tried doing this by moving the |
Hello @rgwood , how are you? |
Hi, that would be great if you want to take a look at this thanks. I was building that on Linux, if you’re on macOS that might explain the difference. Also this was a while ago and Nushell has changed since. I believe dataframes were enabled by default at the time and they are no longer. |
@rgwood is this still needed? |
It would still be nice to not have to build two binaries, even if the binaries are a lot smaller these days. |
@devyn great, thank you, first time contributing here. I'm trying to do it. I will open a draft pull request as soon as I moved all the tests. |
@devyn please check the PR, if it is ok or require other changes |
This PR should close #7147 # Description Merged src/tests into /tests to produce a single binary. ![image](https://github.com/nushell/nushell/assets/94604837/84726469-d447-4619-b6d1-2d1415d0f42e) # User-Facing Changes No user facing changes # Tests + Formatting Moved tests. Tollkit check pr pass. # After Submitting --------- Co-authored-by: Ian Manske <[email protected]>
This PR should close nushell#7147 # Description Merged src/tests into /tests to produce a single binary. ![image](https://github.com/nushell/nushell/assets/94604837/84726469-d447-4619-b6d1-2d1415d0f42e) # User-Facing Changes No user facing changes # Tests + Formatting Moved tests. Tollkit check pr pass. # After Submitting --------- Co-authored-by: Ian Manske <[email protected]>
The Problem
cargo test
is extremely slow to build, especially when dataframes are enabled. It builds multiple executables+DLLs and links dependencies into each one:Proposed Solution
We should find ways to cut down on the number of distinct binaries built when running tests.
One place to start: merge the multiple
nu-*
binaries into 1. I believe that the 2 separatedeps/nu-*
files in the screenshot above correspond to the tests intests/
andsrc/tests
; we should be able to refactor those tests so they live in the same directory and get compiled into 1 binary instead of 2.Related reading
https://endler.dev/2020/rust-compile-times/#combine-all-integration-tests-in-a-single-binary
The text was updated successfully, but these errors were encountered: