1 package org
.eclipse
.linuxtools
.lttng
.tests
.event
;
6 import junit
.framework
.TestCase
;
8 import org
.eclipse
.core
.runtime
.FileLocator
;
9 import org
.eclipse
.core
.runtime
.Path
;
10 import org
.eclipse
.linuxtools
.lttng
.event
.LttngTimestamp
;
11 import org
.eclipse
.linuxtools
.lttng
.tests
.LTTngCoreTestPlugin
;
12 import org
.eclipse
.linuxtools
.lttng
.trace
.LTTngTextTrace
;
13 import org
.eclipse
.linuxtools
.tmf
.trace
.TmfContext
;
16 Functions tested here :
17 public LttngTimestamp()
18 public LttngTimestamp(long newEventTime)
19 public LttngTimestamp(TmfTimestamp oldEventTime)
21 public long getValue()
22 public String getSeconds()
23 public String getNanoSeconds()
25 public void setValue(long newValue)
27 public String toString()
30 @SuppressWarnings("nls")
31 public class LttngTimestampTest
extends TestCase
{
32 private final static String tracepath1
= "traceset/trace-15316events_nolost_newformat.txt";
33 private final static boolean skipIndexing
= true;
35 private final static String firstEventTimeSecond
= "13589";
36 private final static String firstEventTimeNano
= "759412128";
37 private final static long firstEventTimeFull
= 13589759412128L;
39 private static LTTngTextTrace testStream
= null;
41 private LTTngTextTrace
initializeEventStream() {
42 if (testStream
== null) {
44 URL location
= FileLocator
.find(LTTngCoreTestPlugin
.getPlugin().getBundle(), new Path(tracepath1
), null);
45 File testfile
= new File(FileLocator
.toFileURL(location
).toURI());
46 LTTngTextTrace tmpStream
= new LTTngTextTrace(testfile
.getPath(), skipIndexing
);
47 testStream
= tmpStream
;
48 } catch (Exception e
) {
49 System
.out
.println("ERROR : Could not open " + tracepath1
);
56 private LttngTimestamp
prepareToTest() {
57 LttngTimestamp tmpTime
= null;
59 // This trace should be valid
61 LTTngTextTrace tmpStream
= initializeEventStream();
62 tmpTime
= (LttngTimestamp
) tmpStream
.getNextEvent(new TmfContext(null, 0)).getTimestamp();
63 } catch (Exception e
) {
64 fail("ERROR : Failed to get reference!");
70 public void testConstructors() {
71 LttngTimestamp tmpTime
= null;
72 @SuppressWarnings("unused")
73 LttngTimestamp tmpTime2
= null;
75 // Default construction with no argument
77 tmpTime
= new LttngTimestamp();
78 } catch (Exception e
) {
79 fail("Construction failed!");
82 // Default construction with good argument
84 tmpTime
= new LttngTimestamp(1);
85 } catch (Exception e
) {
86 fail("Construction failed!");
91 tmpTime
= new LttngTimestamp(1);
92 tmpTime2
= new LttngTimestamp(tmpTime
);
93 } catch (Exception e
) {
94 fail("Construction failed!");
98 public void testGetter() {
99 LttngTimestamp tmpTime
= prepareToTest();
101 assertEquals("Time in second is wrong", firstEventTimeSecond
, tmpTime
.getSeconds());
102 assertEquals("Time in nano second is wrong", firstEventTimeNano
, tmpTime
.getNanoSeconds());
104 assertEquals("Full time is wrong", firstEventTimeFull
, tmpTime
.getValue());
107 public void testSetter() {
108 LttngTimestamp tmpTime
= prepareToTest();
110 // We will set a time and we will make sure the set is working then
112 assertEquals("Full time is wrong after set", 1, tmpTime
.getValue());
115 public void testToString() {
116 LttngTimestamp tmpTime
= prepareToTest();
118 // Just make sure toString() does not return null or the java reference
119 assertNotSame("toString returned null", null, tmpTime
.toString());
120 assertNotSame("toString is not overridded!", tmpTime
.getClass().getName() + '@' + Integer
.toHexString(tmpTime
.hashCode()), tmpTime
.toString());
124 public void testToString2() {
125 LttngTimestamp ts1
= new LttngTimestamp(2064357056377L);
126 String expectedTS1
= "2064.357056377";
128 LttngTimestamp ts2
= new LttngTimestamp(1L);
129 String expectedTS2
= "0.000000001";
131 LttngTimestamp ts3
= new LttngTimestamp(123456789L);
132 String expectedTS3
= "0.123456789";
134 LttngTimestamp ts4
= new LttngTimestamp(1234567890L);
135 String expectedTS4
= "1.234567890";
137 assertEquals("toString()", expectedTS1
, ts1
.toString());
138 assertEquals("toString()", expectedTS2
, ts2
.toString());
139 assertEquals("toString()", expectedTS3
, ts3
.toString());
140 assertEquals("toString()", expectedTS4
, ts4
.toString());
142 LttngTimestamp ts5
= new LttngTimestamp(2234567890L);
143 LttngTimestamp delta
= ts4
.getDelta(ts5
);
144 String expectedDelta
= "-1.000000000";
145 assertEquals("toString()", expectedDelta
, delta
.toString());