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 20:26:35 UTC
svn commit: r1124367 - in
/axis/axis1/c/trunk/tests/auto_build/testcases/client/cpp:
AxisBenchClient.cpp CommonClientTestCode.hpp InteropTestRound1Client.cpp
XSDElementClient.cpp XSDElementNilClient.cpp XSD_dateTimeClient.cpp
XSD_timeClient.cpp
Author: nadiramra
Date: Wed May 18 18:26:34 2011
New Revision: 1124367
URL: http://svn.apache.org/viewvc?rev=1124367&view=rev
Log:
Minor - Test cases should take into account daylight saving time
Modified:
axis/axis1/c/trunk/tests/auto_build/testcases/client/cpp/AxisBenchClient.cpp
axis/axis1/c/trunk/tests/auto_build/testcases/client/cpp/CommonClientTestCode.hpp
axis/axis1/c/trunk/tests/auto_build/testcases/client/cpp/InteropTestRound1Client.cpp
axis/axis1/c/trunk/tests/auto_build/testcases/client/cpp/XSDElementClient.cpp
axis/axis1/c/trunk/tests/auto_build/testcases/client/cpp/XSDElementNilClient.cpp
axis/axis1/c/trunk/tests/auto_build/testcases/client/cpp/XSD_dateTimeClient.cpp
axis/axis1/c/trunk/tests/auto_build/testcases/client/cpp/XSD_timeClient.cpp
Modified: axis/axis1/c/trunk/tests/auto_build/testcases/client/cpp/AxisBenchClient.cpp
URL: http://svn.apache.org/viewvc/axis/axis1/c/trunk/tests/auto_build/testcases/client/cpp/AxisBenchClient.cpp?rev=1124367&r1=1124366&r2=1124367&view=diff
==============================================================================
--- axis/axis1/c/trunk/tests/auto_build/testcases/client/cpp/AxisBenchClient.cpp (original)
+++ axis/axis1/c/trunk/tests/auto_build/testcases/client/cpp/AxisBenchClient.cpp Wed May 18 18:26:34 2011
@@ -212,7 +212,8 @@ int main( int argc, char * argv[])
cout << " IntegerType " << outArray[i]->IntegerType << endl;
cout << " DoubleType " << outArray[i]->DoubleType << endl;
cout << " BooleanType " << outArray[i]->BooleanType << endl;
- 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));
cout << " DateTimeType " << dateTime << endl;
strftime(dateTime, 50, "%a %b %d %Y", &outArray[i]->DateType);
cout << " DateType " << dateTime << endl;
Modified: axis/axis1/c/trunk/tests/auto_build/testcases/client/cpp/CommonClientTestCode.hpp
URL: http://svn.apache.org/viewvc/axis/axis1/c/trunk/tests/auto_build/testcases/client/cpp/CommonClientTestCode.hpp?rev=1124367&r1=1124366&r2=1124367&view=diff
==============================================================================
--- axis/axis1/c/trunk/tests/auto_build/testcases/client/cpp/CommonClientTestCode.hpp (original)
+++ axis/axis1/c/trunk/tests/auto_build/testcases/client/cpp/CommonClientTestCode.hpp Wed May 18 18:26:34 2011
@@ -1,6 +1,11 @@
#ifndef __COMMONHEADERFILE
#define __COMMONHEADERFILE
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <string.h>
+
// Prototype
bool parse_args(int *argc, char *argv[], char **endpoint);
void shift_args_up(int i, int *argc, char *argv[]);
@@ -230,4 +235,67 @@ void shift_args_up(int i, int *argc, cha
*argc-=2;
}
-#endif
\ No newline at end of file
+// 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)
+
+bool isDSTInEffect()
+{
+ time_t currentTime;
+ struct tm *ts;
+
+ (void)time(¤tTime);
+ ts = localtime(¤tTime);
+
+ if (ts->tm_isdst > 0)
+ return true;
+
+ return 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;
+}
+
+
+
+#endif
Modified: axis/axis1/c/trunk/tests/auto_build/testcases/client/cpp/InteropTestRound1Client.cpp
URL: http://svn.apache.org/viewvc/axis/axis1/c/trunk/tests/auto_build/testcases/client/cpp/InteropTestRound1Client.cpp?rev=1124367&r1=1124366&r2=1124367&view=diff
==============================================================================
--- axis/axis1/c/trunk/tests/auto_build/testcases/client/cpp/InteropTestRound1Client.cpp (original)
+++ axis/axis1/c/trunk/tests/auto_build/testcases/client/cpp/InteropTestRound1Client.cpp Wed May 18 18:26:34 2011
@@ -334,37 +334,34 @@ int main( int argc, char * argv[])
xsd__dateTime ed_temp = ws.echoDate( time);
- // A simple memcmp of ed_temp and time will not work because
- // it does not take into account timezone, so we need to
- // compare results of asctime()
- char ExpectedTime[1024];
- char ReturnedTime[1024];
-
- char * pExpectedTime = asctime( &time );
- int iETLength = (pExpectedTime != NULL) ? (int) strlen(pExpectedTime) : 0;
- if (iETLength > 0)
- strcpy(ExpectedTime, pExpectedTime);
-
- char * pReturnedTime = asctime( &ed_temp );
- int iRTLength = (pReturnedTime != NULL) ? (int) strlen(pReturnedTime) : 0;
- if( iRTLength > 0)
- strcpy(ReturnedTime, pReturnedTime);
-
- if( iETLength > 0 &&
- iRTLength > 0 &&
- strcmp(ExpectedTime, ReturnedTime) == 0)
+ adjustTimeStruct(&ed_temp);
+
+ if( memcmp(&time, &ed_temp, sizeof(struct tm)) == 0)
{
cout << "successful" << endl;
}
else
{
- if( iETLength == 0)
- strcpy(ExpectedTime,"NULL");
+ char ExpectedTime[1024];
+ char ReturnedTime[1024];
+
+ char * pExpectedTime = asctime( &time );
+ int iETLength = (pExpectedTime != NULL) ? (int) strlen(pExpectedTime) : 0;
+ if (iETLength > 0)
+ strcpy(ExpectedTime, pExpectedTime);
+
+ char * pReturnedTime = asctime( &ed_temp );
+ int iRTLength = (pReturnedTime != NULL) ? (int) strlen(pReturnedTime) : 0;
+ if( iRTLength > 0)
+ strcpy(ReturnedTime, pReturnedTime);
+
+ if( iETLength == 0)
+ strcpy(ExpectedTime,"NULL");
+
+ if( iRTLength == 0)
+ strcpy(ReturnedTime,"NULL");
- if( iRTLength == 0)
- strcpy(ReturnedTime,"NULL");
-
- cout << "Failed. The expected time (" << ExpectedTime << ") was not the same as the returned time (" << ReturnedTime << ")." << endl;
+ cout << "Failed. The expected time (" << ExpectedTime << ") was not the same as the returned time (" << ReturnedTime << ")." << endl;
}
//testing echo hex binary
Modified: axis/axis1/c/trunk/tests/auto_build/testcases/client/cpp/XSDElementClient.cpp
URL: http://svn.apache.org/viewvc/axis/axis1/c/trunk/tests/auto_build/testcases/client/cpp/XSDElementClient.cpp?rev=1124367&r1=1124366&r2=1124367&view=diff
==============================================================================
--- axis/axis1/c/trunk/tests/auto_build/testcases/client/cpp/XSDElementClient.cpp (original)
+++ axis/axis1/c/trunk/tests/auto_build/testcases/client/cpp/XSDElementClient.cpp Wed May 18 18:26:34 2011
@@ -155,7 +155,7 @@ int main(int argc, char* argv[])
cout << "date=" << dateTime << endl;
dateTimeResult = ws->setGetDateTimeType(testDate);
- strftime(dateTime, 50, "%a %b %d %H:%M:%S %Y", &dateTimeResult);
+ strftime(dateTime, 50, "%a %b %d %H:%M:%S %Y", adjustTimeStruct(&dateTimeResult));
cout << "dateTime=" << dateTime << endl;
// This is being commented out due to issue on some servers
Modified: axis/axis1/c/trunk/tests/auto_build/testcases/client/cpp/XSDElementNilClient.cpp
URL: http://svn.apache.org/viewvc/axis/axis1/c/trunk/tests/auto_build/testcases/client/cpp/XSDElementNilClient.cpp?rev=1124367&r1=1124366&r2=1124367&view=diff
==============================================================================
--- axis/axis1/c/trunk/tests/auto_build/testcases/client/cpp/XSDElementNilClient.cpp (original)
+++ axis/axis1/c/trunk/tests/auto_build/testcases/client/cpp/XSDElementNilClient.cpp Wed May 18 18:26:34 2011
@@ -230,7 +230,7 @@ int main(int argc, char* argv[])
cout << "date nil=NULL" << endl;
dateTimeResult = ws->setGetDateTimeType(&testDate);
- strftime(dateTime, 50, "%a %b %d %H:%M:%S %Y", dateTimeResult);
+ strftime(dateTime, 50, "%a %b %d %H:%M:%S %Y", adjustTimeStruct(dateTimeResult));
cout << "dateTime=" << dateTime << endl;
dateTimeResult = ws->setGetDateTimeType(NULL);
if(dateTimeResult) {
Modified: axis/axis1/c/trunk/tests/auto_build/testcases/client/cpp/XSD_dateTimeClient.cpp
URL: http://svn.apache.org/viewvc/axis/axis1/c/trunk/tests/auto_build/testcases/client/cpp/XSD_dateTimeClient.cpp?rev=1124367&r1=1124366&r2=1124367&view=diff
==============================================================================
--- axis/axis1/c/trunk/tests/auto_build/testcases/client/cpp/XSD_dateTimeClient.cpp (original)
+++ axis/axis1/c/trunk/tests/auto_build/testcases/client/cpp/XSD_dateTimeClient.cpp Wed May 18 18:26:34 2011
@@ -29,6 +29,8 @@
#include <ctype.h>
#include <iostream>
+#include "CommonClientTestCode.hpp"
+
int main(int argc, char* argv[])
{
@@ -60,14 +62,14 @@ int main(int argc, char* argv[])
// Test non-nillable element
result = ws->asNonNillableElement(input);
- strftime(returnString, 50, "%a %b %d %H:%M:%S %Y", &result);
+ strftime(returnString, 50, "%a %b %d %H:%M:%S %Y", adjustTimeStruct(&result));
cout << "non-nillable element=" << returnString << endl;
// Test nillable element, with a value
nillableResult = ws->asNillableElement(&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));
cout << "nillable element=" << returnString << endl;
delete nillableResult;
}
@@ -78,7 +80,7 @@ int main(int argc, char* argv[])
nillableResult = ws->asNillableElement(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));
cout << "nil element=" << returnString << endl;
delete nillableResult;
}
@@ -92,7 +94,7 @@ int main(int argc, char* argv[])
requiredAttributeInput.setrequiredAttribute(input);
requiredAttributeResult = ws->asRequiredAttribute(&requiredAttributeInput);
result = requiredAttributeResult->getrequiredAttribute();
- strftime(returnString, 50, "%a %b %d %H:%M:%S %Y", &result);
+ strftime(returnString, 50, "%a %b %d %H:%M:%S %Y", adjustTimeStruct(&result));
cout << "required attribute=" << returnString << endl;
delete requiredAttributeResult;
@@ -144,7 +146,7 @@ int main(int argc, char* argv[])
cout << "array of " << outputSize << " elements" << endl;
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]));
cout << " element[" << i << "]=" << returnString << endl;
}
// Clear up input array
@@ -160,7 +162,7 @@ int main(int argc, char* argv[])
complexTypeInput.setcomplexTypeElement(input);
complexTypeResult = ws->asComplexType(&complexTypeInput);
result = complexTypeResult->getcomplexTypeElement();
- strftime(returnString, 50, "%a %b %d %H:%M:%S %Y", &result);
+ strftime(returnString, 50, "%a %b %d %H:%M:%S %Y", adjustTimeStruct(&result));
cout << "within complex type=" << returnString << endl;
delete complexTypeResult;
Modified: axis/axis1/c/trunk/tests/auto_build/testcases/client/cpp/XSD_timeClient.cpp
URL: http://svn.apache.org/viewvc/axis/axis1/c/trunk/tests/auto_build/testcases/client/cpp/XSD_timeClient.cpp?rev=1124367&r1=1124366&r2=1124367&view=diff
==============================================================================
--- axis/axis1/c/trunk/tests/auto_build/testcases/client/cpp/XSD_timeClient.cpp (original)
+++ axis/axis1/c/trunk/tests/auto_build/testcases/client/cpp/XSD_timeClient.cpp Wed May 18 18:26:34 2011
@@ -28,6 +28,7 @@
#include <ctype.h>
#include <iostream>
+#include "CommonClientTestCode.hpp"
int main(int argc, char* argv[])
{
@@ -58,7 +59,7 @@ int main(int argc, char* argv[])
// Test non-nillable element
result = ws->asNonNillableElement(input);
- strftime(returnString, 50, "%H:%M:%S", &result);
+ strftime(returnString, 50, "%H:%M:%S", adjustTimeStruct(&result));
cout << "non-nillable element=" << returnString << endl;
// Test nillable element, with a value
@@ -67,7 +68,7 @@ int main(int argc, char* argv[])
nillableResult = ws->asNillableElement(nillableInput);
if (nillableResult)
{
- strftime(returnString, 50, "%H:%M:%S", nillableResult);
+ strftime(returnString, 50, "%H:%M:%S", adjustTimeStruct(nillableResult));
cout << "nillable element=" << returnString << endl;
delete nillableResult;
}
@@ -79,7 +80,7 @@ int main(int argc, char* argv[])
nillableResult = ws->asNillableElement(NULL);
if (nillableResult)
{
- strftime(returnString, 50, "%H:%M:%S", nillableResult);
+ strftime(returnString, 50, "%H:%M:%S", adjustTimeStruct(nillableResult));
cout << "nil element=" << returnString << endl;
delete nillableResult;
}
@@ -91,7 +92,7 @@ int main(int argc, char* argv[])
requiredAttributeInput.setrequiredAttribute(input);
RequiredAttributeElement* requiredAttributeResult = ws->asRequiredAttribute(&requiredAttributeInput);
result = requiredAttributeResult->getrequiredAttribute();
- strftime(returnString, 50, "%H:%M:%S", &result);
+ strftime(returnString, 50, "%H:%M:%S", adjustTimeStruct(&result));
cout << "required attribute=" << returnString << endl;
delete requiredAttributeResult;
@@ -142,7 +143,7 @@ int main(int argc, char* argv[])
cout << "array of " << outputSize << " elements" << endl;
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]));
cout << " element[" << i << "]=" << returnString << endl;
}
@@ -160,7 +161,7 @@ int main(int argc, char* argv[])
complexTypeInput.setcomplexTypeElement(input);
SimpleComplexType* complexTypeResult = ws->asComplexType(&complexTypeInput);
result = complexTypeResult->getcomplexTypeElement();
- strftime(returnString, 50, "%H:%M:%S", &result);
+ strftime(returnString, 50, "%H:%M:%S", adjustTimeStruct(&result));
cout << "within complex type=" << returnString << endl;
delete complexTypeResult;