You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by na...@apache.org on 2006/05/04 06:12:59 UTC

svn commit: r399535 - in /webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp: XSD_IDClient.cpp XSD_NCNameClient.cpp XSD_NameClient.cpp

Author: nadiramra
Date: Wed May  3 21:12:56 2006
New Revision: 399535

URL: http://svn.apache.org/viewcvs?rev=399535&view=rev
Log:
Fix memory leaks in test case.

Modified:
    webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/XSD_IDClient.cpp
    webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/XSD_NCNameClient.cpp
    webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/XSD_NameClient.cpp

Modified: webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/XSD_IDClient.cpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/XSD_IDClient.cpp?rev=399535&r1=399534&r2=399535&view=diff
==============================================================================
--- webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/XSD_IDClient.cpp (original)
+++ webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/XSD_IDClient.cpp Wed May  3 21:12:56 2006
@@ -63,6 +63,8 @@
                 cout << "non-nillable element=" << result << endl;
             else
                 cout << "non-nillable element=<empty>" << endl;
+                
+            delete result;
         }
         else
             cout << "non-nillable element=<nil>" << endl;
@@ -80,6 +82,8 @@
                 cout << "empty non-nillable element=" << result << endl;
             else
                 cout << "empty non-nillable element=<empty>" << endl;
+                
+            delete result;
         }
         else
             cout << "empty non-nillable element=<nil>" << endl;
@@ -94,6 +98,8 @@
                 cout << "non-nillable element with XML reserved characters=" << result << endl;
             else
                 cout << "non-nillable element with XML reserved characters=<empty>" << endl;
+                
+            delete result;
         }
         else
             cout << "non-nillable element with XML reserved characters=<nil>" << endl;
@@ -107,6 +113,8 @@
                 cout << "non-nillable element with whitespace characters=\"" << result << "\"" << endl;
             else
                 cout << "non-nillable element with whitespace characters=<empty>" << endl;
+                
+            delete result;
         }
         else
             cout << "non-nillable element with whitespace characters=<nil>" << endl;

Modified: webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/XSD_NCNameClient.cpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/XSD_NCNameClient.cpp?rev=399535&r1=399534&r2=399535&view=diff
==============================================================================
--- webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/XSD_NCNameClient.cpp (original)
+++ webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/XSD_NCNameClient.cpp Wed May  3 21:12:56 2006
@@ -64,6 +64,8 @@
                 cout << "non-nillable element=" << result << endl;
             else
                 cout << "non-nillable element=<empty>" << endl;
+                
+            delete result;
         }
         else
             cout << "non-nillable element=<nil>" << endl;
@@ -81,6 +83,8 @@
                 cout << "empty non-nillable element=" << result << endl;
             else
                 cout << "empty non-nillable element=<empty>" << endl;
+                
+            delete result;
         }
         else
             cout << "empty non-nillable element=<nil>" << endl;

Modified: webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/XSD_NameClient.cpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/XSD_NameClient.cpp?rev=399535&r1=399534&r2=399535&view=diff
==============================================================================
--- webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/XSD_NameClient.cpp (original)
+++ webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/XSD_NameClient.cpp Wed May  3 21:12:56 2006
@@ -14,6 +14,15 @@
 // limitations under the License.
 
 
+/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */
+/* NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE   */
+/* ----------------------------------------------------------------   */
+/* CHANGES TO THIS FILE MAY ALSO REQUIRE CHANGES TO THE               */
+/* C-EQUIVALENT FILE. PLEASE ENSURE THAT IT IS DONE.                  */
+/* ----------------------------------------------------------------   */
+/* NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE   */
+/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */
+
 #include "XSD_Name.hpp"
 #include <axis/AxisException.hpp>
 #include <ctype.h>
@@ -22,6 +31,18 @@
 
 int main(int argc, char* argv[])
 {
+    XSD_Name* ws;
+    
+    xsd__Name input;
+    xsd__Name result;
+
+    RequiredAttributeElement requiredAttributeInput;
+    RequiredAttributeElement* requiredAttributeResult;
+    
+    
+    char emptyName[1] = "";
+    char simpleName[25] = "xml.si-mple_nam:e";    
+    
     char endpoint[256];
     const char* url="http://localhost:80/axis/XSD_Name";
 
@@ -31,161 +52,130 @@
     try
     {
         sprintf(endpoint, "%s", url);
-        XSD_Name* ws = new XSD_Name(endpoint);
+        ws = new XSD_Name(endpoint);
       
-        char emptyName[1] = "";
-        xsd__Name emptyInput = new char[1];
-        strcpy (emptyInput, emptyName);
-        //char simpleName[25] = "A simple test message!";
-        char simpleName[25] = "xml.si-mple_nam:e";
-        xsd__Name input = new char[25];
+        input = new char[25];
         strcpy (input, simpleName);
 
         // Test non-nillable element
-        xsd__Name result = ws->asNonNillableElement(input);
+        result = ws->asNonNillableElement(input);
         if (result)
         {
             if (*result)
-            {
                 cout << "non-nillable element=" << result << endl;
-            }
             else
-            {
                 cout << "non-nillable element=<empty>" << endl;
-            }
+                
+            delete result;
         }
         else
-        {
             cout << "non-nillable element=<nil>" << endl;
-        }
+
         delete [] input;
 
         // Test empty non-nillable element
-        result = ws->asNonNillableElement(emptyInput);
+        xsd__Name input = new char[1];
+        strcpy (input, emptyName);
+        
+        result = ws->asNonNillableElement(input);
         if (result)
         {
             if (*result)
-            {
                 cout << "empty non-nillable element=" << result << endl;
-            }
             else
-            {
                 cout << "empty non-nillable element=<empty>" << endl;
-            }
+                
+            delete result;
         }
         else
-        {
             cout << "empty non-nillable element=<nil>" << endl;
-        }
-        delete [] emptyInput;
+
+        delete [] input;
 
         // Test nillable element, with a value
         input = new char[25];
         strcpy (input, simpleName);
-        xsd__Name nillableResult = ws->asNillableElement(input);
-        if (nillableResult)
+        result = ws->asNillableElement(input);
+        if (result)
         {
-            if (*nillableResult)
-            {
-                cout << "nillable element=" << nillableResult << endl;
-            }
+            if (*result)
+                cout << "nillable element=" << result << endl;
             else
-            {
                 cout << "nillable element=<empty>" << endl;
-            }
-            delete nillableResult;
+                
+            delete result;
         }
         else
-        {
             cout << "nillable element=<nil>" << endl;
-        }
         delete [] input;
 
         // Test empty nillable element
-        emptyInput = new char[1];
-        strcpy (emptyInput, emptyName);
-        nillableResult = ws->asNillableElement(emptyInput);
-        if (nillableResult)
+        input = new char[1];
+        strcpy (input, emptyName);
+        result = ws->asNillableElement(input);
+        if (result)
         {
-            if (*nillableResult)
-            {
-                cout << "empty nillable element=" << nillableResult << endl;
-            }
+            if (*result)
+                cout << "empty nillable element=" << result << endl;
             else
-            {
                 cout << "empty nillable element=<empty>" << endl;
-            }
-            delete nillableResult;
+
+            delete result;
         }
         else
-        {
             cout << "empty nillable element=<nil>" << endl;
-        }
-        delete [] emptyInput;
+
+        delete [] input;
 
         // Test nillable element, with nil
-        nillableResult = ws->asNillableElement(NULL);
-        if (nillableResult)
+        result = ws->asNillableElement(NULL);
+        if (result)
         {
-            if (*nillableResult)
-            {
-                cout << "nil element=" << nillableResult << endl;
-            }
+            if (*result)
+                cout << "nil element=" << result << endl;
             else
-            {
                 cout << "nil element=<empty>" << endl;
-            }
-            delete nillableResult;
+                
+            delete result;
         }
         else
-        {
             cout << "nil element=<nil>" << endl;
-        }
 
         // Test required attribute
         input = new char[25];
         strcpy (input, simpleName);
-        RequiredAttributeElement requiredAttributeInput;
+
         requiredAttributeInput.setrequiredAttribute(input);
-        RequiredAttributeElement* requiredAttributeResult = ws->asRequiredAttribute(&requiredAttributeInput);
+        requiredAttributeResult = ws->asRequiredAttribute(&requiredAttributeInput);
+        
         if (requiredAttributeResult->getrequiredAttribute())
         {
             if (*(requiredAttributeResult->getrequiredAttribute()))
-            {
                 cout << "required attribute=" << requiredAttributeResult->getrequiredAttribute() << endl;
-            }
             else
-            {
                 cout << "required attribute=<empty>" << endl;
-            }
         }
         else
-        {
             cout << "required attribute=<nil>" << endl;
-        }
+            
         delete requiredAttributeResult;
 
         // Test empty required attribute
-        emptyInput = new char[1];
-        strcpy (emptyInput, emptyName);
-        requiredAttributeInput;
-        requiredAttributeInput.setrequiredAttribute(emptyInput);
+        input = new char[1];
+        strcpy (input, emptyName);
+
+        requiredAttributeInput.setrequiredAttribute(input);
         requiredAttributeResult = ws->asRequiredAttribute(&requiredAttributeInput);
         if (requiredAttributeResult->getrequiredAttribute())
         {
             if (*(requiredAttributeResult->getrequiredAttribute()))
-            {
                 cout << "empty required attribute=" << requiredAttributeResult->getrequiredAttribute() << endl;
-            }
             else
-            {
                 cout << "empty required attribute=<empty>" << endl;
-            }
         }
         else
-        {
             cout << "empty required attribute=<nil>" << endl;
-        }
+
         delete requiredAttributeResult;
 
 /*  Optional Attributes currently unsupported by WSDL2Ws
@@ -199,42 +189,32 @@
         if (optionalAttributeResult->getoptionalAttribute())
         {
             if (*(optionalAttributeResult->getoptionalAttribute()))
-            {
                 cout << "optional attribute, with data=" << optionalAttributeResult->getoptionalAttribute() << endl;
-            }
             else
-            {
                 cout << "optional attribute, with data=<empty>" << endl;
-            }
         }
         else
-        {
             cout << "optional attribute, with data=<not present>" << endl;
-        }
+
         delete [] input;
         delete optionalAttributeResult;
 
         // Test empty optional attribute
-        emptyInput = new char[1];
-        strcpy (emptyInput, emptyName);
-        optionalAttributeInput.setoptionalAttribute(emptyInput);
+        input = new char[1];
+        strcpy (input, emptyName);
+        optionalAttributeInput.setoptionalAttribute(input);
         optionalAttributeResult = ws->asOptionalAttribute(&optionalAttributeInput);
         if (optionalAttributeResult->getoptionalAttribute())
         {
             if (*(optionalAttributeResult->getoptionalAttribute()))
-            {
                 cout << "empty optional attribute=" << optionalAttributeResult->getoptionalAttribute() << endl;
-            }
             else
-            {
                 cout << "empty optional attribute=<empty>" << endl;
-            }
         }
         else
-        {
             cout << "empty optional attribute=<not present>" << endl;
-        }
-        delete [] emptyInput;
+
+        delete [] input;
         delete optionalAttributeResult;
 
         // Test optional attribute, not present
@@ -243,59 +223,45 @@
         if (optionalAttributeResult->getoptionalAttribute())
         {
             if (*(optionalAttributeResult->getoptionalAttribute()))
-            {
                 cout << "optional attribute, not present=" << optionalAttributeResult->getoptionalAttribute() << endl;
-            }
             else
-            {
                 cout << "optional attribute, not present=<empty>" << endl;
-            }
         }
         else
-        {
             cout << "optional attribute, not present=<not present>" << endl;
-        }
         delete optionalAttributeResult;
 */
 
         // Test array
-          xsd__Name_Array arrayInput;
-                 int arraySize=2;
-                 xsd__Name *array = new xsd__Name[arraySize];        
+        xsd__Name_Array arrayInput;
+        int arraySize=2;
+        xsd__Name *array = new xsd__Name[arraySize];        
         for (int inputIndex=0 ; inputIndex <arraySize ; inputIndex++)
         {
             array[inputIndex] = new char[25];
             strcpy (array[inputIndex], simpleName);
-           
         }
-                arrayInput.set(array,arraySize);
+        arrayInput.set(array,arraySize);
         xsd__Name_Array* arrayResult = ws->asArray(&arrayInput);
-                int outputSize=0;
-                const xsd__Name *output = arrayResult->get(outputSize);
+        int outputSize=0;
+        const xsd__Name *output = arrayResult->get(outputSize);
         cout << "array of " << outputSize << " elements" << endl;
         for (int index = 0; index < outputSize ; index++)
         {
             if (output!=NULL)
             {
                 if (output[index]!=NULL)
-                {
                     cout << "  element[" << index << "]=" << output[index] << endl;
-                }
                 else
-                {
                     cout << "  element[" << index << "]=<empty>" << endl;
-                }
              }
             else
-            {
                 cout << "  element[" << index << "]=<nil>" << endl;
-            }
         }
         // Clear up input array        
         for (int deleteIndex = 0 ; deleteIndex < arraySize ; deleteIndex++ )
-        {
             delete array[deleteIndex];
-        }
+
         delete [] array;
         delete arrayResult;
 
@@ -309,18 +275,13 @@
         if (complexTypeResult->getcomplexTypeElement())
         {
             if (*(complexTypeResult->getcomplexTypeElement()))
-            {
                 cout << "within complex type=" << complexTypeResult->getcomplexTypeElement() << endl;
-            }
             else
-            {
                 cout << "within complex type=<empty>" << endl;
-            }
         }
         else
-        {
             cout << "within complex type=<nil>" << endl;
-        }
+
         delete complexTypeResult;  
 
         // Tests now complete