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