v1.01.316 SUPV003 - Test du superviseur#

Résumé:

Ce test n’a aucune signification physique, c’est uniquement un test informatique.

Il permet de vérifier la non régression de fonctionnalités de bas niveau comme des enrobages Python à routines fortran.

Modélisation A#

Caractéristiques de la modélisation#

On teste des fonctions de base accessibles dans l’espace Python:

  • Internationalisation des messages: On vérifie que la fonction de traduction de gettext (fonction _()) est disponible, et qu’elle retourne la traduction attendue pour une chaîne simple. Le résultat dépend de LANG=”EN” dans DEBUT, de la bonne installation du fichier share/locale/aster/en/LC_MESSAGES/aster_messages.mo et du bon chargement de ce fichier par le module i18n.py.

Modélisation B#

Caractéristiques de la modélisation#

Cette modélisation s’assure que la vérification syntaxique transforme le nombre de valeurs fournies en cohérence avec le catalogue de commande.

Si max=1, on ne doit obtenir qu’une valeur et non une liste contenant une valeur. Inversement, si max="**" (ou supérieur à 1), on doit toujours obtenir une liste ou un tuple même s’il n’y a qu’une valeur dedans. Cette règle doit aussi être vérifiée pour les mots-clés facteurs.s

On vérifie également dans ce test que, pour un mot-clé de type "I" (entier), la conversion float en int fonctionne correctement. Si la valeur du nombre réel est « entière », le nombre est accepté. Sinon une erreur de type est émise.

Modélisation C#

Caractéristiques de la modélisation#

On teste dans cette modélisation des différentes exceptions que l’on peut lancer avec raiseAsterError. On vérifie également les attributs de l’exception AsterError.

Modélisation D#

Caractéristiques de la modélisation#

Cette modélisation vérifie le bon fonctionnement des fonctions qui permettent de récupérer une copie des valeurs de certains concepts (fonctions, listes de réels, vecteurs et collections Jeveux) dans l’espace Python.

On crée des concepts triviaux dont on récupère les valeurs ensuite.

On vérifie également que des objets Python de base sont bien transmis en poursuite.

Modélisation E#

Caractéristiques de la modélisation#

On teste dans cette modélisation le fonctionnement les enrobages Python de fonctions MPI comme la fonction utilitaire pour récupérer le nombre de processeurs et le rang ou bien la communication d’une chaîne de caractères.

Modélisation F#

Caractéristiques de la modélisation#

On teste dans cette modélisation l’objet ExecutionParameter qui donne accès aux arguments de la ligne de commande et d’autres informations sur l’exécution qui peuvent être récupérées depuis Python ou Fortran (hostname, tpmax etc.).

Modélisation G#

Caractéristiques de la modélisation#

On teste dans cette modélisation la récupération des informations propres à l’exécution fournies par INFO_EXEC_ASTER.

Modélisation H#

Caractéristiques de la modélisation#

On teste l’exécution d’une macro-commande qui produit un très grand nombre de résultats de type «CO».

Dans le cas où l’on crée un namedtuple , Python est limité à 255 arguments pour créer l’objet jusqu’en version 3.6. On vérifie donc que c’est bien détecté avec un arrêt clair pour l’utilisateur.

Modélisation I#

Caractéristiques de la modélisation#

On teste la compatibilité ascendante de la syntaxe, qui est gérée les fonctions compat_syntax définies dans les catalogues des commandes.

On utilise intentionnellement l’ancienne syntaxe :

  • ORIE_PEAU_2D / GROUP_MA, au lieu de ORIE_PEAU / GROUP_MA_PEAUdans MODI_MAILLAGE

  • LIAISON= »ENCASTRE », au lieu de BLOCAGE=(“DEPLACEMENT”, “ROTATION”) dans AFFE_CHAR_MECA

Modélisation J#

Caractéristiques de la modélisation#

Identiques à la modélisation I. On teste en parallèle.

Modélisation K#

Caractéristiques de la modélisation#

Cette modélisation assure que l’initialisation de code_aster en parallèle est réalisable sur un sous communicateur MPI. Deux processus MPI sont alloués à code_aster; un troisième à un processus Python qui simule un autre code.

On vérifie que des communications fonctionnent sur le sous-communicateur et sur le communicateur global. On peut également vérifier que code_aster n’est pas initialisé sur le processus isolé.

Synthèse des résultats#

Sans objet pour un test de fonctionnement.