-
Notifications
You must be signed in to change notification settings - Fork 152
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
Re-implement Reload in the engine #610
Conversation
Not sure why the Azure build is failing... seems unrelated. |
The implementation of Reload works in this PR provided a reload is possible. However, if settings are changed that cause it to require a different runner, the Reload will fail. For example, if you were to change the target runtime from .NET 2.0 to 4.5, while running in a separate process, the existing process would not be able to load the tests. This makes the caller responsible for knowing whether it's possible to do a reload. That's how the GUI does it, by recognizing cases like the above that require an Unload / Load rather than a Reload. I'm not sure this is a very good API however. Thoughts on how we should do this? |
@CharliePoole It is unrelated. I just triggered a build on master and that also failed. The failure is
which is similar to the problem we had on Appveyor in #556, but there we only solved the problem for mock-assembly.csproj, as this was restored first in |
Here is our existing
In NUnit V2, it is called by So what do we want to do when the user asks us to reload after changing some settings that make it impossible to reuse the same runner? We could do as V2 does or just go ahead and let it error out. |
I added a description of where I'd like to take this next in #609. I'll wait for feedback before proceeding. |
Rebased to take advantage of @mikkelbu 's fix for the travis build. |
I'm not totally keen on merging an implementation that differs so fundamentally from the behaviour we eventually want to implement...even though the current functionality is broken! I assume your aim here is to implement a half-way house, until we can implement the "silent-full-reloads" you describe in #609? If that is the case, I think I'd be more comfortable with implementing a full reload every time for now, and then later enhancing that as a 'performance improvement'. |
Yeah... I actually meant that sentence to indicate that I didn't want to merge this as is, even though it would be an incremental improvement. 😄 I've done some further work, which goes a bit farther than you suggest. Since only the GUI currently uses this API I think it helps to get something in that works for most cases, so that new bugs can be discovered and worked on incrementally. New commit coming "soon." |
Setting this aside for a few days while we move from Croatia to Sicily. |
Hi @CharliePoole - what's the status on this one? 🙂 If I'm reading correctly 'Reload' as a whole was never finished, but priorities have changed. Are we better closing this PR, and revisiting this at a later point? |
@ChrisMaddock I'll put this on my list as the next thing to check (and answer) when I reach a break point on some other work I'm doing. |
Replaced by PR #927 |
Fixes #609