[ 
https://issues.apache.org/jira/browse/GEODE-3702?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dan Smith reassigned GEODE-3702:
--------------------------------

    Assignee: Dan Smith

> 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
>
> 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)

Reply via email to