To fix failing unit tests. Also add some JNI tests. (bug 299715)
[deliverable/tracecompass.git] / org.eclipse.linuxtools.lttng.tests / src / org / eclipse / linuxtools / lttng / tests / jni / JniMarkerFieldTest.java
1
2 package org.eclipse.linuxtools.lttng.tests.jni;
3
4 import org.eclipse.linuxtools.lttng.jni.JniEvent;
5 import org.eclipse.linuxtools.lttng.jni.JniException;
6 import org.eclipse.linuxtools.lttng.jni.JniMarker;
7 import org.eclipse.linuxtools.lttng.jni.JniMarkerField;
8 import org.eclipse.linuxtools.lttng.jni.JniTrace;
9 import org.eclipse.linuxtools.lttng.jni.Jni_C_Pointer;
10
11 import junit.framework.TestCase;
12
13 /*
14 Functions tested here :
15 public JniMarkerField(JniMarkerField oldMarkerField)
16 public JniMarkerField(long newMarkerPtr) throws JniException
17
18 public String getField()
19 public String getFormat()
20
21 public String toString()
22 public void printMarkerFieldInformation()
23 */
24
25 public class JniMarkerFieldTest extends TestCase
26 {
27 private final static boolean printLttDebug = false;
28
29 private final static String tracepath="traceset/trace-15316events_nolost_newformat";
30 private final static String eventName="kernel0";
31
32 private JniMarkerField prepareMarkerFieldToTest() {
33
34 JniEvent tmpEvent = null;
35 JniMarkerField tmpMarkerField = null;
36
37 // This trace should be valid
38 // We will read the first 2 event to have something interesting to test on
39 try {
40 tmpEvent = new JniTrace(tracepath, printLttDebug).requestEventByName(eventName);
41 tmpEvent.readNextEvent();
42 tmpEvent.readNextEvent();
43
44 // Use the first field
45 tmpMarkerField = tmpEvent.requestEventMarker().getMarkerFieldsArrayList().get(0);
46 }
47 catch( JniException e) { }
48
49 return tmpMarkerField;
50 }
51
52 public void testEventConstructors() {
53
54 JniMarker tmpMarker = null;
55
56 JniMarkerField tmpMarkerField1 = null;
57 JniMarkerField tmpMarkerField2 = null;
58
59 // This event should be valid and will be used in test
60 try {
61 tmpMarker = new JniTrace(tracepath, printLttDebug).requestEventByName(eventName).requestEventMarker();
62 }
63 catch( JniException e) { }
64
65 // Test constructor with pointer on a wrong pointer
66 try {
67 tmpMarkerField1 = new JniMarkerField( new Jni_C_Pointer(0) );
68 fail("Construction with wrong pointer should fail!");
69 }
70 catch( JniException e) {
71 }
72
73 // Test constructor with pointer on a correct pointer
74 try {
75 tmpMarkerField1 = new JniMarkerField( tmpMarker.getMarkerFieldsArrayList().get(0).getMarkerFieldPtr() );
76 }
77 catch( JniException e) {
78 fail("Construction with correct pointer failed!");
79 }
80
81
82 // Test copy constructor
83 try {
84 tmpMarkerField1 = new JniMarkerField( tmpMarker.getMarkerFieldsArrayList().get(0) );
85 tmpMarkerField2 = new JniMarkerField( tmpMarkerField1);
86 }
87 catch( Exception e) {
88 fail("Copy constructor failed!");
89 }
90
91 assertSame("JniMarker name not same after using copy constructor", tmpMarkerField1.getField() , tmpMarkerField2.getField());
92
93 }
94
95 public void testGetSet() {
96
97 JniMarkerField testMarkerField = prepareMarkerFieldToTest();
98
99 // Test that all Get/Set return data
100 assertNotSame("getName is empty","",testMarkerField.getField() );
101 assertNotSame("getFormat is empty","",testMarkerField.getFormat() );
102 assertNotSame("getMarkerFieldPtr is 0",0,testMarkerField.getMarkerFieldPtr() );
103 }
104
105 public void testPrintAndToString() {
106
107 JniMarkerField testMarkerField = prepareMarkerFieldToTest();
108
109 // Test printMarkerInformation
110 try {
111 testMarkerField.printMarkerFieldInformation();
112 }
113 catch( Exception e) {
114 fail("printMarkerFieldInformation failed!");
115 }
116
117 // Test ToString()
118 assertNotSame("toString returned empty data","",testMarkerField.toString() );
119 }
120 }
This page took 0.033697 seconds and 6 git commands to generate.