Closed NullIsOne closed 1 year ago
Warnings | |
---|---|
:warning: | The .yml file has been modified. Keep `changelog.md` up to date. |
:warning: | Oops! We have found some issues. It's better to fix them to keep code clean |
Severity | File | Reason |
---|---|---|
Warning | ManualTableManager.swift:37 | Line should be 145 characters or less: currently 146 characters (line_length ) |
Warning | ManualTableManager.swift:53 | Line should be 145 characters or less: currently 146 characters (line_length ) |
Generated by :no_entry_sign: Danger Swift against 6021bc92e2a5f22cf494de4197c55f1aef5fac5d
Patch coverage: 13.10
% and project coverage change: -24.15
:warning:
Comparison is base (
d5a7be2
) 60.70% compared to head (d604813
) 36.56%.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.
На CI все равно упало.
A build check зелененький как всегда..
Как я понял, проблема в том, что xcodebuild возвращает 0 код, даже если тесты зафейлились. А если добавить в экшен такой код?
test_output=$( make test_example_iOS )
if [[ echo $test_output | grep "** TEST EXECUTE FAILED **" ]]; then
echo "::error:: Test execute failed"
fi
Будет фейлить степ если будет такая строчка в конце
Запускал на 14.3 iOS 16.4 (iPhone 14) и на 15 iOS 17 (iPhone 14) - все тесты ок
Как я понял, проблема в том, что xcodebuild возвращает 0 код, даже если тесты зафейлились. А если добавить в экшен такой код?
test_output=$( make test_example_iOS ) if [[ echo $test_output | grep "** TEST EXECUTE FAILED **" ]]; then echo "::error:: Test execute failed" fi
Будет фейлить степ если будет такая строчка в конце
![]()
Не очень удобно что при таком способе в реалтайме за тестами не получается наблюдать
Попробую все-таки читать этот output в следующем шаге slather может - и мы сможем) Но в целом способ работает
На 1-м прогоне ManagerExampleUITests упал testTable_whenFirstCellDragingToDestination_thenDestinationCellBecomesFirst(). При повторном запуске тест прошел.
Другие тесты (TestsiOS и TeststvOS) что-то не могу запустить, в т.ч. выбирая другие схемы и добавляя тесты в схему Example iOS. Получаю ошибку билда "Command PhaseScriptExecution failed with a nonzero exit code". Это как-то связано с предыдущим комментом Сережи?
На 1-м прогоне ManagerExampleUITests упал testTable_whenFirstCellDragingToDestination_thenDestinationCellBecomesFirst(). При повторном запуске тест прошел.
Другие тесты (TestsiOS и TeststvOS) что-то не могу запустить, в т.ч. выбирая другие схемы и добавляя тесты в схему Example iOS. Получаю ошибку билда "Command PhaseScriptExecution failed with a nonzero exit code". Это как-то связано с предыдущим комментом Сережи?
Это означает что есть ошибки при билде, очистить билд можно попробовать, чтобы показало ошибку. Скорее всего с тестами на телевизор что то забыли дописать)
Чекер починен
Тестов для tv нет и не было (пока) - схему лишнюю удалил
Задержки загрузки экранов при прогоне UI тестов обнулены
После замены fatalError с Runloop на Void closure время джобы build_iOS уменьшилось с 14 минут до 5 😄
UPD: хоть время и плавает, но кажется стало быстрее для первой джобы. Пример с unreachable со stackoverflow был не очень, так как он плодит кучу ворк итемов, где бесконечно крутится ранлуп. По идее избавление от этого должно было помочь с быстродействием на CI во время тестов
UI тесты теперь тоже побеждены) https://github.com/surfstudio/ReactiveDataDisplayManager/pull/238/commits/6021bc92e2a5f22cf494de4197c55f1aef5fac5d Необходимо было добавить такие же 2 параметра, какие указаны в Movable были. Похоже на CI не успевала ячейка встать на место другой и отпускалась раньше)
Что сделано?
Зачем это сделано?
Чтобы повысить качество и стабильность прогона тестов на CI
На что обратить внимание?
Как протестировать?
Запустить тесты несколько раз (для ускорения можно в схеме включить параллельное тестирование )![Снимок экрана 2023-06-21 в 20 58 22](https://github.com/surfstudio/ReactiveDataDisplayManager/assets/28707156/76f33420-5e90-41d8-a907-b4a32f18dd16)
Написать в случае нахождения плавающих падений (которые фиксятся перезапуском теста)