-
Notifications
You must be signed in to change notification settings - Fork 44
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
Comprehensive shared builds tests and related tweaks #1459
Conversation
This is necessary because for shared builds we're never regenerating the configuration, so changes in switches went undetected
3253295
to
b365344
Compare
b365344
to
0051931
Compare
My idea after this PR is to finally enable shared builds and publish the |
|
||
# If mode is "both", track original files for later | ||
if mode == "both": | ||
self.save_working_dir() |
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.
I feel like there must be a "better" way to this.
Maybe @pmderodat if you have a minute to have a look. We want to run all the tests in two different modes, is there a nice way to do this?
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.
While we wait for @pmderodat feedback (I also thought that this is hackish), I will merge provisionally, we can revert/update later if there is a better way.
Hi @mosteo, I give the shared builds a try today and hit a first bump with externals:
I tried again:
And again with
And the last time the build worked! As you can see Alire is complaining once for each external and then it works... |
Curious, I have seen something similar with pins (at their regular location) sporadically, but hadn't managed to reproduce. That stack trace will surely help, thanks. Besides, we shouldn't be creating these folders for system packages... |
I apologize for the large amount of files changed in this PR. It's ugly on the surface but most of it are minor tweaks to the testsuite.
I was wary of only having a few tests for the new shared builds, when the bulk of our testsuite could apply to them too. So, now the default test driver by default runs the test twice, in sandboxed and shared modes (either can be disabled).
This uncovered a few bugs and subtle differences in behaviors between both modes. Besides the bugfixing, I've tried to homogenize these differences to save us maintenance headaches down the road.
The changes that are not bugfixes in this PR are:
build_mode
intest.yaml
(takes either ofboth
,sandboxed
,shared
).compiler_only_index
is available.)