Skip to content

Conversation

@rdin777
Copy link

@rdin777 rdin777 commented Dec 5, 2025

Закрывает Issue: #2452

Краткое описание

Это исправление направлено на устранение проблемы чрезмерно многословных логов в ответах транзакций EVM в End-to-End тестах (e2e).

Детали

Проблема заключалась в том, что в тестах, использующих утверждение равенства (asserts) для проверки кода транзакции, в сообщение об ошибке включался весь необработанный лог (RawLog) ответа транзакции. Поле RawLog часто содержит длинные JSON-строки с событиями, что делает вывод теста громоздким и затрудняет отладку.

Данный PR удаляет result.TxResponse.RawLog из аргументов утверждения, делая вывод теста более лаконичным, что напрямую улучшает Developer Experience (DX).

Изменения

Удален аргумент result.TxResponse.RawLog из вызова s.Require().Equal в файле internal/cosmos-sdk/tests/e2e/tx/service_test.go.
rdin777

@rdin777 rdin777 requested a review from a team as a code owner December 5, 2025 12:02
Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

Этот PR направлен на то, чтобы сделать логи в e2e-тестах более лаконичными, удалив поле RawLog из сообщений об ошибках утверждений. Однако, внесенное изменение содержит ошибку: вместо того, чтобы просто удалить лишние аргументы из вызова s.Require().Equal, был удален и сам проверяемый аргумент result.TxResponse.Code, а на его место ошибочно подставлен result.TxResponse.RawLog. Это приведет к ошибке компиляции из-за несоответствия типов (uint32 и string). Я оставил комментарий с предложением по исправлению.

err = val.ClientCtx.Codec.UnmarshalJSON(res, &result)
s.Require().NoError(err)
s.Require().Equal(uint32(0), result.TxResponse.Code, "rawlog", result.TxResponse.RawLog)
s.Require().Equal(uint32(0), result.TxResponse.RawLog)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

critical

Здравствуйте! Похоже, в этой строке допущена ошибка. Вы сравниваете uint32(0) с result.TxResponse.RawLog, который имеет тип string. Это вызовет ошибку компиляции из-за несоответствия типов.

Судя по описанию pull request, ваше намерение было убрать RawLog из сообщения об ошибке, чтобы сделать лог более лаконичным. Для этого нужно было удалить только дополнительные аргументы из вызова Equal, оставив сравнение с result.TxResponse.Code.

Предлагаю исправить это следующим образом:

Suggested change
s.Require().Equal(uint32(0), result.TxResponse.RawLog)
s.Require().Equal(uint32(0), result.TxResponse.Code)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant