Skip to content

Commit f6ef203

Browse files
authored
Merge pull request #1661 from tulinkry/remove-sleeps
removing sleeps as the tests arbitrarily fail
2 parents 4d7c5ec + d27c63a commit f6ef203

File tree

1 file changed

+15
-53
lines changed

1 file changed

+15
-53
lines changed

test/org/opensolaris/opengrok/configuration/messages/ExpirationNormalMessageTest.java

Lines changed: 15 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,10 @@
2222
*/
2323
package org.opensolaris.opengrok.configuration.messages;
2424

25-
import java.lang.reflect.Field;
2625
import java.lang.reflect.Method;
2726
import java.util.Arrays;
2827
import java.util.ConcurrentModificationException;
2928
import java.util.Date;
30-
import java.util.Map;
31-
import java.util.SortedSet;
3229
import java.util.TreeSet;
3330
import org.junit.After;
3431
import org.junit.Assert;
@@ -44,13 +41,6 @@ private Message[] makeArray(Message... messages) {
4441
return messages;
4542
}
4643

47-
protected void sleep(long milis) {
48-
try {
49-
Thread.sleep(milis);
50-
} catch (InterruptedException ex) {
51-
}
52-
}
53-
5444
@Before
5545
public void setUp() {
5646
env = RuntimeEnvironment.getInstance();
@@ -67,25 +57,11 @@ public void testExpirationSingle() {
6757
runSingle();
6858
}
6959

70-
@Test
71-
public void testExpirationSingleTimer() {
72-
env.startExpirationTimer();
73-
runSingle();
74-
env.stopExpirationTimer();
75-
}
76-
7760
@Test
7861
public void testExpirationMultiple() {
7962
runMultiple();
8063
}
8164

82-
@Test
83-
public void testExpirationMultipleTimer() {
84-
env.startExpirationTimer();
85-
runMultiple();
86-
env.stopExpirationTimer();
87-
}
88-
8965
/**
9066
* This doesn't make sense since we're testing the behaviour of the timer
9167
* thread.
@@ -110,55 +86,52 @@ protected void runSingle() {
11086
Assert.assertEquals(0, env.getMessagesInTheSystem());
11187
NormalMessage m1 = new NormalMessage();
11288
m1.addTag("main")
113-
.setExpiration(new Date(System.currentTimeMillis() + 500));
89+
.setExpiration(new Date(System.currentTimeMillis() + 2000000));
11490
m1.setText("text");
11591
env.addMessage(m1);
11692
Assert.assertEquals(1, env.getMessagesInTheSystem());
11793

118-
for (int i = 0; i < 5; i++) {
94+
for (int i = 0; i < 50; i++) {
11995
Assert.assertEquals(1, env.getMessagesInTheSystem());
12096
Assert.assertNotNull(env.getMessages());
12197
Assert.assertEquals(new TreeSet<Message>(Arrays.asList(makeArray(m1))), env.getMessages());
122-
sleep(100);
12398
}
124-
sleep(30);
99+
m1.setExpiration(new Date(System.currentTimeMillis() - 2000000));
125100
Assert.assertEquals(0, env.getMessagesInTheSystem());
126101
}
127102

128103
protected void runMultiple() {
129104
Assert.assertEquals(0, env.getMessagesInTheSystem());
130105
NormalMessage m1 = new NormalMessage();
131106
m1.addTag("main")
132-
.setExpiration(new Date(System.currentTimeMillis() + 300));
107+
.setExpiration(new Date(System.currentTimeMillis() + 2000000));
133108
m1.setText("text");
134109
env.addMessage(m1);
135110

136111
NormalMessage m2 = new NormalMessage();
137112
m2.addTag("main")
138-
.setExpiration(new Date(System.currentTimeMillis() + 600));
139-
m2.setText("text");
113+
.setExpiration(new Date(System.currentTimeMillis() + 2000000));
114+
m2.setText("other text");
140115
env.addMessage(m2);
141116

142117
Assert.assertEquals(2, env.getMessagesInTheSystem());
143118
Assert.assertNotNull(env.getMessages());
144119
Assert.assertEquals(new TreeSet<Message>(Arrays.asList(makeArray(m1, m2))), env.getMessages());
145120

146-
// expire first
147-
for (int i = 0; i < 3; i++) {
121+
for (int i = 0; i < 30; i++) {
148122
Assert.assertEquals(2, env.getMessagesInTheSystem());
149123
Assert.assertNotNull(env.getMessages());
150124
Assert.assertEquals(new TreeSet<Message>(Arrays.asList(makeArray(m1, m2))), env.getMessages());
151-
sleep(100);
152125
}
153-
sleep(30);
154-
// expire second
155-
for (int i = 0; i < 3; i++) {
126+
// expire first
127+
m1.setExpiration(new Date(System.currentTimeMillis() - 2000000));
128+
for (int i = 0; i < 30; i++) {
156129
Assert.assertEquals(1, env.getMessagesInTheSystem());
157130
Assert.assertNotNull(env.getMessages());
158131
Assert.assertEquals(new TreeSet<Message>(Arrays.asList(makeArray(m2))), env.getMessages());
159-
sleep(100);
160132
}
161-
sleep(30);
133+
// expire second
134+
m2.setExpiration(new Date(System.currentTimeMillis() - 2000000));
162135
Assert.assertEquals(0, env.getMessagesInTheSystem());
163136
}
164137

@@ -168,7 +141,7 @@ protected void runConcurrentModification() throws Exception {
168141
NormalMessage m = new NormalMessage();
169142
m.addTag("main");
170143
m.setText("text");
171-
m.setExpiration(new Date(current + 50000));
144+
m.setExpiration(new Date(current + 2000000));
172145
m.setCreated(new Date(current - 2000 - i));
173146
m.apply(env);
174147
}
@@ -195,8 +168,9 @@ public void run() {
195168
Assert.assertEquals(500, env.getMessagesInTheSystem());
196169
Assert.assertEquals(500, env.getMessages("main").size());
197170

171+
// expire all
198172
for (Message m : env.getMessages("main")) {
199-
m.setExpiration(new Date(current - 2000));
173+
m.setExpiration(new Date(current - 2000000));
200174
}
201175

202176
for (int i = 0; i < 500; i++) {
@@ -231,16 +205,4 @@ private void invokeExpireMessages() {
231205
Assert.fail("invokeRemoveAll should not throw an exception");
232206
}
233207
}
234-
235-
@SuppressWarnings("unchecked")
236-
protected Map<String, SortedSet<Message>> getTagMessages() {
237-
try {
238-
Field field = RuntimeEnvironment.class.getDeclaredField("tagMessages");
239-
field.setAccessible(true);
240-
return (Map<String, SortedSet<Message>>) field.get(env);
241-
} catch (Throwable ex) {
242-
Assert.fail("invoking getTagMessages should not throw an exception");
243-
}
244-
return null;
245-
}
246208
}

0 commit comments

Comments
 (0)