Attention : Este código requiere privilegios de administrador.
El script inicializa un directorio de trabajo, clona el repositorio `https://github.com/sasjs/core` en él. Luego, realiza una serie de operaciones en los archivos: creación de un nuevo archivo (`somefile.txt`), modificación del contenido de un archivo existente (`readme.md`), y eliminación de otro (`package.json`). Después de estas modificaciones, utiliza la macro `mp_gitstatus` para verificar que tres archivos están 'unstaged'. Luego, utiliza la macro `mp_gitadd` para staged esos cambios, y finalmente, verifica nuevamente el estado de Git para asegurarse de que los tres archivos están ahora 'staged', utilizando aserciones (`mp_assert`) para validar cada paso del proceso.
Análisis de datos
Type : MIXTE
El script interactúa con una fuente externa clonando el repositorio Git `https://github.com/sasjs/core`. También crea conjuntos de datos internos temporales (`work.gitstatus`, `work.gitstatus2`) para almacenar los resultados de los comandos Git y `work.test_results` para las aserciones de las pruebas unitarias.
1 Bloque de código
MACRO CALL / SYSCALL
Explicación : Este bloque inicializa la macrovariable `dir` con la ruta de un subdirectorio 'core' creado en el directorio de trabajo de SAS. Luego, utiliza la función `GITFN_CLONE` para clonar el repositorio Git `https://github.com/sasjs/core` en este directorio especificado por `&dir`. Esta operación es una interacción directa con el sistema de archivos y un servicio externo de Git.
¡Copiado!
%let dir = %sysfunc(pathname(work))/core;
%put source clone rc=%sysfunc(GITFN_CLONE(https://github.com/sasjs/core,&dir));
Explicación : Estas llamadas a macro SASJS simulan modificaciones en el repositorio clonado: `mf_writefile` se utiliza para crear un nuevo archivo (`somefile.txt`) con contenido y para modificar el contenido de un archivo existente (`readme.md`). La macro `mf_deletefile` elimina un archivo existente (`package.json`). Estas acciones son manipulaciones directas del sistema de archivos para preparar los cambios a probar con los comandos de Git.
%mp_gitstatus(&dir,outds=work.gitstatus2)
%let test2=0;
proc sql noprint;
select count(*) into: test2 from work.gitstatus2 where staged='TRUE';
%mp_assert(
iftrue=(&test2=3),
desc=3 changes were added,
outds=work.test_results
)
1
%mp_gitstatus(&dir,outds=work.gitstatus2)
2
%let test2=0;
3
PROC SQL noprint;
4
select count(*) into: test2 from work.gitstatus2 where staged='TRUE';
5
6
%mp_assert(
7
iftrue=(&test2=3),
8
desc=3 changes were added,
9
outds=work.test_results
10
)
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.
SAS y todos los demás nombres de productos o servicios de SAS Institute Inc. son marcas registradas o marcas comerciales de SAS Institute Inc. en los EE. UU. y otros países. ® indica registro en los EE. UU. WeAreCAS es un sitio comunitario independiente y no está afiliado a SAS Institute Inc.
Este sitio utiliza cookies técnicas y analíticas para mejorar su experiencia.
Saber más.