mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
[isoltest] Adds fallback formatting.
This commit is contained in:
parent
143e867353
commit
4162c3d7af
@ -208,21 +208,21 @@ string BytesUtils::formatRawBytes(
|
|||||||
dev::solidity::test::ParameterList const& _parameters,
|
dev::solidity::test::ParameterList const& _parameters,
|
||||||
string _linePrefix)
|
string _linePrefix)
|
||||||
{
|
{
|
||||||
soltestAssert(
|
|
||||||
_bytes.size() == ContractABIUtils::encodingSize(_parameters),
|
|
||||||
"Got " + to_string(_bytes.size()) + " bytes, but expected " +
|
|
||||||
to_string(ContractABIUtils::encodingSize(_parameters)) + " bytes."
|
|
||||||
);
|
|
||||||
|
|
||||||
stringstream os;
|
stringstream os;
|
||||||
|
ParameterList parameters;
|
||||||
auto it = _bytes.begin();
|
auto it = _bytes.begin();
|
||||||
|
|
||||||
for (auto const& parameter: _parameters)
|
if (_bytes.size() != ContractABIUtils::encodingSize(_parameters))
|
||||||
|
parameters = ContractABIUtils::defaultParameters(ceil(_bytes.size() / 32));
|
||||||
|
else
|
||||||
|
parameters = _parameters;
|
||||||
|
|
||||||
|
for (auto const& parameter: parameters)
|
||||||
{
|
{
|
||||||
bytes byteRange{it, it + static_cast<long>(parameter.abiType.size)};
|
bytes byteRange{it, it + static_cast<long>(parameter.abiType.size)};
|
||||||
|
|
||||||
os << _linePrefix << byteRange;
|
os << _linePrefix << byteRange;
|
||||||
if (¶meter != &_parameters.back())
|
if (¶meter != ¶meters.back())
|
||||||
os << endl;
|
os << endl;
|
||||||
|
|
||||||
it += static_cast<long>(parameter.abiType.size);
|
it += static_cast<long>(parameter.abiType.size);
|
||||||
@ -279,16 +279,17 @@ string BytesUtils::formatBytesRange(
|
|||||||
bool _highlight
|
bool _highlight
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
soltestAssert(
|
|
||||||
_bytes.size() == ContractABIUtils::encodingSize(_parameters),
|
|
||||||
"Got " + to_string(_bytes.size()) + " bytes, but expected " +
|
|
||||||
to_string(ContractABIUtils::encodingSize(_parameters)) + " bytes."
|
|
||||||
);
|
|
||||||
|
|
||||||
stringstream os;
|
stringstream os;
|
||||||
|
ParameterList parameters;
|
||||||
auto it = _bytes.begin();
|
auto it = _bytes.begin();
|
||||||
|
|
||||||
for (auto const& parameter: _parameters)
|
if (_bytes.size() != ContractABIUtils::encodingSize(_parameters))
|
||||||
|
parameters = ContractABIUtils::defaultParameters(ceil(_bytes.size() / 32));
|
||||||
|
else
|
||||||
|
parameters = _parameters;
|
||||||
|
|
||||||
|
|
||||||
|
for (auto const& parameter: parameters)
|
||||||
{
|
{
|
||||||
bytes byteRange{it, it + static_cast<long>(parameter.abiType.size)};
|
bytes byteRange{it, it + static_cast<long>(parameter.abiType.size)};
|
||||||
|
|
||||||
@ -301,7 +302,7 @@ string BytesUtils::formatBytesRange(
|
|||||||
else
|
else
|
||||||
os << parameter.rawString;
|
os << parameter.rawString;
|
||||||
|
|
||||||
if (¶meter != &_parameters.back())
|
if (¶meter != ¶meters.back())
|
||||||
os << ", ";
|
os << ", ";
|
||||||
|
|
||||||
it += static_cast<long>(parameter.abiType.size);
|
it += static_cast<long>(parameter.abiType.size);
|
||||||
|
@ -140,7 +140,11 @@ string TestFunctionCall::format(
|
|||||||
|
|
||||||
string bytesOutput = abiParams ?
|
string bytesOutput = abiParams ?
|
||||||
BytesUtils::formatRawBytes(output, abiParams.get(), _linePrefix) :
|
BytesUtils::formatRawBytes(output, abiParams.get(), _linePrefix) :
|
||||||
_linePrefix + "[]";
|
BytesUtils::formatRawBytes(
|
||||||
|
output,
|
||||||
|
ContractABIUtils::defaultParameters(ceil(output.size() / 32)),
|
||||||
|
_linePrefix
|
||||||
|
);
|
||||||
|
|
||||||
_errorReporter.warning(
|
_errorReporter.warning(
|
||||||
"The call to \"" + m_call.signature + "\" returned \n" +
|
"The call to \"" + m_call.signature + "\" returned \n" +
|
||||||
|
Loading…
Reference in New Issue
Block a user