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.api.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
49
50
51 public static class Test6
52 {
53 private final CountDownLatch latch = new CountDownLatch( 1 );
54
55 @Test
56 public void test61()
57 throws Exception
58 {
59 System.out.println( "Hey" );
60 }
61
62 @After
63 public void tearDown()
64 throws Exception
65 {
66 new MyThread().start();
67 latch.await();
68 }
69
70 private static final String STR = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
71
72 public void synchPrint()
73 {
74 for ( int i = 0; i < 1000; ++i )
75 {
76 System.out.println( i + ":" + STR );
77 }
78 }
79
80 private class MyThread
81 extends Thread
82 {
83 @Override
84 public void run()
85 {
86 System.out.println( STR );
87 latch.countDown();
88 synchPrint();
89 }
90 }
91 }
92
93 }