-
-
Notifications
You must be signed in to change notification settings - Fork 19.3k
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
🧑💻Improve make tests-all-local #27040
🧑💻Improve make tests-all-local #27040
Conversation
@thisiskeithb would you be able to test this on macOS to make sure I haven't broken your workflow while fixing my own? |
There are apparently some more changes I need to make. I think I edited some other files that I forgot to check in. |
I've not had good luck with running most of Marlin's scripts, so I usually send them off to GitHub and let CI handled them. I still have the same Once I make
Running
I documented some of these issues & potential fixes in #26904 (comment), but it would be really handy if there was a set of instructions somewhere that had the list of prerequisites on what all needs to be installed / set to executable or automate it so this process is easier. Tested on macOS Monterey |
After your latest commits... Success!
Tested on macOS Monterey |
Thanks for testing it out, and I'm glad we could fix the macOS failure! |
* Sleep 5 seconds between platforms * Inform users if they need to install pyyaml * Fix old workflow name * Skip linux_native on Darwin
Description
This resolves several issues encountered when running
make tests-all-local
. These were found when operating inside Windows Subsystem for Linux, but likely impacted other development environments as well:Tests continued after failing a TEST_TARGET. This made it difficult to notice when a failure occurred. By adding a test for status and an exit(1) call on failure, the test sequence now stops as soon as a failure occurs.
PlatformIO frequently failed to transition from one test target to the next, with errors indicating missing frameworks. This seems to be resolved by adding a 5 second delay when transitioning from one TEST_TARGET to the next.
Test the local Python to ensure
pyyaml
is available. If not, instruct user how to install it.I chose not to install it automatically, since this is the user's default Python and not a virtual environment.
Fix broken file reference, and do not require Python files to be made executable to work.
Requirements
make
and other Marlin dependencies installedmake tests-all-local
from the command lineBenefits
Simplified running compilation tests locally to test changes outside of a PR.