8000 fix(gui): show actual skip status of tests after gui restart by ekazakov14 · Pull Request #819 · gemini-testing/html-reporter · GitHub
[go: up one dir, main page]

Skip to content

fix(gui): show actual skip status of tests after gui restart - #819

Draft
ekazakov14 wants to merge 1 commit into
gemini-testing:masterfrom
ekazakov14:fix/gui-stale-skipped-results
Draft

ekazakov14 wants to merge 1 commit into
gemini-testing:masterfrom
ekazakov14:fix/gui-stale-skipped-results

Conversation

@ekazakov14
@ekazakov14 ekazakov14 commented Oct 16, 2026 •
Copy link
Copy Markdown

Проблема

После перезапуска GUI показывает статус скипа из прошлой сессии, а не актуальный:

Старт GUI Тест Было Стало
1 pending skipped skipped
2 больше не pending skipped, в старом UI у строки теста нет Retry idle
3 прогнали success success
4 снова pending success skipped

Решение

  • buildTreeFromCurrentDb принимает excludeSkipped и отбрасывает skipped-записи тестов, которые сейчас не pending, — по тому же правилу, что watch-режим уже применяет в restoreTestHistory. ToolRunner передаёт этот параметр при старте, в refreshTests и при полной замене коллекции тестов. Это исправляет старт 2.
  • При старте дерево переиспользуется из текущей БД через buildTreeFromCurrentDb, а не из файла sqlite.db: в текущей БД уже есть skipped, записанный при этом старте.
  • skipped не пишется в БД, только если последний результат теста уже skipped: getTestFromDb возвращает последнюю запись теста независимо от её статуса, без кэша запроса. Вместе с предыдущим пунктом это исправляет старт 4.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@shadowusr shadowusr left a comment •
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Hey! Thanks a lot for the contribution!

After careful review & local testing I think this PR doesn't really address the issues it's aiming to solve:

  • If the test is skipped, launch GUI, then unskip it and launch GUI again = test remains skipped
  • If the test was launched at least once, it will never appear as skipped anymore, because that's enough for the "getNotPendingTestSpecs" to consider test to be "not pending"

I'm not entirely satisfied with the fact that we have even more fixes on top fixes on top of fixes here and it feels like things start to get out of hand.

The "perfect" solution in the long run is for us to get rid of the "skipped" and "idle" statuses of test results, because those aren't actually results. But that requires a deep refactor and will probably be a breaking change. I will try to find some time for this in the future, but no promises yet.

As for the "get it working" solution, I think the clean (well, "the least ugly") fix would be to have an explicit step that resolves skipped/not-skipped status as a final step in the pipeline which either removes last skipped test status (and replaces it with idle if it's the only attempt) OR adds the skipped attempt. And this step should be used everywhere: in watch mode, GUI tree building, etc. However, with this, we should be very careful with reportBuilder.provideAttempt logic

< 7B18 div class="float-left branch-action-item-icon completeness-indicator circle color-fg-muted border">

This branch has not been deployed

No deployments
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.

2 participants

0