Publié le :

Test de portée de macro avec mp_assertscope

Ce code est également disponible en : Deutsch English Español
Ce script initialise une variable témoin, capture l'état des variables macro (snapshot) via %mp_assertscope, exécute la macro %example, puis compare l'état final avec l'état initial pour s'assurer qu'aucune variable macro n'a été créée ou modifiée de manière inattendue (fuite de portée).
Analyse des données

Type : CREATION_INTERNE


Aucune source de données externe utilisée. Le test repose uniquement sur la gestion des tables de symboles de macros.

1 Bloc de code
MACRO VARIABLE
Explication :
Définition d'une variable macro de test pour établir un état initial.
Copié !
1%let testvar=this is a test;
2 Bloc de code
MACRO
Explication :
Appel de l'utilitaire %mp_assertscope en mode 'SNAPSHOT' pour enregistrer l'état actuel des variables macro.
Copié !
1%mp_assertscope(SNAPSHOT)
3 Bloc de code
MACRO
Explication :
Exécution de la macro %example (le sujet du test) avec un paramètre.
Copié !
1%example(some message)
4 Bloc de code
MACRO
Explication :
Appel de %mp_assertscope en mode 'COMPARE' pour vérifier les différences avec le snapshot et valider la propreté du code.
Copié !
1%mp_assertscope(COMPARE,desc=Checking macro variables against previous snapshot)
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.