1 package org.apache.maven.surefire.junitcore;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.util.concurrent.CountDownLatch;
23 import java.util.concurrent.ExecutionException;
24 import org.apache.maven.surefire.testset.TestSetFailedException;
25
26 import org.junit.After;
27 import org.junit.Test;
28 import org.junit.runner.Result;
29
30 import static junit.framework.Assert.assertEquals;
31
32
33
34
35
36 public class Surefire813IncorrectResultTest
37 {
38
39 @Test
40 public void dcount()
41 throws TestSetFailedException, ExecutionException
42 {
43 JUnitCoreTester jUnitCoreTester = new JUnitCoreTester();
44 final Result run = jUnitCoreTester.run( true, Test6.class );
45 assertEquals( 0, run.getFailureCount() );
46 }
47
48 public static class Test6
49 {
50 private final CountDownLatch latch = new CountDownLatch( 1 );
51
52 @Test
53 public void test61()
54 throws Exception
55 {
56 System.out.println( "Hey" );
57 }
58
59 @After
60 public void tearDown()
61 throws Exception
62 {
63 new MyThread().start();
64 latch.await();
65 }
66
67 private static final String s = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
68
69 public void synchPrint()
70 {
71 for ( int i = 0; i < 1000; ++i )
72 {
73 System.out.println( i + ":" + s );
74 }
75 }
76
77 private class MyThread
78 extends Thread
79 {
80 @Override
81 public void run()
82 {
83 System.out.println( s );
84 latch.countDown();
85 synchPrint();
86 }
87 }
88 }
89
90 }