You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Dan Smith (JIRA)" <ji...@apache.org> on 2017/09/25 23:19:00 UTC
[jira] [Resolved] (GEODE-3702) New framework for concurrency
testing
[ https://issues.apache.org/jira/browse/GEODE-3702?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dan Smith resolved GEODE-3702.
------------------------------
Resolution: Fixed
Fix Version/s: 1.3.0
> New framework for concurrency testing
> -------------------------------------
>
> Key: GEODE-3702
> URL: https://issues.apache.org/jira/browse/GEODE-3702
> Project: Geode
> Issue Type: Improvement
> Components: tests
> Reporter: Dan Smith
> Assignee: Dan Smith
> Fix For: 1.3.0
>
>
> From the mailing list discussion:
> I'd like to propose two things:
> 1) We introduce a framework for writing unit tests of code that is
> supposed to be thread safe. This framework should let a developer
> easily write a test with multiple things going on in parallel. The
> framework can then take that code and try to run it with different
> thread interleavings.
> Here's an example of what this could look like:
> @RunWith(ConcurrentTestRunner.class)
> public class AtomicIntegerTest {
> @Test
> public void parallelIncrementReturns2(ParallelExecutor executor)
> throws ExecutionException, InterruptedException {
> AtomicInteger atomicInteger = new AtomicInteger();
> executor.inParallel(() -> atomicInteger.incrementAndGet());
> executor.inParallel(() -> atomicInteger.incrementAndGet());
> executor.execute();
> assertEquals(2, atomicInteger.get());
> }
> 2) We implement this framework initially using Java Pathfinder, but
> allow for other methods of testing the code to be plugged in for
> example just running the test in the loop. Java pathfinder is cool
> because it can run the code with different interleavings but it does
> have some serious limitations.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)