26.3. Fichiers de comparaison spécifiques à la plateforme

Il est inhérent au fonctionnement de certains tests de produire des résultats spécifiques à la plateforme. C'est pour cela qu'il est possible de fournir des fichiers de comparaison des résultats spécifiques à la plateforme. Il est fréquent que la même variation s'applique à plusieurs plateformes. Préférentiellement à la fourniture d'un fichier de comparaison pour chaque plateforme, un fichier de correspondance est fourni qui définit les fichiers de comparaison à utiliser. Ainsi, pour éliminer les << échecs >> dûs à des tests bogués sur une plateforme particulière, il faudra choisir ou créer un fichier de résultats alternatif et ajouter une ligne dans le fichier de correspondance, à savoir src/test/regress/resultmap.

Chaque ligne du fichier de correspondance est de la forme

nomtest/modeleplateforme=fichiercomparaison

nomtest est le nom du module de tests de régression. Le modèle de plateforme est un modèle dans le style des outils Unix expr (c'est-à-dire une expression rationnelle avec une ancre implicite ^ au début). Il est comparé au nom de plateforme affiché par config.guess suivi par :gcc ou :cc, selon qu'est utilisé un compilateur GNU ou le compilateur de base du système (sur les systèmes pour lesquels il y a une différence). fichiercomparaison est le nom du fichier de comparaison alternatif.

Par exemple : certains systèmes utilisant les anciennes bibliothèques de fuseaux horaires échouent à appliquer les changements d'heure pour les dates antérieures à 1970. Ce faisant, les dates PDT pré-1970 sont affichées en PST. Il en résulte un certain nombre de différences dans les tests de régression d'horologie. C'est pour cette raison qu'est fourni un fichier alternatif de comparaison, horology-no-DST-before-1970.out, qui inclut les résultats attendus sur certains systèmes. Pour faire taire les messages d'<< échec >> erronés sur les plateformes HPUX, resultmap contient

horology/.*-hpux=horology-no-DST-before-1970

qui se déclenchera sur chaque machine pour laquelle la sortie de config.guess inclut -hpux. D'autres lignes de resultmap sélectionnent le fichier de comparaison alternatif d'autres plateformes lorsque celui-ci s'applique.