Opzetten van test omgeving om patches te reviewen

Deze pagina is bedoelt om ontwikkelaars en eindgebruikers die hun steentje bij willen dragen aan de Drupal core patch review processen, op weg te helpen. Deze pagina is een vrije vertaling van de Engelse pagina.
Er zijn 5 secties in deze handleiding:

  1. Ontvangen van een kopie van Drupal HEAD via CVS
  2. Configureren van Drupal HEAD
  3. Vinden en toepassen van patches
  4. Testen met patches voor versies die anders zijn dan Drupal HEAD
  5. Maken van een test omgeving van een bestaande installatie van Drupal.

Dit artikel gaat ervan uit dat de lezer(es) shell toegang heeft op een Linux/Unix/BSD/Cygwin platform.

Ontvangen van een kopie van Drupal HEAD via CVS

Drupal HEAD is de ontwikkel versie van Drupal. Om nieuwe features te testen dien je een functionele kopie te hebben van Drupal HEAD, welke verkrijgbaar is via Drupal's CVS Repository. Meer info over CVS (Engels)

De stappen die je dient te doen:

  1. Maak een directory waarin de nieuwe Drupal versie moet verschijnen. Bijvoorbeeld:
    cd /path/naar/je/web/root/
  2. Haal een kopie van Drupal HEAD van de server door onderstaand commando uit te voeren:
    cvs -z9 -d:pserver:anonymous:anonymous@cvs.drupal.org:/cvs/drupal checkout -d drupal-cvs drupal
    Dit download de drupal HEAD bestanden in een folder genaamd drupal-cvs

Configureren van Drupal HEAD

Drupal HEAD's installatie en configuratie is exact hetzelfde als bij de standaard versie van Drupal ( Zie installeren van drupal voor meer informatie). Nadat je klaar bent met de stappen in INSTALL.txt, test je de installatie of alles goed werkt.

Vinden en toepassen van Patches

Patches vind je in de Drupal patch Queue. Kies de patches die overeen komen met je Drupal installatie (in HEAD geval is dan cvs;). Je kunt een goede handleiding voor het reviewen van patches alvast in het Engels lezen op Tips for reviewing patches (Engels) in het Contributor's Handbook.

Wanneer je een patch gevonden hebt is het proces om er een patch op uit te voeren, als volgt:

  1. Wees er zeker van dat Drupal HEAD up to date is met de meest recente versie. Dit kan je doen door het volgende commando uit te voeren in de root map van drupal HEAD:
    cvs update -dP
  2. Download een kopie van de meeste recente versie van de patch door het commando:
    wget http://drupal.org/files/issues/patch-name.patch
  3. De patch zelf doen is met onderstaand commando:
    patch -p0 -u < patch-name.patch

Op het laatst, test je de patch rigoureus en stuur je feedback naar de issues tracker, dit om te helpen het probleem te identificeren en de functionaliteit van Drupal te verbeteren.

Testen met patches voor versies die anders zijn dan Drupal HEAD

Niet alle patches in de patch queue zijn voor Drupal HEAD. Bug fixes en veiligheid updates voor vrijgegeven Drupal versies zijn hier ook te vinden. Om een test omgeving op te zetten voor patches die niet voor Drupal HEAD zijn (b.v. drupal 5.2 of 4.6.1) doe je dezelfde stappen als bovengenoemd met de onderstaande uitzondering:

Wanneer je een kopie van Drupal via CVS haalt, gebruik je hetzelfde checkout commando, echter moet je een branch specificeren om de versie (anders dan HEAD) te krijgen. Een lijst met beschikbare branches is beschikbaar op de Using CVS with branches and tags pagina van het Contributor's Handbook.

Bijvoorbeeld, om versie 4.6.1 te halen gebruik je commando:
cvs -z9 -d:pserver:anonymous:anonymous@cvs.drupal.org:/cvs/drupal checkout -r DRUPAL-4-6-1 drupal

Onthoud dat versies, toegewezen aan patches , en de gebruikte versie van Drupal overeen moeten komen.

Maken van een test omgeving van een bestaande installatie van Drupal.

De manier om te zien hoe een patch effect heeft op een al bestaande installatie van Drupal is de patch direct op de installatie toe te passen. Echter, omdat patches soms onverwachte resultaten geeft, is de beste manier de patch uit te voeren op een Kopie van je Drupal installatie in plaats van de Drupal installatie zelf.

Aanvullende tip

Test met een gevulde database. 1 die verschillende rollen,boeken, nodes en reacties bevat.
Testen met een cleane installatie is voor veel patches niet wenselijk. De devel_generate module kan content genereren.