You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
В этой задаче нужно написать тест, который проверяет, что мы не делаем форк.
Исходный коммент:
Да, случай с докером тоже в тему. И еще хотел добавить, что вариант с форком как-то не очень. Это происходит неявно и поэтому трудно расследовать. Кроме того, форк процессов не предусмотрен в винде, поэтому как поведет себя драйвер там, непонятно.
Мне кажется, мы должны вручную проверять доступность драйвера. Проще всего это сделать, постучавшись в указанный порт. Если он занят, то мы кидаем исключение с текстом, что нельзя поднять драйвер на этом порту. Это при условии, что порт задан явно. А если порт пустой, мы выбираем случайный порт.
Сценарий примерно такой
с помощью clojure.java.shell/sh или аналогов запускаем вручную драйвер
пытаемся вызвать (chrome...) с таким же портом
получаем исключение (is (?thrown...))
нового процесса не появилось
Сценарий на рандомный порт:
запускаем драйвер вручную
запускаем (chrome) без указания порта
исключения не было
теперь два процесса драйвера
По окончании тестов убивать процессы. Тесты должны быть в отдельном ns.
Отдельная задача про форк из обсуждения #295
The text was updated successfully, but these errors were encountered: