Alle Testdaten und -dateien werden während der Ausführung des Skripts dynamisch im WORK-Verzeichnis oder einem temporären Unterverzeichnis ('zipme') generiert.
1 Codeblock
DATA STEP Data
Erklärung : Initialisierung der Testumgebung (Pfade) und Erstellung einer Dummy-Textdatei für das erste Szenario.
Kopiert!
%let work=%sysfunc(pathname(work));
%let root=&work/zipme;
/* TEST 1 - zip a file */
%mf_mkdir(&root)
data _null_;
file "&root/test.txt";
put "houston, this is a test";
run;
1
%let work=%sysfunc(pathname(work));
2
%let root=&work/zipme;
3
4
/* TEST 1 - zip a file */
5
%mf_mkdir(&root)
6
7
DATA _null_;
8
file "&root/test.txt";
9
put "houston, this is a test";
10
RUN;
2 Codeblock
MACRO
Erklärung : Ausführung von Test 1: Komprimierung der einzelnen Datei, Dekomprimierung, Lesen des Ergebnisses und Validierung mittels mp_assert.
Kopiert!
%mp_zip(in=&root/test.txt
,type=FILE
,outpath=&work
,outname=myFile
)
%mp_unzip(ziploc="&work/myFile.zip",outdir=&work)
data _null_;
infile "&work/test.txt";
input;
call symputx('content1',_infile_);
putlog _infile_;
run;
%mp_assert(
iftrue=(
%str(&content1)=%str(houston, this is a test)
),
desc=Checking if file zip / unzip works,
outds=work.test_results
)
1
%mp_zip(in=&root/test.txt
2
,type=FILE
3
,outpath=&work
4
,outname=myFile
5
)
6
7
%mp_unzip(ziploc="&work/myFile.zip",outdir=&work)
8
9
DATA _null_;
10
INFILE"&work/test.txt";
11
INPUT;
12
call symputx('content1',_infile_);
13
putlog _infile_;
14
RUN;
15
16
%mp_assert(
17
iftrue=(
18
%str(&content1)=%str(houston, this is a test)
19
),
20
desc=Checking IF file zip / unzip works,
21
outds=work.test_results
22
)
3 Codeblock
DATA STEP Data
Erklärung : Vorbereitung von Test 2: Erstellung einer zweiten Datei und einer SAS-Tabelle, die die Liste der zu komprimierenden Dateipfade enthält.
Kopiert!
/* TEST 2 - zip a dataset of files */
data _null_;
file "&root/test2.txt";
put "houston, this is test2";
run;
libname tmp "&root";
data tmp.test;
filepath="&root/test2.txt";
run;
1
/* TEST 2 - zip a dataset of files */
2
DATA _null_;
3
file "&root/test2.txt";
4
put "houston, this is test2";
5
RUN;
6
LIBNAME tmp "&root";
7
DATA tmp.test;
8
filepath="&root/test2.txt";
9
RUN;
4 Codeblock
MACRO
Erklärung : Ausführung von Test 2: Komprimierung basierend auf der SAS-Tabelle (type=DATASET), Dekomprimierung und Validierung des Inhalts.
Kopiert!
%mp_zip(in=tmp.test
,incol=filepath
,type=DATASET
,outpath=&work
,outname=myFile2
)
%mp_unzip(ziploc="&work/myFile2.zip",outdir=&work)
data _null_;
infile "&work/test2.txt";
input;
call symputx('content2',_infile_);
putlog _infile_;
run;
%mp_assert(
iftrue=(
%str(&content2)=%str(houston, this is test2)
),
desc=Checking if file zip / unzip from a dataset works,
outds=work.test_results
)
desc=Checking IF file zip / unzip from a dataset works,
22
outds=work.test_results
23
)
5 Codeblock
MACRO
Erklärung : Ausführung von Test 3: Komprimierung eines gesamten Verzeichnisses (type=DIRECTORY), Dekomprimierung in einen neuen Ordner 'out3' und Validierung des Vorhandenseins der beiden Originaldateien.
Kopiert!
/* TEST 3 - zip a dataset of files */
%mf_mkdir(&work/out3)
%mp_zip(in=&root
,type=DIRECTORY
,outpath=&work
,outname=myFile3
)
%mp_unzip(ziploc="&work/myFile3.zip",outdir=&work/out3)
data _null_;
infile "&work/out3/test.txt";
input;
call symputx('content3a',_infile_);
putlog _infile_;
run;
data _null_;
infile "&work/out3/test2.txt";
input;
call symputx('content3b',_infile_);
putlog _infile_;
run;
%mp_assert(
iftrue=(
%str(&content3a)=%str(houston, this is a test)
and
%str(&content3b)=%str(houston, this is test2)
),
desc=Checking if file zip / unzip from a directory works,
outds=work.test_results
)
desc=Checking IF file zip / unzip from a directory works,
32
outds=work.test_results
33
)
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.
SAS und alle anderen Produkt- oder Dienstleistungsnamen von SAS Institute Inc. sind eingetragene Marken oder Marken von SAS Institute Inc. in den USA und anderen Ländern. ® zeigt die Registrierung in den USA an. WeAreCAS ist eine unabhängige Community-Site und nicht mit SAS Institute Inc. verbunden.
Diese Website verwendet technische und analytische Cookies, um Ihre Erfahrung zu verbessern.
Mehr erfahren.