u4.92.11 Procédure ENGENDRE_TEST#
Syntaxe#
Détail de la syntaxe
ENGENDRE_TEST(
◇ UNITE = unit (défaut: 8),
◇ FORMAT = / "ASTER" (par défaut),
/ "OBJET",
◇ FORMAT_R = text (défaut: "1PE20.13"),
◇ PREC_R = text (défaut: "1.E-10"),
# Si: equal_to("FORMAT", 'ASTER')
◆ CO = resultat / table / cham_gd,
◇ TYPE_TEST = / "SOMME",
/ "SOMM_ABS" (par défaut),
/ "MAX",
/ "MIN",
# Si: equal_to("FORMAT", 'OBJET')
◆ / TOUT = "OUI" (ou non renseigné),
/ CO = datastructure,
◇ TYPE_TEST = "SOMME",
)
◆ : obligatoire
◇ : optionnel
⟐ : présent par défaut
& : ensemble
/ : un seul parmi
| : plusieurs choix possibles
Opérandes#
Généralités#
Cette commande sert à engendrer des «morceaux» de fichier que l’on peut inclure dans le fichier de commande d’un test afin de vérifier la «non-régression» du code.
Lorsque l’on n’utilise pas le mot clé FORMAT=”OBJET” (ce qui est conseillé), les types de concepts que l’on peut tester sont moins nombreux : les tables, les champs et les sd_resultat. Pour chaque concept, la commande ENGENDRE_TEST génèrera une commande TEST_TABLE ou TEST_RESU.
Si le concept est une table, chaque colonne de la table sera testée. Si le concept est une sd_resultat, tous les champs seront testés pour tous les numéros d’ordre.
Si on utilise le mot clé FORMAT=”OBJET” (ce qui n’est pas recommandé), la commande écrira dans le fichier attaché à l’unité iunit (RESULTAT par défaut) des lignes du type:
_F(NOM='CHAMEL14 .VALE' , S_R=-1.45779E+08, PRECISION=1.D-5,),
_F(NOM='CHAMNO3 .VALE' , S_R= 1.16344E+06, PRECISION=1.D-5,),
_F(NOM='LR3 .NBPA' , S_I= 5, PRECISION=0.,),
_F(NOM='LR3 .BINT' , S_R= 1.00000E+01, PRECISION=1.D-5,),
_F(NOM='LR3 .VALE' , S_R= 3.00000E+01, PRECISION=1.D-5,),
_F(NOM='FO20 .VALE' , S_R=-1.16733E+06, PRECISION=1.D-5,),
Ces lignes peuvent être alors insérées dans le texte d’une commande TEST_RESU :
TEST_RESU( OBJET= (
<< lignes insérées>>
),)
Chaque ligne donnera lieu à une occurrence du mot clé OBJET de la commande TEST_RESU. On testera donc ainsi la non-régression du contenu des objets JEVEUX spécifiés.
Pour pouvoir imprimer le contenu des objets JEVEUX, il faut bien évidemment que ces objets existent et c’est pourquoi cette commande est généralement appelée en fin de fichier de commandes.
Opérande TOUT#
♦ / TOUT = 'OUI'
Tous les objets présents sur la base GLOBALE au moment de l’appel à ENGENDRE_TEST donneront lieu à un test de non-régression.
Opérande CO#
/ CO = l_conc
l_conc est la liste des concepts pour lesquels on veut engendrer les tests de non-régression.
Opérande TYPE_TEST = “SOMME”#
◊ TYPE_TEST = “SOMME”
Pour chaque objet JEVEUX retenu, on teste:
SOMME |
La valeur testée correspond à la somme des valeurs des nombres contenus dans l’objet . |
SOMME_ABS |
La valeur testée correspond à la somme des valeurs absolues des nombres contenus dans l’objet . |
MIN |
La valeur testée correspond auminimum des valeurs des nombres contenus dans l’objet . |
MAX |
La valeur testée correspond aumaximum des valeurs des nombres contenus dans l’objet . |
Opérande UNITE#
◊ UNITE = / iunit,
/ 8
Ce nombre entier permet de choisir l’unité logique du fichier où se fera l’impression. Par défaut l’impression sera effectuée sur l’unité logique associée au fichier fort.8.
Opérande FORMAT_R#
◊ FORMAT_R = / format,
/ “1PE20.13”, [DEFAUT]
Cette chaîne de caractère permet de choisir le nombre de décimales imprimées pour les nombres réels.
Opérande PREC_R#
◊ PREC_R = / prec,
/ “1.E-10”, [DEFAUT]
Cette chaîne de caractère permet de choisir la précision avec laquelle sera fait le test dans la commande TEST_RESU (pour les nombres flottants).
Exemple#
ENGENDRE_TEST(CO=(chamno, chamel, tabl2, evolth))