Skip to content

The run annotation says "The tests have failed" on every failure, including setup #44

Description

@fey

Что происходит

bin/run-tests.js ловит любую ошибку из runTests и вешает одну и ту же аннотацию:

core.error('The tests have failed. Examine what they have to say. Inhale deeply. Exhale. Fix the code.');

Аннотация — единственное, что студент видит на странице прогона, не открывая лог. Она говорит «тесты упали» и тогда, когда тесты не запускались вовсе: провалился docker pull, не собрался образ, упал make setup на установке зависимостей.

Как воспроизводится

Любой отказ до сервиса test. Пример с переименованным пакетом в php-проекте (composer install не находит hexlet/code в path-репозитории):

  Problem 1
    - Root composer.json requires hexlet/code, it could not be found in any version, there may be a typo in the package name.
::error::The tests have failed. Examine what they have to say. Inhale deeply. Exhale. Fix the code.
Error: The process '/usr/bin/docker' failed with exit code 2

Причина в логе есть, но между ней и хвостом лежит вывод сборки, а наверху страницы висит утверждение, которое уводит студента искать ошибку в своих тестах.

Что стоит сделать

Аннотация должна называть фазу, на которой всё встало: подготовка образа, установка зависимостей, прогон тестов. Фазы уже разделены в check() и prepareProject(), не хватает только того, чтобы отказ доносил, откуда он.

🤖 Generated with Claude Code

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions