The concurrent tests (tests using the ConcurrentTestRunner from
geode-concurrency-test) are currently blocking both of my PRs.

1st PR is upgrading Mockito -- several Concurrent Tests use Mockito but the
runner executes too many tests in parallel and Mockito can't keep up with
it -- they hit OOME and hang the PR job

2nd PR is changing Cache.close() to block -- same as above except that
Mockito isn't upgraded in this PR

Other devs have recommended that I move the concurrent tests to a new src
set for various reasons -- such as: these tests try very hard to use all
CPUs even when running in parallel and most of them take several minutes to
run, and now they're blocking changes like upgrading Mockito. But creating
a new src set and new CI job is also a huge headache and I really don't
want to do it.

Anyone else up for moving them to new src sets? Unfortunately, this alone
won't make the tests work with the newer versions of Mockito -- and guess
what, they only OOME in the cloud (not locally).

Should I disable these tests?

Should I remove the use of ConcurrentTestRunner from these tests
(converting them to simple junit tests)?

I spent some time studying ConcurrentTestRunner and I'm sorry, but I don't
really see the value in this runner, which is why I want to remove the use
of it and convert these tests to plain junit tests.

I also already tried changing the tests to use Mockito features stubOnly,
resetMocks, and clearInlineMocks -- these changes prevented OOME in
HARegionQueueIntegrationTest which was the only
non-ConcurrentTestRunner-test that had problems with upgrading Mockito.
Unfortunately these changes have done nothing to improve the running of
the ConcurrentTestRunner tests.

Related Mockito links:
* https://code.google.com/archive/p/mockito/issues/84
* https://github.com/mockito/mockito/issues/1825

-Kirk

Reply via email to