Введение ;

В этом уроке мы рассмотрим, как тестировать патчи, отправленные в очередь задач другими членами сообщества Drupal.

Прежде чем углубиться в суть темы, давайте быстро поймем, что такое патч.

Что такое патч?

Проще говоря, патч — это просто файл, состоящий из дополнений, удалений или модификаций, внесенных в ядро Drupal. или любой из различных вложенных модулей/тем.

Теперь, когда вы понимаете, что такое исправление, давайте перейдем к шагам, связанным с тестированием исправлений, отправленных в очередь задач.

Шаги ;

Подробное объяснение всех шагов можно получить здесь. В этом посте я объясню только самое важное, сопровождая скриншотами все необходимые шаги, чтобы помочь вам легко понять всю концепцию.

Шаг 1; Установите песочницу для лестницы Drupal

Хотя у меня уже давно установлена ​​песочница, я вкратце расскажу о шагах, необходимых для ее получения.

Во-первых, перейдите в терминал (я на Ubuntu) и клонируйте лестницу Sandbox для Drupal в корневой каталог вашего локального веб-сервера ( var/www/html ), выполнив эту команду.

git clone --branch 8.x https://git.drupal.org/sandbox/bhirsch/1388780.git drupal_8_sandbox_for_drupal_ladder

После клонирования вы можете приступить к установке, разместив ее в своем браузере. На странице установки вам будут предложены языковые настройки, настройка базы данных и т. д.

P.S.; Не забудьте создать базу данных для вашей песочницы. В противном случае это не сработает.

Вот скриншот моей папки Sandbox for Drupal в корневом каталоге моего веб-сервера.

После установки песочницы вы можете перейти к следующему шагу.

Шаг 2. Команды, чтобы сделать git более разборчивым

Я хотел бы уточнить, что этот шаг является необязательным и должен быть выполнен только один раз, так как параметры будут сохранены в вашем файле .gitconfig.

Команды для запуска на терминале следующие

git config --global color.status auto 
git config --global color.branch auto 
git config --global color.interactive auto 
git config --global color.diff auto

Вот скриншот

Шаг 3. Найдите проблему в локально установленной песочнице

Перед загрузкой исправления, которое в основном является решением проблемы, важно убедиться, что мы можем воспроизвести заявленную проблему, как указано в исходном уроке. По умолчанию проблема включена в песочницу.

Чтобы проверить наличие проблемы, перейдите в песочницу Drupal.

localhost/name of your sandbox

Оттуда нажмите (1) Добавить контент (2) Добавить статью (3) Настройки пути URL-адреса и убедитесь, что вы видите то, что я обвел КРАСНЫМ цветом на скриншоте ниже.

Как видите, мы находимся в drupalsandbox, и проблема, которую я обнаружил, обведена КРАСНЫМ выше.

Патч, который мы собираемся протестировать, был разработан, чтобы изменить этот конкретный тест на что-то более понятное.

Шаг 4. Загрузите исправление

По уроку предлагается скачать патч в комментарии 2.

Вот скрин самого патча

Загрузите его и поместите в корневой каталог вашего локального веб-сервера.

После этого перейдите к применению исправления, как описано в шаге 5.

Шаг 5. Применение исправления

После загрузки мы должны применить патч, чтобы увидеть, работает ли он и выполняет ли желаемую задачу, изменяя обведенный фрагмент текста, обведенный красным выше.

Чтобы применить патч, запустите на терминале

git apply 1326088-rewrite-desription-for-url-alias.patch

Примечание; «1326088-rewrite-desription-for-url-alias.patch» — это название исправления . Вы должны сохранить его под этим именем в своей системе

Вот скриншот, когда я применил патч

Как видите, патч применился без ошибок.

Шаг 6. Проверка исправления

Наконец, вернитесь к проекту песочницы на локальном хосте.

Оттуда нажмите (1) Добавить контент (2) Добавить статью (3) Настройки пути URL.

Проверить, что текст изменился на указанный в патче

Вот скриншот. (Изменение обведено зеленым)

Как видите, текст изменился, что означает успешное применение патча. Изменение обведено зеленым (сравните его с изменением, обведенным красным выше, чтобы увидеть разницу .

Если вы хотите отменить изменения, примененные после завершения тестирования, просто запустите на терминале

git reset --hard

Вот и все… Это так же просто, как тестирование патча. Если бы это была реальная проблема, вам нужно было бы сообщить на странице проблемы этого конкретного проекта, что исправление применено правильно. Если бы это не удалось, вам пришлось бы сообщить на странице проблемы, что исправление не работает должным образом.

Подводить итоги ;

Это была приятная и обогащающая задача, которая позволила мне начать тестирование патчей.

Я уже начал просматривать патчи в очереди задач сегодня и буду продолжать это делать впредь.

Я надеюсь приобретать все больше и больше знаний, чтобы иметь возможность писать патчи, чтобы помогать другим членам сообщества Drupal с их проблемами.

С учетом сказанного, спасибо за то, что читаете и получайте удовольствие от Drupalling…