mirror of
https://github.com/unicode-org/icu.git
synced 2025-04-18 03:06:38 +00:00
ICU-5261 Don't crash when Solaris 10 with gcc is crashing.
X-SVN-Rev: 19837
This commit is contained in:
parent
f4ee2b0947
commit
a0f456dad5
2 changed files with 68 additions and 58 deletions
|
@ -179,7 +179,10 @@ void Test4056591()
|
|||
gotdate=myFormatit(def, got);
|
||||
expdate=myFormatit(def, exp);
|
||||
|
||||
if(u_strcmp(gotdate, expdate) !=0){
|
||||
if (gotdate == NULL || expdate == NULL) {
|
||||
log_err("myFormatit failed!\n");
|
||||
}
|
||||
else if(u_strcmp(gotdate, expdate) !=0){
|
||||
log_err("set2DigitYearStart broken for %s \n got: %s, expected: %s\n", austrdup(s),
|
||||
austrdup(gotdate), austrdup(expdate) );
|
||||
}
|
||||
|
@ -390,47 +393,45 @@ void Test4073003()
|
|||
}
|
||||
u_uastrcpy(temp, "m/D/yy");
|
||||
udat_applyPattern(fmt, FALSE, temp, u_strlen(temp));
|
||||
|
||||
for(i= 0; i < 4; i+=2) {
|
||||
status=U_ZERO_ERROR;
|
||||
datestr=(UChar*)malloc(sizeof(UChar) * (strlen(tests[i])+1));
|
||||
u_uastrcpy(datestr, tests[i]);
|
||||
|
||||
pos=0;
|
||||
d = udat_parse(fmt, datestr, u_strlen(datestr), &pos, &status);
|
||||
if(U_FAILURE(status)){
|
||||
log_err("ERROR : in test 4073003: %s\n", myErrorName(status));
|
||||
}
|
||||
|
||||
free(datestr);
|
||||
datestr=(UChar*)malloc(sizeof(UChar) * (strlen(tests[i+1])+1));
|
||||
u_uastrcpy(datestr, tests[i+1]);
|
||||
|
||||
for(i= 0; i < 4; i+=2) {
|
||||
status=U_ZERO_ERROR;
|
||||
datestr=(UChar*)malloc(sizeof(UChar) * (strlen(tests[i])+1));
|
||||
u_uastrcpy(datestr, tests[i]);
|
||||
|
||||
pos=0;
|
||||
status=U_ZERO_ERROR;
|
||||
dd = udat_parse(fmt, datestr, u_strlen(datestr), &pos, &status);
|
||||
if(U_FAILURE(status)){
|
||||
log_err("ERROR : in test 4073003: %s\n", myErrorName(status));
|
||||
}
|
||||
free(datestr);
|
||||
|
||||
result =myFormatit(fmt, d);
|
||||
result2 =myFormatit(fmt, dd);
|
||||
if(!result || !result2) {
|
||||
log_data_err("Fail: could not format - exitting test");
|
||||
return;
|
||||
}
|
||||
if (u_strcmp(result, result2)!=0){
|
||||
log_err("Fail: %s != %s\n", austrdup(result), austrdup(result2) );
|
||||
}
|
||||
else{
|
||||
log_verbose("Ok: %s == %s\n", austrdup(result), austrdup(result2) );
|
||||
}
|
||||
|
||||
|
||||
|
||||
pos=0;
|
||||
d = udat_parse(fmt, datestr, u_strlen(datestr), &pos, &status);
|
||||
if(U_FAILURE(status)){
|
||||
log_err("ERROR : in test 4073003: %s\n", myErrorName(status));
|
||||
}
|
||||
udat_close(fmt);
|
||||
|
||||
free(datestr);
|
||||
datestr=(UChar*)malloc(sizeof(UChar) * (strlen(tests[i+1])+1));
|
||||
u_uastrcpy(datestr, tests[i+1]);
|
||||
|
||||
pos=0;
|
||||
status=U_ZERO_ERROR;
|
||||
dd = udat_parse(fmt, datestr, u_strlen(datestr), &pos, &status);
|
||||
if(U_FAILURE(status)){
|
||||
log_err("ERROR : in test 4073003: %s\n", myErrorName(status));
|
||||
}
|
||||
free(datestr);
|
||||
|
||||
result =myFormatit(fmt, d);
|
||||
result2 =myFormatit(fmt, dd);
|
||||
if(!result || !result2) {
|
||||
log_data_err("Fail: could not format - exitting test\n");
|
||||
return;
|
||||
}
|
||||
if (u_strcmp(result, result2)!=0){
|
||||
log_err("Fail: %s != %s\n", austrdup(result), austrdup(result2) );
|
||||
}
|
||||
else{
|
||||
log_verbose("Ok: %s == %s\n", austrdup(result), austrdup(result2) );
|
||||
}
|
||||
|
||||
}
|
||||
udat_close(fmt);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -456,12 +457,12 @@ void Test4162071()
|
|||
pos=0;
|
||||
x = udat_parse(df, datestr, u_strlen(datestr), &pos, &status);
|
||||
if(U_FAILURE(status)){
|
||||
log_data_err("ERROR : parse format %s fails : %s\n", austrdup(format), myErrorName(status));
|
||||
}
|
||||
log_data_err("ERROR : parse format %s fails : %s\n", austrdup(format), myErrorName(status));
|
||||
}
|
||||
else{
|
||||
log_verbose("Parse format \"%s \" ok.\n", austrdup(format) );
|
||||
}
|
||||
log_verbose("date= %s\n", austrdup(myFormatit(df, x)) );
|
||||
/*log_verbose("date= %s\n", austrdup(myFormatit(df, x)) );*/
|
||||
udat_close(df);
|
||||
}
|
||||
|
||||
|
|
|
@ -248,7 +248,7 @@ free(result);
|
|||
{
|
||||
log_err("Error in formatting using unum_formatDouble(.....): %s\n", myErrorName(status));
|
||||
}
|
||||
if(u_strcmp(result, temp1)==0)
|
||||
if(result && u_strcmp(result, temp1)==0)
|
||||
log_verbose("Pass: Number Formatting using unum_formatDouble() Successful\n");
|
||||
else
|
||||
log_err("FAIL: Error in number formatting using unum_formatDouble()\n");
|
||||
|
@ -262,10 +262,14 @@ free(result);
|
|||
/* Testing unum_parse() and unum_parseDouble() */
|
||||
log_verbose("\nTesting unum_parseDouble()\n");
|
||||
/* for (i = 0; i < 100000; i++)*/
|
||||
if (result != NULL)
|
||||
{
|
||||
parsepos=0;
|
||||
d1=unum_parseDouble(cur_def, result, u_strlen(result), &parsepos, &status);
|
||||
}
|
||||
else {
|
||||
log_err("result is NULL\n");
|
||||
}
|
||||
if(U_FAILURE(status))
|
||||
{
|
||||
log_err("parse failed. The error is : %s\n", myErrorName(status));
|
||||
|
@ -305,26 +309,31 @@ free(result);
|
|||
if (pos2.beginIndex == 1 && pos2.endIndex == 6) {
|
||||
log_verbose("Pass: Complete number formatting using unum_format() successful\n");
|
||||
} else {
|
||||
log_err("Fail: Error in complete number Formatting using unum_formatDouble()\nGot: b=%d end=%d\nExpected: b=1 end=6",
|
||||
log_err("Fail: Error in complete number Formatting using unum_formatDouble()\nGot: b=%d end=%d\nExpected: b=1 end=6\n",
|
||||
pos1.beginIndex, pos1.endIndex);
|
||||
}
|
||||
|
||||
log_verbose("\nTesting unum_parseDoubleCurrency\n");
|
||||
parsepos=0;
|
||||
d1=unum_parseDoubleCurrency(cur_def, result, u_strlen(result), &parsepos, temp2, &status);
|
||||
if (U_FAILURE(status)) {
|
||||
log_err("parse failed. The error is : %s\n", myErrorName(status));
|
||||
if (result == NULL) {
|
||||
log_err("result is NULL\n");
|
||||
}
|
||||
/* Note: a==1234.56, but on parse expect a1=1235.0 */
|
||||
if (d1!=a1) {
|
||||
log_err("Fail: Error in parsing currency, got %f, expected %f\n", d1, a1);
|
||||
} else {
|
||||
log_verbose("Pass: parsed currency ammount successfully\n");
|
||||
}
|
||||
if (u_strcmp(temp2, temp)==0) {
|
||||
log_verbose("Pass: parsed correct currency\n");
|
||||
} else {
|
||||
log_err("Fail: parsed incorrect currency\n");
|
||||
else {
|
||||
d1=unum_parseDoubleCurrency(cur_def, result, u_strlen(result), &parsepos, temp2, &status);
|
||||
if (U_FAILURE(status)) {
|
||||
log_err("parse failed. The error is : %s\n", myErrorName(status));
|
||||
}
|
||||
/* Note: a==1234.56, but on parse expect a1=1235.0 */
|
||||
if (d1!=a1) {
|
||||
log_err("Fail: Error in parsing currency, got %f, expected %f\n", d1, a1);
|
||||
} else {
|
||||
log_verbose("Pass: parsed currency ammount successfully\n");
|
||||
}
|
||||
if (u_strcmp(temp2, temp)==0) {
|
||||
log_verbose("Pass: parsed correct currency\n");
|
||||
} else {
|
||||
log_err("Fail: parsed incorrect currency\n");
|
||||
}
|
||||
}
|
||||
|
||||
free(result);
|
||||
|
|
Loading…
Add table
Reference in a new issue