> On 11 Sep 2024, at 17:08, Оксана Деева <o.de...@wbsrv.ru> wrote: > > Здравствуйте, > Столкнулась с такой проблемой: если в тесте plan() стоит после run() и nginx > по какой-то причине не может стартовать, то деструктор нормально не > отрабатывает - он запускается, но expected_tests везде по нулям и из-за этого > мы не проверяем логи на ошибки/алерты > (https://github.com/nginx/nginx-tests/blob/master/lib/Test/Nginx.pm#L67 и > https://github.com/nginx/nginx-tests/blob/master/lib/Test/Nginx.pm#L85). > При этом, если просто в тесте переместить вызов plan() в начало, то все > нормально отрабатывает, до всех проверок мы доходим - expected_tests не равен > нулю, даже если nginx не смог стартануть (и это ожидаемое поведение).
> Вопрос: зачем нужна проверка на expected_tests? Если был skip_all, то до > деструктора и этой проверки мы вообще не доходим, если все тесты заскипались, > то expected_tests не будет нулем. Больше никаких сценариев придумать не могу, > и хотела бы убрать эту проверку, но интересно было бы услышать мнение автора. IIRC, исходно проверка была добавлена для skip_all, который стоит после run(), как, например, в upstream_ip_hash.t: $t->run(); plan(skip_all => ..); $t->plan(N); Иначе, при безусловном запуске, тест выполнится с нулевым планом и математика не сойдётся. -- Sergey Kandaurov _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org https://mailman.nginx.org/mailman/listinfo/nginx-ru