-
Notifications
You must be signed in to change notification settings - Fork 452
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
Run Upgrader in a GUI thread #6559
Conversation
ce5f16b
to
8d2ed47
Compare
retest this please |
retest this please |
1 similar comment
retest this please |
ac128e3
to
8f62777
Compare
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.
This PR definitely looks like an improvement.
I've not reviewed the logic, because I don't understand it. I Hope @kozlovsky or @devos50 can do it properly.
I left some comments.
Also, pylint
and coverage checks should be satisfied.
655ee35
to
bf30beb
Compare
@drew2a , the remaining lines will be very hard to cover. In fact, this PR increases the coverage - the lines that are shown as non-covered were never covered before (they just count as new lines, because these were extracted from CoreManager). |
bc2dbdf
to
877336e
Compare
e46e571
to
7bef4e4
Compare
7bef4e4
to
6db4c11
Compare
retest this please |
d4625b3
to
6fa367b
Compare
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.
Looks good - all my feedback has been implemented. I just have one suggestion left.
Before merging, please make sure the pylint errors are fixed 👍
6fa367b
to
657298d
Compare
657298d
to
3b4cb1a
Compare
Kudos, SonarCloud Quality Gate passed! 0 Bugs No Coverage information |
Partially fixes #6525
This one moves some of the functions of Core Manager into the new Upgrade Manager class. The upgrader is now run in a GUI QThread for simplicity. Also, this changes
run_tribler.py
to use arguments instead of environment variables to indicate the running mode (Core vs GUI vs Core Test Mode). Arguments are safer and unambiguous.The main point of this PR is to stop sending event notifications from the Core from upgrader and thus pave the road for simplification of Tribler startup.
Upgrade Manager is briefly run during GUI tests, quitting when not able to find an existing Tribler state dir. This is not a real test, but at least it covers all the relevant lines. The downside is that when running single tests from the GUI suite waiting for additional time could be a bit annoying.
Simplification of GUI tests uncovered some hidden race conditions, which required minor fixes.