Publié le :
Macro CREATION_INTERNE

Test de la macro _osCmds.sas

En attente de validation
Attention : Ce code nécessite des droits administrateur.
Ce script s'inscrit dans le framework de test SASUnit. Son objectif est de valider la macro %_osCmds. Pour ce faire, il commence par sauvegarder les valeurs actuelles de plusieurs variables macro globales liées à des commandes système (ex: g_copydir, g_makedir). Ensuite, il supprime ces variables avant d'appeler la macro %_osCmds, qui doit les recréer. Enfin, il utilise la macro %assertEquals pour comparer les valeurs initiales avec celles nouvellement générées, assurant ainsi que la macro a fonctionné comme attendu.
Analyse des données

Type : CREATION_INTERNE


Le script ne lit aucune donnée externe. Il opère exclusivement sur des variables macro SAS qu'il génère et manipule pour les besoins du test.

1 Bloc de code
Macro Data
Explication :
Initialise un scénario et un cas de test avec le framework SASUnit. Ensuite, ce bloc sauvegarde les valeurs actuelles des variables macro globales (préfixe g_) dans des variables locales (préfixe _).
Copié !
1%initScenario (i_desc=Test of _osCmds.sas);
2 
3%initTestcase(i_object=_osCmds.sas, i_desc=check for correct values)
4 
5/* Get current values */
6%let _copydir = &g_copydir.;
7%let _endcommand = &g_endcommand.;
8%let _makedir = &g_makedir.;
9%let _removedir = &g_removedir.;
10%let _sasstart = &g_sasstart.;
11%let _splash = &g_splash.;
12%let _infile_options = &g_infile_options.;
13%let _osCmdFileSuffix = &g_osCmdFileSuffix.;
2 Bloc de code
Macro
Explication :
Ce bloc efface les valeurs des variables macro globales pour assurer un environnement de test propre. Il exécute ensuite la macro %_osCmds, qui est censée redéfinir ces variables en fonction du système d'exploitation. La macro %endTestcall semble être une macro spécifique à cet environnement de test.
Copié !
1/* delete current values*/
2%let g_copydir =;
3%let g_endcommand =;
4%let g_makedir =;
5%let g_removedir =;
6%let g_sasstart =;
7%let g_splash =;
8%let g_infile_options =;
9%let g_osCmdFileSuffix =;
10 
11%_osCmds
12%endTestcall;
3 Bloc de code
Macro
Explication :
Utilise la macro %assertEquals de SASUnit pour comparer une à une les valeurs sauvegardées avec celles générées par %_osCmds. La fonction %quote est utilisée pour les variables pouvant contenir des caractères spéciaux. Le bloc se termine en clôturant le cas de test et le scénario.
Copié !
1%assertEquals(i_expected=&_copydir., i_actual=&g_copydir., i_desc=check g_copydir for identical value)
2%assertEquals(i_expected=&_endcommand., i_actual=&g_endcommand., i_desc=check g_endcommand for identical value)
3%assertEquals(i_expected=&_makedir., i_actual=&g_makedir., i_desc=check g_removedir for identical value)
4%assertEquals(i_expected=&_removedir., i_actual=&g_removedir., i_desc=check g_removedir for identical value)
5%assertEquals(i_expected=%quote(&_sasstart.), i_actual=%quote(&g_sasstart.), i_desc=check g_sasstart for identical value)
6%assertEquals(i_expected=&_splash., i_actual=&g_splash., i_desc=check g_splash for identical value)
7%assertEquals(i_expected=&_infile_options., i_actual=&g_infile_options., i_desc=check g_infile_options for identical value)
8%assertEquals(i_expected=&_osCmdFileSuffix., i_actual=&g_osCmdFileSuffix., i_desc=check g_osCmdFileSuffix for identical value)
9%endTestcase;
10 
11%endScenario();
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.
Informations de Copyright : Copyright 2010-2023 HMS Analytical Software GmbH, http://www.analytical-software.de