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,
|
||||
string _linePrefix)
|
||||
{
|
||||
soltestAssert(
|
||||
_bytes.size() == ContractABIUtils::encodingSize(_parameters),
|
||||
"Got " + to_string(_bytes.size()) + " bytes, but expected " +
|
||||
to_string(ContractABIUtils::encodingSize(_parameters)) + " bytes."
|
||||
);
|
||||
|
||||
stringstream os;
|
||||
ParameterList parameters;
|
||||
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)};
|
||||
|
||||
os << _linePrefix << byteRange;
|
||||
if (¶meter != &_parameters.back())
|
||||
if (¶meter != ¶meters.back())
|
||||
os << endl;
|
||||
|
||||
it += static_cast<long>(parameter.abiType.size);
|
||||
@ -279,16 +279,17 @@ string BytesUtils::formatBytesRange(
|
||||
bool _highlight
|
||||
)
|
||||
{
|
||||
soltestAssert(
|
||||
_bytes.size() == ContractABIUtils::encodingSize(_parameters),
|
||||
"Got " + to_string(_bytes.size()) + " bytes, but expected " +
|
||||
to_string(ContractABIUtils::encodingSize(_parameters)) + " bytes."
|
||||
);
|
||||
|
||||
stringstream os;
|
||||
ParameterList parameters;
|
||||
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)};
|
||||
|
||||
@ -301,7 +302,7 @@ string BytesUtils::formatBytesRange(
|
||||
else
|
||||
os << parameter.rawString;
|
||||
|
||||
if (¶meter != &_parameters.back())
|
||||
if (¶meter != ¶meters.back())
|
||||
os << ", ";
|
||||
|
||||
it += static_cast<long>(parameter.abiType.size);
|
||||
|
@ -140,7 +140,11 @@ string TestFunctionCall::format(
|
||||
|
||||
string bytesOutput = abiParams ?
|
||||
BytesUtils::formatRawBytes(output, abiParams.get(), _linePrefix) :
|
||||
_linePrefix + "[]";
|
||||
BytesUtils::formatRawBytes(
|
||||
output,
|
||||
ContractABIUtils::defaultParameters(ceil(output.size() / 32)),
|
||||
_linePrefix
|
||||
);
|
||||
|
||||
_errorReporter.warning(
|
||||
"The call to \"" + m_call.signature + "\" returned \n" +
|
||||
|
Loading…
Reference in New Issue
Block a user