From 9c841e9c17b322b78a7d6ce26cc2bab71ed6589b Mon Sep 17 00:00:00 2001 From: William Bourque Date: Tue, 16 Feb 2010 20:50:39 +0000 Subject: [PATCH] New JNI implementation to support multiple version of traces (bug id 302987) --- .../META-INF/MANIFEST.MF | 4 ++- .../lttng/tests/jni/Combinations.java | 8 +++-- .../lttng/tests/jni/JniEventTest.java | 32 ++++++++++--------- .../lttng/tests/jni/JniMarkerFieldTest.java | 29 +++++++++-------- .../lttng/tests/jni/JniMarkerTest.java | 25 ++++++++------- .../lttng/tests/jni/JniTraceTest.java | 18 ++++++----- .../lttng/tests/jni/JniTracefileTest.java | 25 ++++++++------- 7 files changed, 79 insertions(+), 62 deletions(-) diff --git a/org.eclipse.linuxtools.lttng.tests/META-INF/MANIFEST.MF b/org.eclipse.linuxtools.lttng.tests/META-INF/MANIFEST.MF index 71aba3c805..dcdbc743b5 100644 --- a/org.eclipse.linuxtools.lttng.tests/META-INF/MANIFEST.MF +++ b/org.eclipse.linuxtools.lttng.tests/META-INF/MANIFEST.MF @@ -8,7 +8,9 @@ Bundle-RequiredExecutionEnvironment: J2SE-1.5 Require-Bundle: org.junit, org.eclipse.linuxtools.lttng;bundle-version="0.2.0", org.eclipse.linuxtools.tmf;bundle-version="0.2.0", - org.eclipse.core.runtime;bundle-version="3.5.0" + org.eclipse.core.runtime;bundle-version="3.5.0", + org.eclipse.linuxtools.lttng.jni;bundle-version="0.2.0" Bundle-Localization: plugin Bundle-Activator: org.eclipse.linuxtools.lttng.tests.LTTngCoreTestPlugin Bundle-ActivationPolicy: lazy +Import-Package: org.eclipse.linuxtools.lttng.jni diff --git a/org.eclipse.linuxtools.lttng.tests/src/org/eclipse/linuxtools/lttng/tests/jni/Combinations.java b/org.eclipse.linuxtools.lttng.tests/src/org/eclipse/linuxtools/lttng/tests/jni/Combinations.java index 4e4f738bc9..27dca2fbbf 100644 --- a/org.eclipse.linuxtools.lttng.tests/src/org/eclipse/linuxtools/lttng/tests/jni/Combinations.java +++ b/org.eclipse.linuxtools.lttng.tests/src/org/eclipse/linuxtools/lttng/tests/jni/Combinations.java @@ -10,10 +10,12 @@ import java.util.List; import java.util.Set; import org.eclipse.linuxtools.lttng.jni.JniEvent; -import org.eclipse.linuxtools.lttng.jni.JniException; import org.eclipse.linuxtools.lttng.jni.JniMarker; import org.eclipse.linuxtools.lttng.jni.JniMarkerField; import org.eclipse.linuxtools.lttng.jni.JniTrace; +import org.eclipse.linuxtools.lttng.jni.exception.JniException; +import org.eclipse.linuxtools.lttng.jni.factory.JniTraceFactory; + /** * @author alvaro @@ -97,7 +99,7 @@ public class Combinations extends TestCase { JniEvent tmpEvent = null; // This trace should be valid try { - tmpEvent = new JniTrace(tracepath, printLttDebug).requestEventByName(eventName); + tmpEvent = JniTraceFactory.getJniTrace(tracepath, printLttDebug).requestEventByName(eventName); } catch (JniException e) { } @@ -118,7 +120,7 @@ public class Combinations extends TestCase { JniTrace trace = null; JniEvent event = null; try { - trace = new JniTrace(tracepath, printLttDebug); + trace = JniTraceFactory.getJniTrace(tracepath, printLttDebug); } catch (JniException e) { e.printStackTrace(); } diff --git a/org.eclipse.linuxtools.lttng.tests/src/org/eclipse/linuxtools/lttng/tests/jni/JniEventTest.java b/org.eclipse.linuxtools.lttng.tests/src/org/eclipse/linuxtools/lttng/tests/jni/JniEventTest.java index 71cbacd946..e40cd7330c 100644 --- a/org.eclipse.linuxtools.lttng.tests/src/org/eclipse/linuxtools/lttng/tests/jni/JniEventTest.java +++ b/org.eclipse.linuxtools.lttng.tests/src/org/eclipse/linuxtools/lttng/tests/jni/JniEventTest.java @@ -30,12 +30,13 @@ package org.eclipse.linuxtools.lttng.tests.jni; + import org.eclipse.linuxtools.lttng.jni.JniEvent; -import org.eclipse.linuxtools.lttng.jni.JniException; -import org.eclipse.linuxtools.lttng.jni.JniTime; -import org.eclipse.linuxtools.lttng.jni.JniTrace; import org.eclipse.linuxtools.lttng.jni.JniTracefile; -import org.eclipse.linuxtools.lttng.jni.Jni_C_Pointer; +import org.eclipse.linuxtools.lttng.jni.common.JniTime; +import org.eclipse.linuxtools.lttng.jni.common.Jni_C_Pointer; +import org.eclipse.linuxtools.lttng.jni.exception.JniException; +import org.eclipse.linuxtools.lttng.jni.factory.JniTraceFactory; import junit.framework.TestCase; @@ -82,7 +83,7 @@ public class JniEventTest extends TestCase // This trace should be valid try { - tmpEvent = new JniTrace(tracepath, printLttDebug).requestEventByName(eventName); + tmpEvent = JniTraceFactory.getJniTrace(tracepath, printLttDebug).requestEventByName(eventName); } catch( JniException e) { } @@ -93,12 +94,14 @@ public class JniEventTest extends TestCase public void testEventConstructors() { JniTracefile testTracefile = null; - JniEvent testEvent1 = null; - JniEvent testEvent2 = null; + @SuppressWarnings("unused") + JniEvent testEvent1 = null; + @SuppressWarnings("unused") + JniEvent testEvent2 = null; // This trace should be valid and will be used in test try { - testTracefile = new JniTrace(tracepath, printLttDebug).requestTracefileByName(eventName); + testTracefile = JniTraceFactory.getJniTrace(tracepath, printLttDebug).requestTracefileByName(eventName); } catch( JniException e) { } @@ -106,7 +109,7 @@ public class JniEventTest extends TestCase // Test the constructor with parameters using wrong arguments // Test constructor on a wrong event pointer try { - testEvent1 = new JniEvent( new Jni_C_Pointer(0), testTracefile.getTracefileMarkersMap(), testTracefile ); + testEvent1 = testTracefile.allocateNewJniEvent( new Jni_C_Pointer(0), testTracefile.getTracefileMarkersMap(), testTracefile ); fail("Construction with wrong event pointer should fail!"); } catch( JniException e) { @@ -114,7 +117,7 @@ public class JniEventTest extends TestCase // Test constructor on a wrong marker HashMap try { - testEvent1 = new JniEvent( testTracefile.getCurrentEvent().getEventPtr(), null, testTracefile ); + testEvent1 = testTracefile.allocateNewJniEvent( testTracefile.getCurrentEvent().getEventPtr(), null, testTracefile ); fail("Construction with wrong marker hashmap should fail!"); } catch( JniException e) { @@ -122,7 +125,7 @@ public class JniEventTest extends TestCase // Test constructor on a wrong tracefile reference try { - testEvent1 = new JniEvent( testTracefile.getCurrentEvent().getEventPtr(), testTracefile.getTracefileMarkersMap(), null ); + testEvent1 = testTracefile.allocateNewJniEvent( testTracefile.getCurrentEvent().getEventPtr(), testTracefile.getTracefileMarkersMap(), null ); fail("Construction with wrong tracefile reference should fail!"); } catch( JniException e) { @@ -131,14 +134,13 @@ public class JniEventTest extends TestCase // Finally, test constructor with correct information try { - testEvent1 = new JniEvent( testTracefile.getCurrentEvent().getEventPtr(), testTracefile.getTracefileMarkersMap(), testTracefile ); - + testEvent1 = testTracefile.allocateNewJniEvent( testTracefile.getCurrentEvent().getEventPtr(), testTracefile.getTracefileMarkersMap(), testTracefile ); } catch( JniException e) { fail("Construction with correct information failed!"); } - + /* // Test copy constructor try { testEvent1 = new JniEvent( testTracefile.getCurrentEvent() ); @@ -147,8 +149,8 @@ public class JniEventTest extends TestCase catch( Exception e) { fail("Copy constructor failed!"); } - assertEquals("JniEvent timestamp not same after using copy constructor", testEvent1.getEventTime().getTime() , testEvent2.getEventTime().getTime() ); + */ } diff --git a/org.eclipse.linuxtools.lttng.tests/src/org/eclipse/linuxtools/lttng/tests/jni/JniMarkerFieldTest.java b/org.eclipse.linuxtools.lttng.tests/src/org/eclipse/linuxtools/lttng/tests/jni/JniMarkerFieldTest.java index 03788b0cbf..10c2194751 100644 --- a/org.eclipse.linuxtools.lttng.tests/src/org/eclipse/linuxtools/lttng/tests/jni/JniMarkerFieldTest.java +++ b/org.eclipse.linuxtools.lttng.tests/src/org/eclipse/linuxtools/lttng/tests/jni/JniMarkerFieldTest.java @@ -1,14 +1,15 @@ package org.eclipse.linuxtools.lttng.tests.jni; + +import junit.framework.TestCase; + import org.eclipse.linuxtools.lttng.jni.JniEvent; -import org.eclipse.linuxtools.lttng.jni.JniException; import org.eclipse.linuxtools.lttng.jni.JniMarker; import org.eclipse.linuxtools.lttng.jni.JniMarkerField; -import org.eclipse.linuxtools.lttng.jni.JniTrace; -import org.eclipse.linuxtools.lttng.jni.Jni_C_Pointer; - -import junit.framework.TestCase; +import org.eclipse.linuxtools.lttng.jni.common.Jni_C_Pointer; +import org.eclipse.linuxtools.lttng.jni.exception.JniException; +import org.eclipse.linuxtools.lttng.jni.factory.JniTraceFactory; /* Functions tested here : @@ -37,7 +38,7 @@ public class JniMarkerFieldTest extends TestCase // This trace should be valid // We will read the first 2 event to have something interesting to test on try { - tmpEvent = new JniTrace(tracepath, printLttDebug).requestEventByName(eventName); + tmpEvent = JniTraceFactory.getJniTrace(tracepath, printLttDebug).requestEventByName(eventName); tmpEvent.readNextEvent(); tmpEvent.readNextEvent(); @@ -53,18 +54,20 @@ public class JniMarkerFieldTest extends TestCase JniMarker tmpMarker = null; - JniMarkerField tmpMarkerField1 = null; - JniMarkerField tmpMarkerField2 = null; + @SuppressWarnings("unused") + JniMarkerField tmpMarkerField1 = null; + @SuppressWarnings("unused") + JniMarkerField tmpMarkerField2 = null; // This event should be valid and will be used in test try { - tmpMarker = new JniTrace(tracepath, printLttDebug).requestEventByName(eventName).requestEventMarker(); + tmpMarker = JniTraceFactory.getJniTrace(tracepath, printLttDebug).requestEventByName(eventName).requestEventMarker(); } catch( JniException e) { } // Test constructor with pointer on a wrong pointer try { - tmpMarkerField1 = new JniMarkerField( new Jni_C_Pointer(0) ); + tmpMarkerField1 = tmpMarker.allocateNewJniMarkerField( new Jni_C_Pointer(0) ); fail("Construction with wrong pointer should fail!"); } catch( JniException e) { @@ -72,13 +75,13 @@ public class JniMarkerFieldTest extends TestCase // Test constructor with pointer on a correct pointer try { - tmpMarkerField1 = new JniMarkerField( tmpMarker.getMarkerFieldsArrayList().get(0).getMarkerFieldPtr() ); + tmpMarkerField1 = tmpMarker.allocateNewJniMarkerField( tmpMarker.getMarkerFieldsArrayList().get(0).getMarkerFieldPtr() ); } catch( JniException e) { fail("Construction with correct pointer failed!"); } - + /* // Test copy constructor try { tmpMarkerField1 = new JniMarkerField( tmpMarker.getMarkerFieldsArrayList().get(0) ); @@ -87,8 +90,8 @@ public class JniMarkerFieldTest extends TestCase catch( Exception e) { fail("Copy constructor failed!"); } - assertSame("JniMarker name not same after using copy constructor", tmpMarkerField1.getField() , tmpMarkerField2.getField()); + */ } diff --git a/org.eclipse.linuxtools.lttng.tests/src/org/eclipse/linuxtools/lttng/tests/jni/JniMarkerTest.java b/org.eclipse.linuxtools.lttng.tests/src/org/eclipse/linuxtools/lttng/tests/jni/JniMarkerTest.java index 465550e0d5..55a66c5ba5 100644 --- a/org.eclipse.linuxtools.lttng.tests/src/org/eclipse/linuxtools/lttng/tests/jni/JniMarkerTest.java +++ b/org.eclipse.linuxtools.lttng.tests/src/org/eclipse/linuxtools/lttng/tests/jni/JniMarkerTest.java @@ -1,11 +1,12 @@ package org.eclipse.linuxtools.lttng.tests.jni; + import org.eclipse.linuxtools.lttng.jni.JniEvent; -import org.eclipse.linuxtools.lttng.jni.JniException; import org.eclipse.linuxtools.lttng.jni.JniMarker; -import org.eclipse.linuxtools.lttng.jni.JniTrace; -import org.eclipse.linuxtools.lttng.jni.Jni_C_Pointer; +import org.eclipse.linuxtools.lttng.jni.common.Jni_C_Pointer; +import org.eclipse.linuxtools.lttng.jni.exception.JniException; +import org.eclipse.linuxtools.lttng.jni.factory.JniTraceFactory; import junit.framework.TestCase; @@ -41,7 +42,7 @@ public class JniMarkerTest extends TestCase // This trace should be valid // We will read the second event to have something interesting to test on try { - tmpEvent = new JniTrace(tracepath, printLttDebug).requestEventByName(eventName); + tmpEvent = JniTraceFactory.getJniTrace(tracepath, printLttDebug).requestEventByName(eventName); tmpEvent.readNextEvent(); tmpMarker = tmpEvent.requestEventMarker(); @@ -55,18 +56,20 @@ public class JniMarkerTest extends TestCase JniEvent tmpEvent = null; - JniMarker testMarker1 = null; - JniMarker testMarker2 = null; + @SuppressWarnings("unused") + JniMarker testMarker1 = null; + @SuppressWarnings("unused") + JniMarker testMarker2 = null; // This event should be valid and will be used in test try { - tmpEvent = new JniTrace(tracepath, printLttDebug).requestEventByName(eventName); + tmpEvent = JniTraceFactory.getJniTrace(tracepath, printLttDebug).requestEventByName(eventName); } catch( JniException e) { } // Test constructor with pointer on a wrong pointer try { - testMarker1 = new JniMarker( new Jni_C_Pointer(0) ); + testMarker1 = tmpEvent.getParentTracefile().allocateNewJniMarker( new Jni_C_Pointer(0) ); fail("Construction with wrong pointer should fail!"); } catch( JniException e) { @@ -74,13 +77,13 @@ public class JniMarkerTest extends TestCase // Test constructor with pointer on a correct pointer try { - testMarker1 = new JniMarker( tmpEvent.requestEventMarker().getMarkerPtr() ); + testMarker1 = tmpEvent.getParentTracefile().allocateNewJniMarker( tmpEvent.requestEventMarker().getMarkerPtr() ); } catch( JniException e) { fail("Construction with correct pointer failed!"); } - + /* // Test copy constructor try { testMarker1 = new JniMarker( tmpEvent.requestEventMarker().getMarkerPtr() ); @@ -89,8 +92,8 @@ public class JniMarkerTest extends TestCase catch( JniException e) { fail("Copy constructor failed!"); } - assertSame("JniMarker name not same after using copy constructor", testMarker1.getName() , testMarker2.getName()); + */ } diff --git a/org.eclipse.linuxtools.lttng.tests/src/org/eclipse/linuxtools/lttng/tests/jni/JniTraceTest.java b/org.eclipse.linuxtools.lttng.tests/src/org/eclipse/linuxtools/lttng/tests/jni/JniTraceTest.java index 08ec9d75b1..957c86efb1 100644 --- a/org.eclipse.linuxtools.lttng.tests/src/org/eclipse/linuxtools/lttng/tests/jni/JniTraceTest.java +++ b/org.eclipse.linuxtools.lttng.tests/src/org/eclipse/linuxtools/lttng/tests/jni/JniTraceTest.java @@ -2,10 +2,10 @@ package org.eclipse.linuxtools.lttng.tests.jni; import org.eclipse.linuxtools.lttng.jni.JniEvent; -import org.eclipse.linuxtools.lttng.jni.JniException; -import org.eclipse.linuxtools.lttng.jni.JniTime; import org.eclipse.linuxtools.lttng.jni.JniTrace; -import org.eclipse.linuxtools.lttng.jni.Jni_C_Pointer; +import org.eclipse.linuxtools.lttng.jni.common.JniTime; +import org.eclipse.linuxtools.lttng.jni.exception.JniException; +import org.eclipse.linuxtools.lttng.jni.factory.JniTraceFactory; import junit.framework.TestCase; @@ -95,7 +95,7 @@ public class JniTraceTest extends TestCase // This trace should be valid try { - tmpTrace = new JniTrace(tracepath1, printLttDebug); + tmpTrace = JniTraceFactory.getJniTrace(tracepath1, printLttDebug); //tmpTrace.seekToTime(new JniTime(0L)); } catch( JniException e) { } @@ -104,13 +104,14 @@ public class JniTraceTest extends TestCase } public void testTraceConstructors() { - JniTrace testTrace1 = null; + @SuppressWarnings("unused") + JniTrace testTrace1 = null; @SuppressWarnings("unused") JniTrace testTrace2 = null; // Test constructor with argument on a wrong tracepath try { - testTrace1 = new JniTrace(wrongTracePath, printLttDebug); + testTrace1 = JniTraceFactory.getJniTrace(wrongTracePath, printLttDebug); fail("Construction with wrong tracepath should fail!"); } catch( JniException e) { @@ -118,12 +119,13 @@ public class JniTraceTest extends TestCase // Test constructor with argument on a correct tracepath try { - testTrace1 = new JniTrace(tracepath1, printLttDebug); + testTrace1 = JniTraceFactory.getJniTrace(tracepath1, printLttDebug); } catch( JniException e) { fail("Construction with correct tracepath failed!"); } + /* // Test copy constructor that take a pointer with a good pointer try { testTrace1 = new JniTrace( new Jni_C_Pointer(0), printLttDebug); @@ -140,7 +142,7 @@ public class JniTraceTest extends TestCase catch( JniException e) { fail("Construction with correct pointer failed!"); } - + */ } public void testTraceOpenClose() { diff --git a/org.eclipse.linuxtools.lttng.tests/src/org/eclipse/linuxtools/lttng/tests/jni/JniTracefileTest.java b/org.eclipse.linuxtools.lttng.tests/src/org/eclipse/linuxtools/lttng/tests/jni/JniTracefileTest.java index 9f6c23e748..0f85bac288 100644 --- a/org.eclipse.linuxtools.lttng.tests/src/org/eclipse/linuxtools/lttng/tests/jni/JniTracefileTest.java +++ b/org.eclipse.linuxtools.lttng.tests/src/org/eclipse/linuxtools/lttng/tests/jni/JniTracefileTest.java @@ -1,11 +1,12 @@ package org.eclipse.linuxtools.lttng.tests.jni; -import org.eclipse.linuxtools.lttng.jni.JniException; -import org.eclipse.linuxtools.lttng.jni.JniTime; import org.eclipse.linuxtools.lttng.jni.JniTrace; import org.eclipse.linuxtools.lttng.jni.JniTracefile; -import org.eclipse.linuxtools.lttng.jni.Jni_C_Pointer; +import org.eclipse.linuxtools.lttng.jni.common.JniTime; +import org.eclipse.linuxtools.lttng.jni.common.Jni_C_Pointer; +import org.eclipse.linuxtools.lttng.jni.exception.JniException; +import org.eclipse.linuxtools.lttng.jni.factory.JniTraceFactory; import junit.framework.TestCase; @@ -77,7 +78,7 @@ public class JniTracefileTest extends TestCase // This trace should be valid try { - tmpTracefile = new JniTrace(tracepath1, printLttDebug).requestTracefileByName(tracefileName1); + tmpTracefile = JniTraceFactory.getJniTrace(tracepath1, printLttDebug).requestTracefileByName(tracefileName1); } catch( JniException e) { } @@ -88,19 +89,21 @@ public class JniTracefileTest extends TestCase public void testTracefileConstructors() { JniTrace testTrace = null; - JniTracefile testTracefile1 = null; - JniTracefile testTracefile2 = null; + @SuppressWarnings("unused") + JniTracefile testTracefile1 = null; + @SuppressWarnings("unused") + JniTracefile testTracefile2 = null; // This trace should be valid and will be used in test try { - testTrace = new JniTrace(tracepath1, printLttDebug); + testTrace = JniTraceFactory.getJniTrace(tracepath1, printLttDebug); } catch( JniException e) { } // Test constructor with pointer on a wrong pointer try { - testTracefile1 = new JniTracefile( new Jni_C_Pointer(0), testTrace ); + testTracefile1 = testTrace.allocateNewJniTracefile( new Jni_C_Pointer(0), testTrace ); fail("Construction with wrong pointer should fail!"); } catch( JniException e) { @@ -108,13 +111,13 @@ public class JniTracefileTest extends TestCase // Test constructor with pointer on a correct pointer try { - testTracefile1 = new JniTracefile( testTrace.requestEventByName(tracefileName1).getTracefilePtr(), testTrace ); + testTracefile1 = testTrace.allocateNewJniTracefile( testTrace.requestEventByName(tracefileName1).getTracefilePtr(), testTrace ); } catch( JniException e) { fail("Construction with correct pointer failed!"); } - + /* // Test copy constructor try { testTracefile1 = new JniTracefile( testTrace.requestEventByName(tracefileName1).getTracefilePtr(), testTrace ); @@ -123,8 +126,8 @@ public class JniTracefileTest extends TestCase catch( JniException e) { fail("Copy constructor failed!"); } - assertSame("JniTracefile name not same after using copy constructor", testTracefile1.getTracefileName() , testTracefile2.getTracefileName()); + */ } -- 2.34.1