未验证 提交 8f30cdfe 编写于 作者: wafwerar's avatar wafwerar 提交者: GitHub

Merge pull request #13635 from taosdata/fix/ZhiqiangWang/TD-16262-add-win32-taosd-case

fix(os): add win32 taosd case
...@@ -348,7 +348,7 @@ static FORCE_INLINE void varToNchar(char* buf, SScalarParam* pOut, int32_t rowIn ...@@ -348,7 +348,7 @@ static FORCE_INLINE void varToNchar(char* buf, SScalarParam* pOut, int32_t rowIn
int32_t outputMaxLen = (inputLen + 1) * TSDB_NCHAR_SIZE + VARSTR_HEADER_SIZE; int32_t outputMaxLen = (inputLen + 1) * TSDB_NCHAR_SIZE + VARSTR_HEADER_SIZE;
char* t = taosMemoryCalloc(1, outputMaxLen); char* t = taosMemoryCalloc(1, outputMaxLen);
/*int32_t resLen = */taosMbsToUcs4(varDataVal(buf), inputLen, (TdUcs4*) varDataVal(t), outputMaxLen, &len); /*int32_t resLen = */taosMbsToUcs4(varDataVal(buf), inputLen, (TdUcs4*) varDataVal(t), outputMaxLen - VARSTR_HEADER_SIZE, &len);
varDataSetLen(t, len); varDataSetLen(t, len);
colDataAppend(pOut->columnData, rowIndex, t, false); colDataAppend(pOut->columnData, rowIndex, t, false);
......
...@@ -28,92 +28,48 @@ ...@@ -28,92 +28,48 @@
#ifdef WINDOWS #ifdef WINDOWS
#include <time.h> #include <stdlib.h>
#include <stdlib.h>
#include <string.h> #include <string.h>
#include <time.h>
//#define TM_YEAR_BASE 1970 //origin //#define TM_YEAR_BASE 1970 //origin
#define TM_YEAR_BASE 1900 //slguan #define TM_YEAR_BASE 1900 // slguan
/* /*
* We do not implement alternate representations. However, we always * We do not implement alternate representations. However, we always
* check whether a given modifier is allowed for a certain conversion. * check whether a given modifier is allowed for a certain conversion.
*/ */
#define ALT_E 0x01 #define ALT_E 0x01
#define ALT_O 0x02 #define ALT_O 0x02
#define LEGAL_ALT(x) { if (alt_format & ~(x)) return (0); } #define LEGAL_ALT(x) \
{ \
if (alt_format & ~(x)) return (0); \
}
static int conv_num(const char **buf, int *dest, int llim, int ulim) static int conv_num(const char **buf, int *dest, int llim, int ulim) {
{ int result = 0;
int result = 0;
/* The limit also determines the number of valid digits. */ /* The limit also determines the number of valid digits. */
int rulim = ulim; int rulim = ulim;
if (**buf < '0' || **buf > '9') if (**buf < '0' || **buf > '9') return (0);
return (0);
do { do {
result *= 10; result *= 10;
result += *(*buf)++ - '0'; result += *(*buf)++ - '0';
rulim /= 10; rulim /= 10;
} while ((result * 10 <= ulim) && rulim && **buf >= '0' && **buf <= '9'); } while ((result * 10 <= ulim) && rulim && **buf >= '0' && **buf <= '9');
if (result < llim || result > ulim) if (result < llim || result > ulim) return (0);
return (0);
*dest = result; *dest = result;
return (1); return (1);
} }
static const char *day[7] = { static const char *day[7] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", static const char *abday[7] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};
"Friday", "Saturday" static const char *mon[12] = {"January", "February", "March", "April", "May", "June",
}; "July", "August", "September", "October", "November", "December"};
static const char *abday[7] = { static const char *abmon[12] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" static const char *am_pm[2] = {"AM", "PM"};
};
static const char *mon[12] = {
"January", "February", "March", "April", "May", "June", "July",
"August", "September", "October", "November", "December"
};
static const char *abmon[12] = {
"Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
};
static const char *am_pm[2] = {
"AM", "PM"
};
#define BILLION (1E9)
static BOOL g_first_time = 1;
static LARGE_INTEGER g_counts_per_sec;
int clock_gettime(int dummy, struct timespec *ct)
{
LARGE_INTEGER count;
if (g_first_time)
{
g_first_time = 0;
if (0 == QueryPerformanceFrequency(&g_counts_per_sec))
{
g_counts_per_sec.QuadPart = 0;
}
}
if ((NULL == ct) || (g_counts_per_sec.QuadPart <= 0) ||
(0 == QueryPerformanceCounter(&count)))
{
return -1;
}
ct->tv_sec = count.QuadPart / g_counts_per_sec.QuadPart;
ct->tv_nsec = ((count.QuadPart % g_counts_per_sec.QuadPart) * BILLION) / g_counts_per_sec.QuadPart;
return 0;
}
#else #else
#include <sys/time.h> #include <sys/time.h>
...@@ -121,301 +77,265 @@ int clock_gettime(int dummy, struct timespec *ct) ...@@ -121,301 +77,265 @@ int clock_gettime(int dummy, struct timespec *ct)
char *taosStrpTime(const char *buf, const char *fmt, struct tm *tm) { char *taosStrpTime(const char *buf, const char *fmt, struct tm *tm) {
#ifdef WINDOWS #ifdef WINDOWS
char c; char c;
const char *bp; const char *bp;
size_t len = 0; size_t len = 0;
int alt_format, i, split_year = 0; int alt_format, i, split_year = 0;
bp = buf; bp = buf;
while ((c = *fmt) != '\0') { while ((c = *fmt) != '\0') {
/* Clear `alternate' modifier prior to new conversion. */ /* Clear `alternate' modifier prior to new conversion. */
alt_format = 0; alt_format = 0;
/* Eat up white-space. */ /* Eat up white-space. */
if (isspace(c)) { if (isspace(c)) {
while (isspace(*bp)) while (isspace(*bp)) bp++;
bp++;
fmt++; fmt++;
continue; continue;
} }
if ((c = *fmt++) != '%')
goto literal;
if ((c = *fmt++) != '%') goto literal;
again: switch (c = *fmt++) { again:
case '%': /* "%%" is converted to "%". */ switch (c = *fmt++) {
literal : case '%': /* "%%" is converted to "%". */
if (c != *bp++) literal:
return (0); if (c != *bp++) return (0);
break; break;
/* /*
* "Alternative" modifiers. Just set the appropriate flag * "Alternative" modifiers. Just set the appropriate flag
* and start over again. * and start over again.
*/ */
case 'E': /* "%E?" alternative conversion modifier. */ case 'E': /* "%E?" alternative conversion modifier. */
LEGAL_ALT(0); LEGAL_ALT(0);
alt_format |= ALT_E; alt_format |= ALT_E;
goto again; goto again;
case 'O': /* "%O?" alternative conversion modifier. */ case 'O': /* "%O?" alternative conversion modifier. */
LEGAL_ALT(0); LEGAL_ALT(0);
alt_format |= ALT_O; alt_format |= ALT_O;
goto again; goto again;
/* /*
* "Complex" conversion rules, implemented through recursion. * "Complex" conversion rules, implemented through recursion.
*/ */
case 'c': /* Date and time, using the locale's format. */ case 'c': /* Date and time, using the locale's format. */
LEGAL_ALT(ALT_E); LEGAL_ALT(ALT_E);
if (!(bp = taosStrpTime(bp, "%x %X", tm))) if (!(bp = taosStrpTime(bp, "%x %X", tm))) return (0);
return (0);
break; break;
case 'D': /* The date as "%m/%d/%y". */ case 'D': /* The date as "%m/%d/%y". */
LEGAL_ALT(0); LEGAL_ALT(0);
if (!(bp = taosStrpTime(bp, "%m/%d/%y", tm))) if (!(bp = taosStrpTime(bp, "%m/%d/%y", tm))) return (0);
return (0);
break; break;
case 'R': /* The time as "%H:%M". */ case 'R': /* The time as "%H:%M". */
LEGAL_ALT(0); LEGAL_ALT(0);
if (!(bp = taosStrpTime(bp, "%H:%M", tm))) if (!(bp = taosStrpTime(bp, "%H:%M", tm))) return (0);
return (0);
break; break;
case 'r': /* The time in 12-hour clock representation. */ case 'r': /* The time in 12-hour clock representation. */
LEGAL_ALT(0); LEGAL_ALT(0);
if (!(bp = taosStrpTime(bp, "%I:%M:%S %p", tm))) if (!(bp = taosStrpTime(bp, "%I:%M:%S %p", tm))) return (0);
return (0);
break; break;
case 'T': /* The time as "%H:%M:%S". */ case 'T': /* The time as "%H:%M:%S". */
LEGAL_ALT(0); LEGAL_ALT(0);
if (!(bp = taosStrpTime(bp, "%H:%M:%S", tm))) if (!(bp = taosStrpTime(bp, "%H:%M:%S", tm))) return (0);
return (0);
break; break;
case 'X': /* The time, using the locale's format. */ case 'X': /* The time, using the locale's format. */
LEGAL_ALT(ALT_E); LEGAL_ALT(ALT_E);
if (!(bp = taosStrpTime(bp, "%H:%M:%S", tm))) if (!(bp = taosStrpTime(bp, "%H:%M:%S", tm))) return (0);
return (0);
break; break;
case 'x': /* The date, using the locale's format. */ case 'x': /* The date, using the locale's format. */
LEGAL_ALT(ALT_E); LEGAL_ALT(ALT_E);
if (!(bp = taosStrpTime(bp, "%m/%d/%y", tm))) if (!(bp = taosStrpTime(bp, "%m/%d/%y", tm))) return (0);
return (0);
break; break;
/* /*
* "Elementary" conversion rules. * "Elementary" conversion rules.
*/ */
case 'A': /* The day of week, using the locale's form. */ case 'A': /* The day of week, using the locale's form. */
case 'a': case 'a':
LEGAL_ALT(0); LEGAL_ALT(0);
for (i = 0; i < 7; i++) { for (i = 0; i < 7; i++) {
/* Full name. */ /* Full name. */
len = strlen(day[i]); len = strlen(day[i]);
if (strncmp(day[i], bp, len) == 0) if (strncmp(day[i], bp, len) == 0) break;
break;
/* Abbreviated name. */
/* Abbreviated name. */ len = strlen(abday[i]);
len = strlen(abday[i]); if (strncmp(abday[i], bp, len) == 0) break;
if (strncmp(abday[i], bp, len) == 0)
break;
} }
/* Nothing matched. */ /* Nothing matched. */
if (i == 7) if (i == 7) return (0);
return (0);
tm->tm_wday = i; tm->tm_wday = i;
bp += len; bp += len;
break; break;
case 'B': /* The month, using the locale's form. */ case 'B': /* The month, using the locale's form. */
case 'b': case 'b':
case 'h': case 'h':
LEGAL_ALT(0); LEGAL_ALT(0);
for (i = 0; i < 12; i++) { for (i = 0; i < 12; i++) {
/* Full name. */ /* Full name. */
len = strlen(mon[i]); len = strlen(mon[i]);
if (strncmp(mon[i], bp, len) == 0) if (strncmp(mon[i], bp, len) == 0) break;
break;
/* Abbreviated name. */
/* Abbreviated name. */ len = strlen(abmon[i]);
len = strlen(abmon[i]); if (strncmp(abmon[i], bp, len) == 0) break;
if (strncmp(abmon[i], bp, len) == 0)
break;
} }
/* Nothing matched. */ /* Nothing matched. */
if (i == 12) if (i == 12) return (0);
return (0);
tm->tm_mon = i; tm->tm_mon = i;
bp += len; bp += len;
break; break;
case 'C': /* The century number. */ case 'C': /* The century number. */
LEGAL_ALT(ALT_E); LEGAL_ALT(ALT_E);
if (!(conv_num(&bp, &i, 0, 99))) if (!(conv_num(&bp, &i, 0, 99))) return (0);
return (0);
if (split_year) { if (split_year) {
tm->tm_year = (tm->tm_year % 100) + (i * 100); tm->tm_year = (tm->tm_year % 100) + (i * 100);
} } else {
else { tm->tm_year = i * 100;
tm->tm_year = i * 100; split_year = 1;
split_year = 1;
} }
break; break;
case 'd': /* The day of month. */ case 'd': /* The day of month. */
case 'e': case 'e':
LEGAL_ALT(ALT_O); LEGAL_ALT(ALT_O);
if (!(conv_num(&bp, &tm->tm_mday, 1, 31))) if (!(conv_num(&bp, &tm->tm_mday, 1, 31))) return (0);
return (0);
break; break;
case 'k': /* The hour (24-hour clock representation). */ case 'k': /* The hour (24-hour clock representation). */
LEGAL_ALT(0); LEGAL_ALT(0);
/* FALLTHROUGH */ /* FALLTHROUGH */
case 'H': case 'H':
LEGAL_ALT(ALT_O); LEGAL_ALT(ALT_O);
if (!(conv_num(&bp, &tm->tm_hour, 0, 23))) if (!(conv_num(&bp, &tm->tm_hour, 0, 23))) return (0);
return (0);
break; break;
case 'l': /* The hour (12-hour clock representation). */ case 'l': /* The hour (12-hour clock representation). */
LEGAL_ALT(0); LEGAL_ALT(0);
/* FALLTHROUGH */ /* FALLTHROUGH */
case 'I': case 'I':
LEGAL_ALT(ALT_O); LEGAL_ALT(ALT_O);
if (!(conv_num(&bp, &tm->tm_hour, 1, 12))) if (!(conv_num(&bp, &tm->tm_hour, 1, 12))) return (0);
return (0); if (tm->tm_hour == 12) tm->tm_hour = 0;
if (tm->tm_hour == 12)
tm->tm_hour = 0;
break; break;
case 'j': /* The day of year. */ case 'j': /* The day of year. */
LEGAL_ALT(0); LEGAL_ALT(0);
if (!(conv_num(&bp, &i, 1, 366))) if (!(conv_num(&bp, &i, 1, 366))) return (0);
return (0);
tm->tm_yday = i - 1; tm->tm_yday = i - 1;
break; break;
case 'M': /* The minute. */ case 'M': /* The minute. */
LEGAL_ALT(ALT_O); LEGAL_ALT(ALT_O);
if (!(conv_num(&bp, &tm->tm_min, 0, 59))) if (!(conv_num(&bp, &tm->tm_min, 0, 59))) return (0);
return (0);
break; break;
case 'm': /* The month. */ case 'm': /* The month. */
LEGAL_ALT(ALT_O); LEGAL_ALT(ALT_O);
if (!(conv_num(&bp, &i, 1, 12))) if (!(conv_num(&bp, &i, 1, 12))) return (0);
return (0);
tm->tm_mon = i - 1; tm->tm_mon = i - 1;
break; break;
case 'p': /* The locale's equivalent of AM/PM. */ case 'p': /* The locale's equivalent of AM/PM. */
LEGAL_ALT(0); LEGAL_ALT(0);
/* AM? */ /* AM? */
if (strcmp(am_pm[0], bp) == 0) { if (strcmp(am_pm[0], bp) == 0) {
if (tm->tm_hour > 11) if (tm->tm_hour > 11) return (0);
return (0);
bp += strlen(am_pm[0]); bp += strlen(am_pm[0]);
break; break;
} }
/* PM? */ /* PM? */
else if (strcmp(am_pm[1], bp) == 0) { else if (strcmp(am_pm[1], bp) == 0) {
if (tm->tm_hour > 11) if (tm->tm_hour > 11) return (0);
return (0);
tm->tm_hour += 12; tm->tm_hour += 12;
bp += strlen(am_pm[1]); bp += strlen(am_pm[1]);
break; break;
} }
/* Nothing matched. */ /* Nothing matched. */
return (0); return (0);
case 'S': /* The seconds. */ case 'S': /* The seconds. */
LEGAL_ALT(ALT_O); LEGAL_ALT(ALT_O);
if (!(conv_num(&bp, &tm->tm_sec, 0, 61))) if (!(conv_num(&bp, &tm->tm_sec, 0, 61))) return (0);
return (0);
break; break;
case 'U': /* The week of year, beginning on sunday. */ case 'U': /* The week of year, beginning on sunday. */
case 'W': /* The week of year, beginning on monday. */ case 'W': /* The week of year, beginning on monday. */
LEGAL_ALT(ALT_O); LEGAL_ALT(ALT_O);
/* /*
* XXX This is bogus, as we can not assume any valid * XXX This is bogus, as we can not assume any valid
* information present in the tm structure at this * information present in the tm structure at this
* point to calculate a real value, so just check the * point to calculate a real value, so just check the
* range for now. * range for now.
*/ */
if (!(conv_num(&bp, &i, 0, 53))) if (!(conv_num(&bp, &i, 0, 53))) return (0);
return (0);
break; break;
case 'w': /* The day of week, beginning on sunday. */ case 'w': /* The day of week, beginning on sunday. */
LEGAL_ALT(ALT_O); LEGAL_ALT(ALT_O);
if (!(conv_num(&bp, &tm->tm_wday, 0, 6))) if (!(conv_num(&bp, &tm->tm_wday, 0, 6))) return (0);
return (0);
break; break;
case 'Y': /* The year. */ case 'Y': /* The year. */
LEGAL_ALT(ALT_E); LEGAL_ALT(ALT_E);
if (!(conv_num(&bp, &i, 0, 9999))) if (!(conv_num(&bp, &i, 0, 9999))) return (0);
return (0);
tm->tm_year = i - TM_YEAR_BASE; tm->tm_year = i - TM_YEAR_BASE;
break; break;
case 'y': /* The year within 100 years of the epoch. */ case 'y': /* The year within 100 years of the epoch. */
LEGAL_ALT(ALT_E | ALT_O); LEGAL_ALT(ALT_E | ALT_O);
if (!(conv_num(&bp, &i, 0, 99))) if (!(conv_num(&bp, &i, 0, 99))) return (0);
return (0);
if (split_year) { if (split_year) {
tm->tm_year = ((tm->tm_year / 100) * 100) + i; tm->tm_year = ((tm->tm_year / 100) * 100) + i;
break; break;
} }
split_year = 1; split_year = 1;
if (i <= 68) if (i <= 68)
tm->tm_year = i + 2000 - TM_YEAR_BASE; tm->tm_year = i + 2000 - TM_YEAR_BASE;
else else
tm->tm_year = i + 1900 - TM_YEAR_BASE; tm->tm_year = i + 1900 - TM_YEAR_BASE;
break; break;
/* /*
* Miscellaneous conversions. * Miscellaneous conversions.
*/ */
case 'n': /* Any kind of white-space. */ case 'n': /* Any kind of white-space. */
case 't': case 't':
LEGAL_ALT(0); LEGAL_ALT(0);
while (isspace(*bp)) while (isspace(*bp)) bp++;
bp++;
break; break;
default: /* Unknown/unsupported conversion. */
default: /* Unknown/unsupported conversion. */
return (0); return (0);
} }
}
/* LINTED functional specification */
} return ((char *)bp);
/* LINTED functional specification */
return ((char *)bp);
#else #else
return strptime(buf, fmt, tm); return strptime(buf, fmt, tm);
#endif #endif
} }
...@@ -435,13 +355,9 @@ FORCE_INLINE int32_t taosGetTimeOfDay(struct timeval *tv) { ...@@ -435,13 +355,9 @@ FORCE_INLINE int32_t taosGetTimeOfDay(struct timeval *tv) {
#endif #endif
} }
time_t taosTime(time_t *t) { time_t taosTime(time_t *t) { return time(t); }
return time(t);
}
time_t taosMktime(struct tm *timep) { time_t taosMktime(struct tm *timep) { return mktime(timep); }
return mktime(timep);
}
struct tm *taosLocalTime(const time_t *timep, struct tm *result) { struct tm *taosLocalTime(const time_t *timep, struct tm *result) {
if (result == NULL) { if (result == NULL) {
...@@ -456,5 +372,36 @@ struct tm *taosLocalTime(const time_t *timep, struct tm *result) { ...@@ -456,5 +372,36 @@ struct tm *taosLocalTime(const time_t *timep, struct tm *result) {
} }
int32_t taosGetTimestampSec() { return (int32_t)time(NULL); } int32_t taosGetTimestampSec() { return (int32_t)time(NULL); }
int32_t taosClockGetTime(int clock_id, struct timespec *pTS) {
int32_t taosClockGetTime(int clock_id, struct timespec *pTS) { return clock_gettime(clock_id, pTS); } #ifdef WINDOWS
\ No newline at end of file LARGE_INTEGER t;
FILETIME f;
static FILETIME ff;
static SYSTEMTIME ss;
static LARGE_INTEGER offset;
ss.wYear = 1970;
ss.wMonth = 1;
ss.wDay = 1;
ss.wHour = 0;
ss.wMinute = 0;
ss.wSecond = 0;
ss.wMilliseconds = 0;
SystemTimeToFileTime(&ss, &ff);
offset.QuadPart = ff.dwHighDateTime;
offset.QuadPart <<= 32;
offset.QuadPart |= ff.dwLowDateTime;
GetSystemTimeAsFileTime(&f);
t.QuadPart = f.dwHighDateTime;
t.QuadPart <<= 32;
t.QuadPart |= f.dwLowDateTime;
t.QuadPart -= offset.QuadPart;
pTS->tv_sec = t.QuadPart / 10000000;
pTS->tv_nsec = (t.QuadPart % 10000000)*100;
return (0);
#else
return clock_gettime(clock_id, pTS);
#endif
}
\ No newline at end of file
...@@ -574,6 +574,9 @@ class TDDnodes: ...@@ -574,6 +574,9 @@ class TDDnodes:
def stopAll(self): def stopAll(self):
tdLog.info("stop all dnodes") tdLog.info("stop all dnodes")
if (not self.dnodes[0].remoteIP == ""):
self.dnodes[0].remoteExec(self.dnodes[0].cfgDict, "for i in range(len(tdDnodes.dnodes)):\n tdDnodes.dnodes[i].running=1\ntdDnodes.stopAll()")
return
for i in range(len(self.dnodes)): for i in range(len(self.dnodes)):
self.dnodes[i].stop() self.dnodes[i].stop()
......
...@@ -23,7 +23,7 @@ class TDTestCase: ...@@ -23,7 +23,7 @@ class TDTestCase:
projPath = selfPath[:selfPath.find("tests")] projPath = selfPath[:selfPath.find("tests")]
for root, dirs, files in os.walk(projPath): for root, dirs, files in os.walk(projPath):
if ("taosd" in files): if ("taosd" in files or "taosd.exe" in files):
rootRealPath = os.path.dirname(os.path.realpath(root)) rootRealPath = os.path.dirname(os.path.realpath(root))
if ("packaging" not in rootRealPath): if ("packaging" not in rootRealPath):
buildPath = root[:len(root) - len("/build/bin")] buildPath = root[:len(root) - len("/build/bin")]
......
...@@ -37,7 +37,7 @@ class TDTestCase: ...@@ -37,7 +37,7 @@ class TDTestCase:
projPath = selfPath[:selfPath.find("tests")] projPath = selfPath[:selfPath.find("tests")]
for root, dirs, files in os.walk(projPath): for root, dirs, files in os.walk(projPath):
if ("taosd" in files): if ("taosd" in files or "taosd.exe" in files):
rootRealPath = os.path.dirname(os.path.realpath(root)) rootRealPath = os.path.dirname(os.path.realpath(root))
if ("packaging" not in rootRealPath): if ("packaging" not in rootRealPath):
buildPath = root[:len(root) - len("/build/bin")] buildPath = root[:len(root) - len("/build/bin")]
......
...@@ -9,8 +9,9 @@ from util.sql import * ...@@ -9,8 +9,9 @@ from util.sql import *
from util.cases import * from util.cases import *
from util.dnodes import * from util.dnodes import *
import subprocess import subprocess
# import win32gui if (platform.system().lower() == 'windows'):
# import threading import win32gui
import threading
class TDTestCase: class TDTestCase:
...@@ -535,17 +536,18 @@ class TDTestCase: ...@@ -535,17 +536,18 @@ class TDTestCase:
return udf1_sqls ,udf2_sqls return udf1_sqls ,udf2_sqls
# def checkRunTimeError(self): def checkRunTimeError(self):
# while 1: if (platform.system().lower() == 'windows' and tdDnodes.dnodes[0].remoteIP == ""):
# time.sleep(1) while 1:
# hwnd = win32gui.FindWindow(None, "Microsoft Visual C++ Runtime Library") time.sleep(1)
# if hwnd: hwnd = win32gui.FindWindow(None, "Microsoft Visual C++ Runtime Library")
# os.system("TASKKILL /F /IM udfd.exe") if hwnd:
os.system("TASKKILL /F /IM udfd.exe")
def unexpected_create(self): def unexpected_create(self):
# if (platform.system().lower() == 'windows' and tdDnodes.dnodes[0].remoteIP == ""): if (platform.system().lower() == 'windows' and tdDnodes.dnodes[0].remoteIP == ""):
# checkErrorThread = threading.Thread(target=self.checkRunTimeError,daemon=True) checkErrorThread = threading.Thread(target=self.checkRunTimeError,daemon=True)
# checkErrorThread.start() checkErrorThread.start()
tdLog.info(" create function with out bufsize ") tdLog.info(" create function with out bufsize ")
tdSql.query("drop function udf1 ") tdSql.query("drop function udf1 ")
......
...@@ -3,6 +3,7 @@ import taos ...@@ -3,6 +3,7 @@ import taos
import time import time
import inspect import inspect
import traceback import traceback
import socket
from dataclasses import dataclass from dataclasses import dataclass
from util.log import * from util.log import *
...@@ -102,7 +103,7 @@ class TDconnect: ...@@ -102,7 +103,7 @@ class TDconnect:
def taos_connect( def taos_connect(
host = "127.0.0.1", host = socket.gethostname(),
port = 6030, port = 6030,
user = "root", user = "root",
passwd = "taosdata", passwd = "taosdata",
......
...@@ -54,7 +54,7 @@ class TDTestCase: ...@@ -54,7 +54,7 @@ class TDTestCase:
projPath = selfPath[:selfPath.find("tests")] projPath = selfPath[:selfPath.find("tests")]
for root, dirs, files in os.walk(projPath): for root, dirs, files in os.walk(projPath):
if ("taosd" in files): if ("taosd" in files or "taosd.exe" in files):
rootRealPath = os.path.dirname(os.path.realpath(root)) rootRealPath = os.path.dirname(os.path.realpath(root))
if ("packaging" not in rootRealPath): if ("packaging" not in rootRealPath):
buildPath = root[:len(root)-len("/build/bin")] buildPath = root[:len(root)-len("/build/bin")]
......
...@@ -52,7 +52,7 @@ class TDTestCase: ...@@ -52,7 +52,7 @@ class TDTestCase:
projPath = selfPath[:selfPath.find("tests")] projPath = selfPath[:selfPath.find("tests")]
for root, dirs, files in os.walk(projPath): for root, dirs, files in os.walk(projPath):
if ("taosd" in files): if ("taosd" in files or "taosd.exe" in files):
rootRealPath = os.path.dirname(os.path.realpath(root)) rootRealPath = os.path.dirname(os.path.realpath(root))
if ("packaging" not in rootRealPath): if ("packaging" not in rootRealPath):
buildPath = root[:len(root)-len("/build/bin")] buildPath = root[:len(root)-len("/build/bin")]
......
...@@ -49,7 +49,7 @@ class TDTestCase: ...@@ -49,7 +49,7 @@ class TDTestCase:
projPath = selfPath[:selfPath.find("tests")] projPath = selfPath[:selfPath.find("tests")]
for root, dirs, files in os.walk(projPath): for root, dirs, files in os.walk(projPath):
if ("taosd" in files): if ("taosd" in files or "taosd.exe" in files):
rootRealPath = os.path.dirname(os.path.realpath(root)) rootRealPath = os.path.dirname(os.path.realpath(root))
if ("packaging" not in rootRealPath): if ("packaging" not in rootRealPath):
buildPath = root[:len(root)-len("/build/bin")] buildPath = root[:len(root)-len("/build/bin")]
......
...@@ -49,7 +49,7 @@ class TDTestCase: ...@@ -49,7 +49,7 @@ class TDTestCase:
projPath = selfPath[:selfPath.find("tests")] projPath = selfPath[:selfPath.find("tests")]
for root, dirs, files in os.walk(projPath): for root, dirs, files in os.walk(projPath):
if ("taosd" in files): if ("taosd" in files or "taosd.exe" in files):
rootRealPath = os.path.dirname(os.path.realpath(root)) rootRealPath = os.path.dirname(os.path.realpath(root))
if ("packaging" not in rootRealPath): if ("packaging" not in rootRealPath):
buildPath = root[:len(root)-len("/build/bin")] buildPath = root[:len(root)-len("/build/bin")]
......
...@@ -49,7 +49,7 @@ class TDTestCase: ...@@ -49,7 +49,7 @@ class TDTestCase:
projPath = selfPath[:selfPath.find("tests")] projPath = selfPath[:selfPath.find("tests")]
for root, dirs, files in os.walk(projPath): for root, dirs, files in os.walk(projPath):
if ("taosd" in files): if ("taosd" in files or "taosd.exe" in files):
rootRealPath = os.path.dirname(os.path.realpath(root)) rootRealPath = os.path.dirname(os.path.realpath(root))
if ("packaging" not in rootRealPath): if ("packaging" not in rootRealPath):
buildPath = root[:len(root)-len("/build/bin")] buildPath = root[:len(root)-len("/build/bin")]
......
...@@ -400,7 +400,7 @@ class TDTestCase: ...@@ -400,7 +400,7 @@ class TDTestCase:
projPath = selfPath[:selfPath.find("tests")] projPath = selfPath[:selfPath.find("tests")]
for root, dirs, files in os.walk(projPath): for root, dirs, files in os.walk(projPath):
if ("taosd" in files): if ("taosd" in files or "taosd.exe" in files):
rootRealPath = os.path.dirname(os.path.realpath(root)) rootRealPath = os.path.dirname(os.path.realpath(root))
if ("packaging" not in rootRealPath): if ("packaging" not in rootRealPath):
buildPath = root[:len(root) - len("/build/bin")] buildPath = root[:len(root) - len("/build/bin")]
......
...@@ -3,7 +3,10 @@ from util.log import * ...@@ -3,7 +3,10 @@ from util.log import *
from util.sql import * from util.sql import *
from util.cases import * from util.cases import *
import platform
import os import os
if platform.system().lower() == 'windows':
import tzlocal
class TDTestCase: class TDTestCase:
...@@ -15,16 +18,20 @@ class TDTestCase: ...@@ -15,16 +18,20 @@ class TDTestCase:
def run(self): # sourcery skip: extract-duplicate-method def run(self): # sourcery skip: extract-duplicate-method
tdSql.prepare() tdSql.prepare()
# get system timezone # get system timezone
time_zone_arr = os.popen('timedatectl | grep zone').read( if platform.system().lower() == 'windows':
).strip().split(':') time_zone_1 = tzlocal.get_localzone_name()
if len(time_zone_arr) > 1: time_zone_2 = time.strftime('(UTC, %z)')
time_zone = time_zone_arr[1].lstrip()
else:
# possibly in a docker container
time_zone_1 = os.popen('ls -l /etc/localtime|awk -F/ \'{print $(NF-1) "/" $NF}\'').read().strip()
time_zone_2 = os.popen('date "+(%Z, %z)"').read().strip()
time_zone = time_zone_1 + " " + time_zone_2 time_zone = time_zone_1 + " " + time_zone_2
print("expected time zone: " + time_zone) else:
time_zone_arr = os.popen('timedatectl | grep zone').read().strip().split(':')
if len(time_zone_arr) > 1:
time_zone = time_zone_arr[1].lstrip()
else:
# possibly in a docker container
time_zone_1 = os.popen('ls -l /etc/localtime|awk -F/ \'{print $(NF-1) "/" $NF}\'').read().strip()
time_zone_2 = os.popen('date "+(%Z, %z)"').read().strip()
time_zone = time_zone_1 + " " + time_zone_2
print("expected time zone: " + time_zone)
tdLog.printNoPrefix("==========step1:create tables==========") tdLog.printNoPrefix("==========step1:create tables==========")
tdSql.execute( tdSql.execute(
......
...@@ -13,6 +13,12 @@ from util.dnodes import * ...@@ -13,6 +13,12 @@ from util.dnodes import *
class TDTestCase: class TDTestCase:
hostname = socket.gethostname() hostname = socket.gethostname()
if (platform.system().lower() == 'windows' and not tdDnodes.dnodes[0].remoteIP == ""):
try:
config = eval(tdDnodes.dnodes[0].remoteIP)
hostname = config["host"]
except Exception:
hostname = tdDnodes.dnodes[0].remoteIP
#rpcDebugFlagVal = '143' #rpcDebugFlagVal = '143'
#clientCfgDict = {'serverPort': '', 'firstEp': '', 'secondEp':'', 'rpcDebugFlag':'135', 'fqdn':''} #clientCfgDict = {'serverPort': '', 'firstEp': '', 'secondEp':'', 'rpcDebugFlag':'135', 'fqdn':''}
#clientCfgDict["rpcDebugFlag"] = rpcDebugFlagVal #clientCfgDict["rpcDebugFlag"] = rpcDebugFlagVal
...@@ -34,7 +40,7 @@ class TDTestCase: ...@@ -34,7 +40,7 @@ class TDTestCase:
projPath = selfPath[:selfPath.find("tests")] projPath = selfPath[:selfPath.find("tests")]
for root, dirs, files in os.walk(projPath): for root, dirs, files in os.walk(projPath):
if ("taosd" in files): if ("taosd" in files or "taosd.exe" in files):
rootRealPath = os.path.dirname(os.path.realpath(root)) rootRealPath = os.path.dirname(os.path.realpath(root))
if ("packaging" not in rootRealPath): if ("packaging" not in rootRealPath):
buildPath = root[:len(root) - len("/build/bin")] buildPath = root[:len(root) - len("/build/bin")]
...@@ -192,7 +198,10 @@ class TDTestCase: ...@@ -192,7 +198,10 @@ class TDTestCase:
shellCmd = 'nohup ' + buildPath + '/build/bin/tmq_sim -c ' + cfgPath shellCmd = 'nohup ' + buildPath + '/build/bin/tmq_sim -c ' + cfgPath
shellCmd += " -y %d -d %s -g %d -r %d -w %s "%(pollDelay, parameterDict["dbName"], showMsg, showRow, cdbName) shellCmd += " -y %d -d %s -g %d -r %d -w %s "%(pollDelay, parameterDict["dbName"], showMsg, showRow, cdbName)
shellCmd += "> /dev/null 2>&1 &" if (platform.system().lower() == 'windows'):
shellCmd += "> nul 2>&1 &"
else:
shellCmd += "> /dev/null 2>&1 &"
tdLog.info(shellCmd) tdLog.info(shellCmd)
os.system(shellCmd) os.system(shellCmd)
...@@ -306,7 +315,10 @@ class TDTestCase: ...@@ -306,7 +315,10 @@ class TDTestCase:
shellCmd = 'nohup ' + buildPath + '/build/bin/tmq_sim -c ' + cfgPath shellCmd = 'nohup ' + buildPath + '/build/bin/tmq_sim -c ' + cfgPath
shellCmd += " -y %d -d %s -g %d -r %d -w %s "%(pollDelay, parameterDict["dbName"], showMsg, showRow, cdbName) shellCmd += " -y %d -d %s -g %d -r %d -w %s "%(pollDelay, parameterDict["dbName"], showMsg, showRow, cdbName)
shellCmd += "> /dev/null 2>&1 &" if (platform.system().lower() == 'windows'):
shellCmd += "> nul 2>&1 &"
else:
shellCmd += "> /dev/null 2>&1 &"
tdLog.info(shellCmd) tdLog.info(shellCmd)
os.system(shellCmd) os.system(shellCmd)
...@@ -438,7 +450,10 @@ class TDTestCase: ...@@ -438,7 +450,10 @@ class TDTestCase:
shellCmd = 'nohup ' + buildPath + '/build/bin/tmq_sim -c ' + cfgPath shellCmd = 'nohup ' + buildPath + '/build/bin/tmq_sim -c ' + cfgPath
shellCmd += " -y %d -d %s -g %d -r %d -w %s "%(pollDelay, parameterDict["dbName"], showMsg, showRow, cdbName) shellCmd += " -y %d -d %s -g %d -r %d -w %s "%(pollDelay, parameterDict["dbName"], showMsg, showRow, cdbName)
shellCmd += "> /dev/null 2>&1 &" if (platform.system().lower() == 'windows'):
shellCmd += "> nul 2>&1 &"
else:
shellCmd += "> /dev/null 2>&1 &"
tdLog.info(shellCmd) tdLog.info(shellCmd)
os.system(shellCmd) os.system(shellCmd)
......
...@@ -41,7 +41,7 @@ class TDTestCase: ...@@ -41,7 +41,7 @@ class TDTestCase:
projPath = selfPath[:selfPath.find("tests")] projPath = selfPath[:selfPath.find("tests")]
for root, dirs, files in os.walk(projPath): for root, dirs, files in os.walk(projPath):
if ("taosd" in files): if ("taosd" in files or "taosd.exe" in files):
rootRealPath = os.path.dirname(os.path.realpath(root)) rootRealPath = os.path.dirname(os.path.realpath(root))
if ("packaging" not in rootRealPath): if ("packaging" not in rootRealPath):
buildPath = root[:len(root) - len("/build/bin")] buildPath = root[:len(root) - len("/build/bin")]
......
...@@ -41,7 +41,7 @@ class TDTestCase: ...@@ -41,7 +41,7 @@ class TDTestCase:
projPath = selfPath[:selfPath.find("tests")] projPath = selfPath[:selfPath.find("tests")]
for root, dirs, files in os.walk(projPath): for root, dirs, files in os.walk(projPath):
if ("taosd" in files): if ("taosd" in files or "taosd.exe" in files):
rootRealPath = os.path.dirname(os.path.realpath(root)) rootRealPath = os.path.dirname(os.path.realpath(root))
if ("packaging" not in rootRealPath): if ("packaging" not in rootRealPath):
buildPath = root[:len(root) - len("/build/bin")] buildPath = root[:len(root) - len("/build/bin")]
......
...@@ -34,7 +34,7 @@ class TDTestCase: ...@@ -34,7 +34,7 @@ class TDTestCase:
projPath = selfPath[:selfPath.find("tests")] projPath = selfPath[:selfPath.find("tests")]
for root, dirs, files in os.walk(projPath): for root, dirs, files in os.walk(projPath):
if ("taosd" in files): if ("taosd" in files or "taosd.exe" in files):
rootRealPath = os.path.dirname(os.path.realpath(root)) rootRealPath = os.path.dirname(os.path.realpath(root))
if ("packaging" not in rootRealPath): if ("packaging" not in rootRealPath):
buildPath = root[:len(root) - len("/build/bin")] buildPath = root[:len(root) - len("/build/bin")]
......
...@@ -34,7 +34,7 @@ class TDTestCase: ...@@ -34,7 +34,7 @@ class TDTestCase:
projPath = selfPath[:selfPath.find("tests")] projPath = selfPath[:selfPath.find("tests")]
for root, dirs, files in os.walk(projPath): for root, dirs, files in os.walk(projPath):
if ("taosd" in files): if ("taosd" in files or "taosd.exe" in files):
rootRealPath = os.path.dirname(os.path.realpath(root)) rootRealPath = os.path.dirname(os.path.realpath(root))
if ("packaging" not in rootRealPath): if ("packaging" not in rootRealPath):
buildPath = root[:len(root) - len("/build/bin")] buildPath = root[:len(root) - len("/build/bin")]
......
...@@ -34,7 +34,7 @@ class TDTestCase: ...@@ -34,7 +34,7 @@ class TDTestCase:
projPath = selfPath[:selfPath.find("tests")] projPath = selfPath[:selfPath.find("tests")]
for root, dirs, files in os.walk(projPath): for root, dirs, files in os.walk(projPath):
if ("taosd" in files): if ("taosd" in files or "taosd.exe" in files):
rootRealPath = os.path.dirname(os.path.realpath(root)) rootRealPath = os.path.dirname(os.path.realpath(root))
if ("packaging" not in rootRealPath): if ("packaging" not in rootRealPath):
buildPath = root[:len(root) - len("/build/bin")] buildPath = root[:len(root) - len("/build/bin")]
......
...@@ -41,7 +41,7 @@ class TDTestCase: ...@@ -41,7 +41,7 @@ class TDTestCase:
projPath = selfPath[:selfPath.find("tests")] projPath = selfPath[:selfPath.find("tests")]
for root, dirs, files in os.walk(projPath): for root, dirs, files in os.walk(projPath):
if ("taosd" in files): if ("taosd" in files or "taosd.exe" in files):
rootRealPath = os.path.dirname(os.path.realpath(root)) rootRealPath = os.path.dirname(os.path.realpath(root))
if ("packaging" not in rootRealPath): if ("packaging" not in rootRealPath):
buildPath = root[:len(root) - len("/build/bin")] buildPath = root[:len(root) - len("/build/bin")]
......
...@@ -41,7 +41,7 @@ class TDTestCase: ...@@ -41,7 +41,7 @@ class TDTestCase:
projPath = selfPath[:selfPath.find("tests")] projPath = selfPath[:selfPath.find("tests")]
for root, dirs, files in os.walk(projPath): for root, dirs, files in os.walk(projPath):
if ("taosd" in files): if ("taosd" in files or "taosd.exe" in files):
rootRealPath = os.path.dirname(os.path.realpath(root)) rootRealPath = os.path.dirname(os.path.realpath(root))
if ("packaging" not in rootRealPath): if ("packaging" not in rootRealPath):
buildPath = root[:len(root) - len("/build/bin")] buildPath = root[:len(root) - len("/build/bin")]
......
...@@ -41,7 +41,7 @@ class TDTestCase: ...@@ -41,7 +41,7 @@ class TDTestCase:
projPath = selfPath[:selfPath.find("tests")] projPath = selfPath[:selfPath.find("tests")]
for root, dirs, files in os.walk(projPath): for root, dirs, files in os.walk(projPath):
if ("taosd" in files): if ("taosd" in files or "taosd.exe" in files):
rootRealPath = os.path.dirname(os.path.realpath(root)) rootRealPath = os.path.dirname(os.path.realpath(root))
if ("packaging" not in rootRealPath): if ("packaging" not in rootRealPath):
buildPath = root[:len(root) - len("/build/bin")] buildPath = root[:len(root) - len("/build/bin")]
......
...@@ -41,7 +41,7 @@ class TDTestCase: ...@@ -41,7 +41,7 @@ class TDTestCase:
projPath = selfPath[:selfPath.find("tests")] projPath = selfPath[:selfPath.find("tests")]
for root, dirs, files in os.walk(projPath): for root, dirs, files in os.walk(projPath):
if ("taosd" in files): if ("taosd" in files or "taosd.exe" in files):
rootRealPath = os.path.dirname(os.path.realpath(root)) rootRealPath = os.path.dirname(os.path.realpath(root))
if ("packaging" not in rootRealPath): if ("packaging" not in rootRealPath):
buildPath = root[:len(root) - len("/build/bin")] buildPath = root[:len(root) - len("/build/bin")]
......
...@@ -41,7 +41,7 @@ class TDTestCase: ...@@ -41,7 +41,7 @@ class TDTestCase:
projPath = selfPath[:selfPath.find("tests")] projPath = selfPath[:selfPath.find("tests")]
for root, dirs, files in os.walk(projPath): for root, dirs, files in os.walk(projPath):
if ("taosd" in files): if ("taosd" in files or "taosd.exe" in files):
rootRealPath = os.path.dirname(os.path.realpath(root)) rootRealPath = os.path.dirname(os.path.realpath(root))
if ("packaging" not in rootRealPath): if ("packaging" not in rootRealPath):
buildPath = root[:len(root) - len("/build/bin")] buildPath = root[:len(root) - len("/build/bin")]
......
...@@ -41,7 +41,7 @@ class TDTestCase: ...@@ -41,7 +41,7 @@ class TDTestCase:
projPath = selfPath[:selfPath.find("tests")] projPath = selfPath[:selfPath.find("tests")]
for root, dirs, files in os.walk(projPath): for root, dirs, files in os.walk(projPath):
if ("taosd" in files): if ("taosd" in files or "taosd.exe" in files):
rootRealPath = os.path.dirname(os.path.realpath(root)) rootRealPath = os.path.dirname(os.path.realpath(root))
if ("packaging" not in rootRealPath): if ("packaging" not in rootRealPath):
buildPath = root[:len(root) - len("/build/bin")] buildPath = root[:len(root) - len("/build/bin")]
......
...@@ -41,7 +41,7 @@ class TDTestCase: ...@@ -41,7 +41,7 @@ class TDTestCase:
projPath = selfPath[:selfPath.find("tests")] projPath = selfPath[:selfPath.find("tests")]
for root, dirs, files in os.walk(projPath): for root, dirs, files in os.walk(projPath):
if ("taosd" in files): if ("taosd" in files or "taosd.exe" in files):
rootRealPath = os.path.dirname(os.path.realpath(root)) rootRealPath = os.path.dirname(os.path.realpath(root))
if ("packaging" not in rootRealPath): if ("packaging" not in rootRealPath):
buildPath = root[:len(root) - len("/build/bin")] buildPath = root[:len(root) - len("/build/bin")]
......
...@@ -41,7 +41,7 @@ class TDTestCase: ...@@ -41,7 +41,7 @@ class TDTestCase:
projPath = selfPath[:selfPath.find("tests")] projPath = selfPath[:selfPath.find("tests")]
for root, dirs, files in os.walk(projPath): for root, dirs, files in os.walk(projPath):
if ("taosd" in files): if ("taosd" in files or "taosd.exe" in files):
rootRealPath = os.path.dirname(os.path.realpath(root)) rootRealPath = os.path.dirname(os.path.realpath(root))
if ("packaging" not in rootRealPath): if ("packaging" not in rootRealPath):
buildPath = root[:len(root) - len("/build/bin")] buildPath = root[:len(root) - len("/build/bin")]
......
...@@ -34,7 +34,7 @@ class TDTestCase: ...@@ -34,7 +34,7 @@ class TDTestCase:
projPath = selfPath[:selfPath.find("tests")] projPath = selfPath[:selfPath.find("tests")]
for root, dirs, files in os.walk(projPath): for root, dirs, files in os.walk(projPath):
if ("taosd" in files): if ("taosd" in files or "taosd.exe" in files):
rootRealPath = os.path.dirname(os.path.realpath(root)) rootRealPath = os.path.dirname(os.path.realpath(root))
if ("packaging" not in rootRealPath): if ("packaging" not in rootRealPath):
buildPath = root[:len(root) - len("/build/bin")] buildPath = root[:len(root) - len("/build/bin")]
......
...@@ -33,7 +33,7 @@ class TDTestCase: ...@@ -33,7 +33,7 @@ class TDTestCase:
projPath = selfPath[:selfPath.find("tests")] projPath = selfPath[:selfPath.find("tests")]
for root, dirs, files in os.walk(projPath): for root, dirs, files in os.walk(projPath):
if ("taosd" in files): if ("taosd" in files or "taosd.exe" in files):
rootRealPath = os.path.dirname(os.path.realpath(root)) rootRealPath = os.path.dirname(os.path.realpath(root))
if ("packaging" not in rootRealPath): if ("packaging" not in rootRealPath):
buildPath = root[:len(root) - len("/build/bin")] buildPath = root[:len(root) - len("/build/bin")]
......
...@@ -34,7 +34,7 @@ class TDTestCase: ...@@ -34,7 +34,7 @@ class TDTestCase:
projPath = selfPath[:selfPath.find("tests")] projPath = selfPath[:selfPath.find("tests")]
for root, dirs, files in os.walk(projPath): for root, dirs, files in os.walk(projPath):
if ("taosd" in files): if ("taosd" in files or "taosd.exe" in files):
rootRealPath = os.path.dirname(os.path.realpath(root)) rootRealPath = os.path.dirname(os.path.realpath(root))
if ("packaging" not in rootRealPath): if ("packaging" not in rootRealPath):
buildPath = root[:len(root) - len("/build/bin")] buildPath = root[:len(root) - len("/build/bin")]
......
...@@ -34,7 +34,7 @@ class TDTestCase: ...@@ -34,7 +34,7 @@ class TDTestCase:
projPath = selfPath[:selfPath.find("tests")] projPath = selfPath[:selfPath.find("tests")]
for root, dirs, files in os.walk(projPath): for root, dirs, files in os.walk(projPath):
if ("taosd" in files): if ("taosd" in files or "taosd.exe" in files):
rootRealPath = os.path.dirname(os.path.realpath(root)) rootRealPath = os.path.dirname(os.path.realpath(root))
if ("packaging" not in rootRealPath): if ("packaging" not in rootRealPath):
buildPath = root[:len(root) - len("/build/bin")] buildPath = root[:len(root) - len("/build/bin")]
......
...@@ -41,7 +41,7 @@ class TDTestCase: ...@@ -41,7 +41,7 @@ class TDTestCase:
projPath = selfPath[:selfPath.find("tests")] projPath = selfPath[:selfPath.find("tests")]
for root, dirs, files in os.walk(projPath): for root, dirs, files in os.walk(projPath):
if ("taosd" in files): if ("taosd" in files or "taosd.exe" in files):
rootRealPath = os.path.dirname(os.path.realpath(root)) rootRealPath = os.path.dirname(os.path.realpath(root))
if ("packaging" not in rootRealPath): if ("packaging" not in rootRealPath):
buildPath = root[:len(root) - len("/build/bin")] buildPath = root[:len(root) - len("/build/bin")]
......
...@@ -20,6 +20,7 @@ import time ...@@ -20,6 +20,7 @@ import time
import base64 import base64
import json import json
import platform import platform
import socket
from distutils.log import warn as printf from distutils.log import warn as printf
from fabric2 import Connection from fabric2 import Connection
sys.path.append("../pytest") sys.path.append("../pytest")
...@@ -149,7 +150,7 @@ if __name__ == "__main__": ...@@ -149,7 +150,7 @@ if __name__ == "__main__":
tdLog.info('stop All dnodes') tdLog.info('stop All dnodes')
if masterIp == "": if masterIp == "":
host = '127.0.0.1' host = socket.gethostname()
else: else:
try: try:
config = eval(masterIp) config = eval(masterIp)
...@@ -170,8 +171,8 @@ if __name__ == "__main__": ...@@ -170,8 +171,8 @@ if __name__ == "__main__":
try: try:
if key_word in open(fileName, encoding='UTF-8').read(): if key_word in open(fileName, encoding='UTF-8').read():
is_test_framework = 1 is_test_framework = 1
except: except Exception as r:
pass print(r)
updateCfgDictStr = '' updateCfgDictStr = ''
if is_test_framework: if is_test_framework:
moduleName = fileName.replace(".py", "").replace(os.sep, ".") moduleName = fileName.replace(".py", "").replace(os.sep, ".")
...@@ -181,8 +182,8 @@ if __name__ == "__main__": ...@@ -181,8 +182,8 @@ if __name__ == "__main__":
if ((json.dumps(updateCfgDict) == '{}') and (ucase.updatecfgDict is not None)): if ((json.dumps(updateCfgDict) == '{}') and (ucase.updatecfgDict is not None)):
updateCfgDict = ucase.updatecfgDict updateCfgDict = ucase.updatecfgDict
updateCfgDictStr = "-d %s"%base64.b64encode(json.dumps(updateCfgDict).encode()).decode() updateCfgDictStr = "-d %s"%base64.b64encode(json.dumps(updateCfgDict).encode()).decode()
except : except Exception as r:
pass print(r)
else: else:
pass pass
tdDnodes.deploy(1,updateCfgDict) tdDnodes.deploy(1,updateCfgDict)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册