Added: support in strprotocol for passing the ITest.getTestName() information
diff --git a/CHANGES.txt b/CHANGES.txt
index f0005cf..ab92671 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -17,6 +17,7 @@
 Added: Support for concurrent execution for invocationCount=1 threadPoolSize>1 and @DataProvider
 (http://forums.opensymphony.com/thread.jspa?threadID=64738&tstart=0)
 Added: New TestNG specific XML report, generated by default in 'xml' subdirectory of test-output
+Added: support in strprotocol for passing the ITest.getTestName() information
 
 Eclipse plug-in
 
@@ -24,6 +25,7 @@
 Fixed: The plugin doesn't create the correct launch configuration for @Factory
 Fixed: Method based launchers cannot be editted
 Fixed: Plugin hangs while executing test with dataprovider that sends \n, \r messages
+Added: display ITest.getTestName()
 
 IDEA plug-in
 
diff --git a/src/main/org/testng/remote/strprotocol/MessageHelper.java b/src/main/org/testng/remote/strprotocol/MessageHelper.java
index ce5e5f7..fcf4d97 100644
--- a/src/main/org/testng/remote/strprotocol/MessageHelper.java
+++ b/src/main/org/testng/remote/strprotocol/MessageHelper.java
@@ -92,24 +92,40 @@
     String startTimestampFragment= null;
     String stopTimestampFragment= null;
     String stackTraceFragment= null;
-    if(messageParts.length == 9) {
-      parametersFragment= messageParts[5];
-      startTimestampFragment= messageParts[6];
-      stopTimestampFragment= messageParts[7];
-      stackTraceFragment= messageParts[8];
-    }
-    else {
-      // HINT: old protocol without parameters
-      parametersFragment= null;
-      startTimestampFragment= messageParts[5];
-      stopTimestampFragment= messageParts[6];
-      stackTraceFragment= messageParts[7];
+    String testDescriptor= null;
+    switch(messageParts.length) {
+      case 10:
+      {
+        parametersFragment= messageParts[5];
+        startTimestampFragment= messageParts[6];
+        stopTimestampFragment= messageParts[7];
+        stackTraceFragment= messageParts[8];
+        testDescriptor= messageParts[9];
+      }
+      break;
+      case 9:
+      {
+        parametersFragment= messageParts[5];
+        startTimestampFragment= messageParts[6];
+        stopTimestampFragment= messageParts[7];
+        stackTraceFragment= messageParts[8];        
+      }
+      break;
+      default:
+      {
+        // HINT: old protocol without parameters
+        parametersFragment= null;
+        startTimestampFragment= messageParts[5];
+        stopTimestampFragment= messageParts[6];
+        stackTraceFragment= messageParts[7];        
+      }
     }
     return new TestResultMessage(Integer.parseInt(messageParts[0]),
                                  messageParts[1],
                                  messageParts[2],
                                  messageParts[3],
                                  messageParts[4],
+                                 replaceNewLineReplacer(testDescriptor),
                                  parseParameters(parametersFragment),
                                  Long.parseLong(startTimestampFragment),
                                  Long.parseLong(stopTimestampFragment),
diff --git a/src/main/org/testng/remote/strprotocol/TestResultMessage.java b/src/main/org/testng/remote/strprotocol/TestResultMessage.java
index cccdfc6..dd4c04f 100644
--- a/src/main/org/testng/remote/strprotocol/TestResultMessage.java
+++ b/src/main/org/testng/remote/strprotocol/TestResultMessage.java
@@ -31,12 +31,14 @@
   protected long m_endMillis;
   protected String[] m_parameters= new String[0];
   protected String[] m_paramTypes= new String[0];
+  private String m_testDescription;
 
   TestResultMessage(final int resultType,
                     final String suiteName,
                     final String testName,
                     final String className,
                     final String methodName,
+                    final String testDescriptor,
                     final String[] params,
                     final long startMillis,
                     final long endMillis,
@@ -51,8 +53,8 @@
          startMillis,
          endMillis,
          extractParams(params),
-         extractParamTypes(params)
-         
+         extractParamTypes(params),
+         testDescriptor
     );
   }
 
@@ -89,7 +91,8 @@
          result.getStartMillis(),
          result.getEndMillis(),
          toString(result.getParameters(), result.getMethod().getMethod().getParameterTypes()),
-         toString(result.getMethod().getMethod().getParameterTypes())
+         toString(result.getMethod().getMethod().getParameterTypes()),
+         result.getName()
     );
   }
   
@@ -106,7 +109,8 @@
                     final long startMillis,
                     final long endMillis,
                     final String[] parameters,
-                    final String[] types) {
+                    final String[] types,
+                    final String testDescription) {
     m_messageType = resultType;
     m_suiteName = suiteName;
     m_testName = testName;
@@ -117,6 +121,7 @@
     m_endMillis= endMillis;
     m_parameters= parameters;
     m_paramTypes= types;
+    m_testDescription= testDescription;
   }
 
   public int getResult() {
@@ -151,6 +156,8 @@
        .append(m_endMillis)
        .append(MessageHelper.DELIMITER)
        .append(MessageHelper.replaceNewLine(m_stackTrace))
+       .append(MessageHelper.DELIMITER)
+       .append(MessageHelper.replaceNewLine(m_testDescription))
        ;
 
     return buf.toString();
@@ -192,6 +199,10 @@
     return m_paramTypes;
   }
   
+  public String getTestDescription() {
+    return m_testDescription;
+  }
+  
   public String toDisplayString() {
     StringBuffer buf= new StringBuffer(m_testMethodName);