You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-commits@axis.apache.org by na...@apache.org on 2011/05/18 21:02:14 UTC

svn commit: r1124384 - in /axis/axis1/c/trunk/tests/auto_build/testcases/client/c: AxisBenchClient.c CommonClientTestCode.h XSD_dateTimeClient.c XSD_timeClient.c

Author: nadiramra
Date: Wed May 18 19:02:14 2011
New Revision: 1124384

URL: http://svn.apache.org/viewvc?rev=1124384&view=rev
Log:
Minor - Test cases should take into account daylight saving time

Modified:
    axis/axis1/c/trunk/tests/auto_build/testcases/client/c/AxisBenchClient.c
    axis/axis1/c/trunk/tests/auto_build/testcases/client/c/CommonClientTestCode.h
    axis/axis1/c/trunk/tests/auto_build/testcases/client/c/XSD_dateTimeClient.c
    axis/axis1/c/trunk/tests/auto_build/testcases/client/c/XSD_timeClient.c

Modified: axis/axis1/c/trunk/tests/auto_build/testcases/client/c/AxisBenchClient.c
URL: http://svn.apache.org/viewvc/axis/axis1/c/trunk/tests/auto_build/testcases/client/c/AxisBenchClient.c?rev=1124384&r1=1124383&r2=1124384&view=diff
==============================================================================
--- axis/axis1/c/trunk/tests/auto_build/testcases/client/c/AxisBenchClient.c (original)
+++ axis/axis1/c/trunk/tests/auto_build/testcases/client/c/AxisBenchClient.c Wed May 18 19:02:14 2011
@@ -170,7 +170,7 @@ int main(int argc, char* argv[])
                 printf( " IntegerType %lld\n", outArray[i]->IntegerType );
                 printf( " DoubleType %g\n", outArray[i]->DoubleType );
                 printf( " BooleanType %d\n", outArray[i]->BooleanType );
-                strftime(dateTime, 50, "%a %b %d %H:%M:%S %Y", &outArray[i]->DateTimeType);
+                strftime(dateTime, 50, "%a %b %d %H:%M:%S %Y", adjustTimeStruct(&outArray[i]->DateTimeType));
                 printf( " DateTimeType %s\n", dateTime );
                 strftime(dateTime, 50, "%a %b %d %Y", &outArray[i]->DateType);
                 printf( " DateType %s\n", dateTime );

Modified: axis/axis1/c/trunk/tests/auto_build/testcases/client/c/CommonClientTestCode.h
URL: http://svn.apache.org/viewvc/axis/axis1/c/trunk/tests/auto_build/testcases/client/c/CommonClientTestCode.h?rev=1124384&r1=1124383&r2=1124384&view=diff
==============================================================================
--- axis/axis1/c/trunk/tests/auto_build/testcases/client/c/CommonClientTestCode.h (original)
+++ axis/axis1/c/trunk/tests/auto_build/testcases/client/c/CommonClientTestCode.h Wed May 18 19:02:14 2011
@@ -7,6 +7,8 @@
  */
 
 #include <stdio.h>
+#include <time.h>
+#include <string.h>
 
 #define C_BOOL  int
 #define C_FALSE (int)0
@@ -145,6 +147,69 @@ char * asciiToStringOfLength( char * pSt
 
 #endif
 
+
+// Following functions adjust the tm structure by taking in consideration
+// daylight saving time...so that when we spit out the results it will
+// match what is expected (which is not with daylight saving time)
+
+C_BOOL isDSTInEffect()
+{
+    time_t currentTime;
+    struct tm *ts;
+
+    (void)time(&currentTime);
+    ts = localtime(&currentTime);
+
+    if (ts->tm_isdst > 0)
+        return C_TRUE;
+
+    return C_FALSE;
+}
+
+struct tm * adjustTimeStruct(struct tm *t)
+{
+
+    if (0)
+    {
+      printf("tm_hour:  %d\n",t->tm_hour);
+      printf("tm_min:  %d\n",t->tm_min);
+      printf("tm_sec:  %d\n",t->tm_sec);
+      printf("tm_mon:  %d\n",t->tm_mon);
+      printf("tm_mday:  %d\n",t->tm_mday);
+      printf("tm_year:  %d\n",t->tm_year);
+      printf("tm_yday:  %d\n",t->tm_yday);
+      printf("tm_wday:  %d\n",t->tm_wday);
+      printf("tm_isdst:  %d\n",t->tm_isdst);
+    }
+
+    if (isDSTInEffect())
+    {
+        --(t->tm_hour);
+
+       if (t->tm_hour < 0)
+            mktime (t);
+    }
+
+    if (0)
+    {
+     printf("===After\n");
+
+     printf("tm_hour:  %d\n",t->tm_hour);
+     printf("tm_min:  %d\n",t->tm_min);
+     printf("tm_sec:  %d\n",t->tm_sec);
+     printf("tm_mon:  %d\n",t->tm_mon);
+     printf("tm_mday:  %d\n",t->tm_mday);
+     printf("tm_year:  %d\n",t->tm_year);
+     printf("tm_yday:  %d\n",t->tm_yday);
+     printf("tm_wday:  %d\n",t->tm_wday);
+     printf("tm_isdst:  %d\n",t->tm_isdst);
+    }
+
+    return t;
+}
+
+
+
 static C_BOOL exceptionOccurred = C_FALSE;
 void exceptionHandler(int errorCode, const char *errorString, void *pSoapFault, void *pSoapFaultDetail)
 {
@@ -152,4 +217,4 @@ void exceptionHandler(int errorCode, con
     printf("AxisException : %s\n", errorString);
 }
 
-#endif
\ No newline at end of file
+#endif

Modified: axis/axis1/c/trunk/tests/auto_build/testcases/client/c/XSD_dateTimeClient.c
URL: http://svn.apache.org/viewvc/axis/axis1/c/trunk/tests/auto_build/testcases/client/c/XSD_dateTimeClient.c?rev=1124384&r1=1124383&r2=1124384&view=diff
==============================================================================
--- axis/axis1/c/trunk/tests/auto_build/testcases/client/c/XSD_dateTimeClient.c (original)
+++ axis/axis1/c/trunk/tests/auto_build/testcases/client/c/XSD_dateTimeClient.c Wed May 18 19:02:14 2011
@@ -50,14 +50,14 @@ int main(int argc, char* argv[])
 
     // Test non-nillable element
     result = asNonNillableElement(ws, input);
-    strftime(returnString, 50, "%a %b %d %H:%M:%S %Y", &result);
+    strftime(returnString, 50, "%a %b %d %H:%M:%S %Y", adjustTimeStruct(&result));
     printf( "non-nillable element=%s\n" , returnString );
 
     // Test nillable element, with a value
     nillableResult = asNillableElement(ws, &input);
     if (nillableResult)
     {
-        strftime(returnString, 50, "%a %b %d %H:%M:%S %Y", nillableResult);
+        strftime(returnString, 50, "%a %b %d %H:%M:%S %Y", adjustTimeStruct(nillableResult));
         printf( "nillable element=%s\n" , returnString );
         axiscAxisDelete(nillableResult, XSDC_DATETIME);
     }
@@ -68,7 +68,7 @@ int main(int argc, char* argv[])
     nillableResult = asNillableElement(ws, NULL);
     if (nillableResult)
     {
-        strftime(returnString, 50, "%a %b %d %H:%M:%S %Y", nillableResult);
+        strftime(returnString, 50, "%a %b %d %H:%M:%S %Y", adjustTimeStruct(nillableResult));
         printf( "nil element=%s\n" , returnString );
         axiscAxisDelete(nillableResult, XSDC_DATETIME);
     }
@@ -83,7 +83,7 @@ int main(int argc, char* argv[])
         requiredAttributeInput.requiredAttribute= (input);
         requiredAttributeResult = asRequiredAttribute(ws, &requiredAttributeInput);
         result = requiredAttributeResult->requiredAttribute;
-        strftime(returnString, 50, "%a %b %d %H:%M:%S %Y", &result);
+        strftime(returnString, 50, "%a %b %d %H:%M:%S %Y", adjustTimeStruct(&result));
         printf( "required attribute=%s\n" , returnString );
         Axis_Delete_RequiredAttributeElement(requiredAttributeResult, 0);
     }
@@ -145,7 +145,7 @@ int main(int argc, char* argv[])
 
         for (i = 0; i < outputSize ; i++)
         {
-            strftime(returnString, 50, "%a %b %d %H:%M:%S %Y", output[i]);
+            strftime(returnString, 50, "%a %b %d %H:%M:%S %Y", adjustTimeStruct((struct tm *)output[i]));
             printf( "  element[%d]=%s\n", i , returnString );
         }
 
@@ -161,7 +161,7 @@ int main(int argc, char* argv[])
         complexTypeInput.complexTypeElement = input;
         complexTypeResult = asComplexType(ws, &complexTypeInput);
         result = complexTypeResult->complexTypeElement;
-        strftime(returnString, 50, "%a %b %d %H:%M:%S %Y", &result);
+        strftime(returnString, 50, "%a %b %d %H:%M:%S %Y", adjustTimeStruct(&result));
         printf( "within complex type=%s\n" , returnString );
         Axis_Delete_SimpleComplexType(complexTypeResult, 0);
     }

Modified: axis/axis1/c/trunk/tests/auto_build/testcases/client/c/XSD_timeClient.c
URL: http://svn.apache.org/viewvc/axis/axis1/c/trunk/tests/auto_build/testcases/client/c/XSD_timeClient.c?rev=1124384&r1=1124383&r2=1124384&view=diff
==============================================================================
--- axis/axis1/c/trunk/tests/auto_build/testcases/client/c/XSD_timeClient.c (original)
+++ axis/axis1/c/trunk/tests/auto_build/testcases/client/c/XSD_timeClient.c Wed May 18 19:02:14 2011
@@ -50,14 +50,14 @@ int main(int argc, char* argv[])
 
     // Test non-nillable element
     result = asNonNillableElement(ws, input);
-    strftime(returnString, 50, "%H:%M:%S", &result);
+    strftime(returnString, 50, "%H:%M:%S", adjustTimeStruct(&result));
     printf("non-nillable element=%s\n" , returnString );
 
     // Test nillable element, with a value
     nillableResult = asNillableElement(ws, &input);
     if (nillableResult)
     {
-        strftime(returnString, 50, "%H:%M:%S", nillableResult);
+        strftime(returnString, 50, "%H:%M:%S", adjustTimeStruct(nillableResult));
         printf("nillable element=%s\n" , returnString );
         axiscAxisDelete(nillableResult, XSDC_TIME);
     }
@@ -68,7 +68,7 @@ int main(int argc, char* argv[])
     nillableResult = asNillableElement(ws, NULL);
     if (nillableResult)
     {
-        strftime(returnString, 50, "%H:%M:%S", nillableResult);
+        strftime(returnString, 50, "%H:%M:%S", adjustTimeStruct(nillableResult));
         printf("nil element=%s\n" , returnString );
         axiscAxisDelete(nillableResult, XSDC_TIME);
     }
@@ -83,7 +83,7 @@ int main(int argc, char* argv[])
         requiredAttributeInput.requiredAttribute = input;
         requiredAttributeResult = asRequiredAttribute(ws, &requiredAttributeInput);
         result = requiredAttributeResult->requiredAttribute;
-        strftime(returnString, 50, "%H:%M:%S", &result);
+        strftime(returnString, 50, "%H:%M:%S", adjustTimeStruct(&result));
         printf("required attribute=%s\n" , returnString );
         Axis_Delete_RequiredAttributeElement(requiredAttributeResult, 0);
     }
@@ -147,7 +147,7 @@ int main(int argc, char* argv[])
         printf("array of %d elements\n" , outputSize);
         for (i = 0; i < outputSize ; i++)
         {
-            strftime(returnString, 50, "%H:%M:%S", output[i]);
+            strftime(returnString, 50, "%H:%M:%S", adjustTimeStruct((struct tm *)output[i]));
             printf("  element[%d]=%s\n" , i , returnString );
         }
         
@@ -166,7 +166,7 @@ int main(int argc, char* argv[])
         complexTypeInput.complexTypeElement = input;
         complexTypeResult = asComplexType(ws, &complexTypeInput);
         result = complexTypeResult->complexTypeElement;
-        strftime(returnString, 50, "%H:%M:%S", &result);
+        strftime(returnString, 50, "%H:%M:%S", adjustTimeStruct(&result));
         printf("within complex type=%s\n" , returnString );
         Axis_Delete_SimpleComplexType(complexTypeResult, 0);
     }