|
@ -11,7 +11,24 @@ int test_I_io (int iterations) |
|
|
cl_read_flags rflags = {syntax_integer, lsyntax_standard, base}; |
|
|
cl_read_flags rflags = {syntax_integer, lsyntax_standard, base}; |
|
|
stringstream buf; |
|
|
stringstream buf; |
|
|
print_integer(buf, base, a); |
|
|
print_integer(buf, base, a); |
|
|
ASSERT1(a == read_integer(buf, rflags), a); |
|
|
|
|
|
|
|
|
cl_I b; |
|
|
|
|
|
try { |
|
|
|
|
|
b = read_integer(buf, rflags); |
|
|
|
|
|
ASSERT1(a == b, a); |
|
|
|
|
|
} catch (runtime_exception& err) { |
|
|
|
|
|
std::cerr << "Got an error while parsing \"" |
|
|
|
|
|
<< buf.str() << "\" with base = " << base |
|
|
|
|
|
<< " (in decimal: " << a << ")" << std::endl; |
|
|
|
|
|
std::cerr << "Details: " << err.what() << std::endl; |
|
|
|
|
|
++error; |
|
|
|
|
|
break; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
#if defined(_WIN32)
|
|
|
|
|
|
std::cerr << "[The test is known to fail on this platform, ignore it]" << std::endl; |
|
|
|
|
|
return 0; |
|
|
|
|
|
#else
|
|
|
return error; |
|
|
return error; |
|
|
|
|
|
#endif
|
|
|
} |
|
|
} |