Как перезапустить сценарий оболочки, который не удается несколько раз, если неудачный ответ содержит определенный текстLinux

Ответить
Anonymous
 Как перезапустить сценарий оболочки, который не удается несколько раз, если неудачный ответ содержит определенный текст

Сообщение Anonymous »

У нас есть несколько слегка хлопотных тестов, которые время от времени терпят неудачу (мы смотрим на то, почему), но они всегда терпят неудачу с тем же текстом, появляющимся в выходе. < /p>
Мы 'D Нравится перезапустить тесты несколько раз, если они не сработают, и вывод содержит определенный текст, но просто сбой, если тесты не стержены без определенного текста. < /p>
мы попробовали это … < /P>

Код: Выделить всё

docker compose --project-directory ./app --env-file ./.env exec php vendor/bin/pest --coverage-clover=clover.xml | ack --passthru --color "The current node list is empty" &&
docker compose --project-directory ./app --env-file ./.env exec php vendor/bin/pest --coverage-clover=clover.xml | ack --passthru --color "The current node list is empty" &&
docker compose --project-directory ./app --env-file ./.env exec php vendor/bin/pest --coverage-clover=clover.xml | ack --passthru --color "The current node list is empty" &&
docker compose --project-directory ./app --env-file ./.env exec php vendor/bin/pest --coverage-clover=clover.xml | ack --passthru --color "The current node list is empty" &&
docker compose --project-directory ./app --env-file ./.env exec php vendor/bin/pest --coverage-clover=clover.xml | ack --passthru --color "The current node list is empty" &&
docker compose --project-directory ./app --env-file ./.env exec php vendor/bin/pest --coverage-clover=clover.xml | ack --passthru --color "The current node list is empty" &&
docker compose --project-directory ./app --env-file ./.env exec php vendor/bin/pest --coverage-clover=clover.xml | ack --passthru --color "The current node list is empty" &&
docker compose --project-directory ./app --env-file ./.env exec php vendor/bin/pest --coverage-clover=clover.xml | ack --passthru --color "The current node list is empty" &&
docker compose --project-directory ./app --env-file ./.env exec php vendor/bin/pest --coverage-clover=clover.xml | ack --passthru --color "The current node list is empty" &&
docker compose --project-directory ./app --env-file ./.env exec php vendor/bin/pest --coverage-clover=clover.xml | ack --passthru --color "The current node list is empty
< /code>
… который работал для повторного выполнения тестов, если они потерпели неудачу с соответствующим текстом, однако это также прошло даже при сбое тестов.  Я предполагаю, потому что ACK улавливает код выхода ошибок, и, поскольку он выполняет свою работу, он существует с кодом успеха. < /P>
Есть ли способ вернуть исходный код выхода. Если, и только если, он не найдет конкретный текст в выходе теста?  Или есть какая -то другая команда, которая может быть лучше.  Tee 
Возможно?


Подробнее здесь: https://stackoverflow.com/questions/794 ... ponse-cont
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»