Skip to content
This repository was archived by the owner on Dec 5, 2024. It is now read-only.

1.0RC preparation branch #610

Merged
merged 69 commits into from
Mar 18, 2018
Merged

1.0RC preparation branch #610

merged 69 commits into from
Mar 18, 2018

Conversation

shana
Copy link
Member

@shana shana commented Mar 7, 2018

Includes:

This branch is meant to be a target for accumulating patches to test as a whole while PRs are under review. Any other branches that need the latest code can be based off of this one. Anything that goes into master gets merged into this.

This is not meant for reviewing (unless you want to see everything in one place), but for testing.

shana and others added 30 commits February 19, 2018 17:29
It's useful to have the success of the state in the Finally handler that is
called in-thread (the ITask-based Finally handlers already get this information),
so add that to the callback.

In order for the API not to be confusing, make the task affinity parameter
mandatory on the Finally overloads that run on a separate thread.

Fix the HookupHandlers method to use OnStart/Finally so that the callbacks get
called on the same thread and not spin up new threads just to set flags. They're
already running on non-main threads and doing very simple things so this should
be fine.
Make the downloads in pairs (file and md5) in a downloader
class that can run them all parallel.

I kept getting deadlocks and it's something to do with how the
concurrent scheduler is set up, so replaced it with a scheduler
that just fires a thread per task and does nothing smart about it.
@shana shana changed the title 1.0RC preparation branch - master plus #608 and #609 1.0RC preparation branch Mar 7, 2018
shana added 2 commits March 8, 2018 00:31
Since we aren't embedding the zips in the dll anymore, tests that rely on
them were trying to download things, and that causes timeouts. Embed
the zips in the test assembly so they're available for the tests, and
put them in place when starting up the test web server as well, so they
can be served for downloading tests.
shana and others added 24 commits March 8, 2018 15:51
Most of our objects are singletons that live through the lifetime of the process
(the lifetime being the time between Unity reloading domains whenever it recompiles
or the user enters play mode), we never really worry much about unhooking events
to allow objects to be GC'd and to not raise events on objects that are dead.
In our tests, however, that's a problem, since we're not reloading the domain and
killing all the things between one test and the other, which means events can
definitely leak and may cause problems.

This makes sure we break event loops so that tests don't trample all over each
other. It's not a thorough audit of everything that we need to dispose, but it's
a start.
It's a good opportunity to validate the cache when the view asks
whether there's more up to date data, otherwise views will never
get updated data if the cache is invalid already.
…things

Make sure events are unhooked when we're disposing so they don't leak
…refresh

Cache refresh fixes for 1.0rc/master
@shana shana merged commit 146a781 into master Mar 18, 2018
@shana shana deleted the 1.0rc/master branch May 14, 2018 20:36
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants