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