Skip to content

Commit 34726f6

Browse files
committed
improve unittests #196
1 parent 23d0551 commit 34726f6

File tree

2 files changed

+38
-13
lines changed

2 files changed

+38
-13
lines changed
Lines changed: 37 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,63 @@
11
package com.tagtraum.perf.gcviewer.imp;
22

3-
import static org.junit.Assert.assertEquals;
3+
import static org.hamcrest.Matchers.closeTo;
4+
import static org.hamcrest.Matchers.is;
5+
import static org.junit.Assert.assertThat;
46

5-
import com.tagtraum.perf.gcviewer.UnittestHelper;
6-
import com.tagtraum.perf.gcviewer.model.GCModel;
7-
import com.tagtraum.perf.gcviewer.model.GcResourceFile;
87
import java.io.ByteArrayInputStream;
98
import java.io.IOException;
109
import java.io.InputStream;
10+
import java.util.logging.Level;
11+
12+
import com.tagtraum.perf.gcviewer.UnittestHelper;
13+
import com.tagtraum.perf.gcviewer.model.AbstractGCEvent;
14+
import com.tagtraum.perf.gcviewer.model.GCModel;
15+
import com.tagtraum.perf.gcviewer.model.GCResource;
16+
import com.tagtraum.perf.gcviewer.model.GcResourceFile;
1117
import org.junit.Test;
1218

1319
public class TestDataReaderGo {
1420

1521
@Test
1622
public void test() throws IOException {
23+
TestLogHandler handler = new TestLogHandler();
24+
handler.setLevel(Level.WARNING);
25+
GCResource gcResource = new GcResourceFile("byteArray");
26+
gcResource.getLogger().addHandler(handler);
27+
1728
String gcLog = ""
1829
+ "gc starting...\n" // Such a line is not produced by the Go GC; it is just for testing
19-
+ "gc 1 @997.597s 3%: 68+0.36+0.51 ms clock, 205+0/16/89+1.5 ms cpu, 84->84->42 MB, 86 MB goal, 3 P\n"
30+
+ "gc 1 @0.058s 0%: 0+1.9+0 ms clock, 0+0.94/1.9/2.9+0 ms cpu, 4->5->1 MB, 5 MB goal, 4 P\n"
2031
+ "a line unrelated to GC logging\n"
21-
+ "gc 2 @997.597s 3%: 68+0.36+0.51 ms clock, 205+0/16/89+1.5 ms cpu, 11111111111111111111111111111111111->84->42 MB, 86 MB goal, 3 P\n"
22-
+ "gc 3 @997.597s 3%: 68+0.36+0.51 ms clock, 205+0/16/89+1.5 ms cpu, 84->84->42 MB, 86 MB goal, 3 P\n";
32+
+ "gc 2 @0.073s 3%: 68+0.36+0.51 ms clock, 205+0/16/89+1.5 ms cpu, 11111111111111111111111111111111111->84->42 MB, 86 MB goal, 3 P\n"
33+
+ "gc 58 @17.837s 0%: 0.48+17+0 ms clock, 1.9+9.3/7.9/15+0 ms cpu, 30->30->15 MB, 31 MB goal, 4 P\n";
2334
ByteArrayInputStream in = new ByteArrayInputStream(gcLog.getBytes("US-ASCII"));
24-
DataReader reader = new DataReaderGo(new GcResourceFile("byteArray"), in);
35+
DataReader reader = new DataReaderGo(gcResource, in);
2536
GCModel model = reader.read();
2637

27-
assertEquals(2, model.size());
38+
assertThat("gc 2 -> warning", handler.getCount(), is(1));
39+
assertThat("size", model.size(), is(2));
40+
41+
AbstractGCEvent<?> event1 = model.get(0);
42+
assertThat("timestamp", event1.getTimestamp(), closeTo(0.058, 0.0001));
43+
assertThat("pause", event1.getPause(), closeTo(0 + 0, 0.1));
44+
assertThat("preused", event1.getPreUsed(), is(4096));
45+
assertThat("postused", event1.getPostUsed(), is(1024));
46+
assertThat("heap", event1.getTotal(), is(5120));
2847
}
2948

3049
@Test
3150
public void exampleLog() throws IOException {
32-
String fileName = "go1.9.txt";
33-
InputStream in = UnittestHelper.getResourceAsStream(UnittestHelper.FOLDER.GO, fileName);
34-
DataReader reader = new DataReaderGo(new GcResourceFile(fileName), in);
51+
TestLogHandler handler = new TestLogHandler();
52+
handler.setLevel(Level.WARNING);
53+
GCResource gcResource = new GcResourceFile("go1.9.txt");
54+
gcResource.getLogger().addHandler(handler);
55+
56+
InputStream in = UnittestHelper.getResourceAsStream(UnittestHelper.FOLDER.GO, gcResource.getResourceName());
57+
DataReader reader = new DataReaderGo(gcResource, in);
3558
GCModel model = reader.read();
3659

37-
assertEquals(635, model.size());
60+
assertThat("warnings", handler.getCount(), is(0));
61+
assertThat("size", model.size(), is(635));
3862
}
3963
}

src/test/java/com/tagtraum/perf/gcviewer/imp/TestDataReaderSun1_8_0G1.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ public void fullGcWithDetailedSizes() throws Exception {
6464
TestLogHandler handler = new TestLogHandler();
6565
handler.setLevel(Level.WARNING);
6666
GCResource gcResource = new GcResourceFile("byteArray");
67+
gcResource.getLogger().addHandler(handler);
6768

6869
ByteArrayInputStream in = new ByteArrayInputStream(
6970
("2014-07-24T13:49:45.090+0400: 92457.841: [Full GC (Allocation Failure) 5811M->3097M(12G), 8.9862292 secs]"

0 commit comments

Comments
 (0)