mirror of
https://github.com/sasjs/core.git
synced 2026-01-07 09:30:06 +00:00
fix: showing filerefs that exist (even when underlying does not) in mf_existfileref, along with 3 tests
This commit is contained in:
8
all.sas
8
all.sas
@@ -133,7 +133,13 @@ options noquotelenmax;
|
|||||||
%macro mf_existfileref(fref
|
%macro mf_existfileref(fref
|
||||||
)/*/STORE SOURCE*/;
|
)/*/STORE SOURCE*/;
|
||||||
|
|
||||||
%if %sysfunc(fileref(&fref))=0 %then %do;
|
%local rc;
|
||||||
|
%let rc=%sysfunc(fileref(&fref));
|
||||||
|
%if &rc=0 %then %do;
|
||||||
|
1
|
||||||
|
%end;
|
||||||
|
%else %if &rc<0 %then %do;
|
||||||
|
%put &sysmacroname: Fileref &fref exists but the underlying file does not;
|
||||||
1
|
1
|
||||||
%end;
|
%end;
|
||||||
%else %do;
|
%else %do;
|
||||||
|
|||||||
@@ -17,7 +17,13 @@
|
|||||||
%macro mf_existfileref(fref
|
%macro mf_existfileref(fref
|
||||||
)/*/STORE SOURCE*/;
|
)/*/STORE SOURCE*/;
|
||||||
|
|
||||||
%if %sysfunc(fileref(&fref))=0 %then %do;
|
%local rc;
|
||||||
|
%let rc=%sysfunc(fileref(&fref));
|
||||||
|
%if &rc=0 %then %do;
|
||||||
|
1
|
||||||
|
%end;
|
||||||
|
%else %if &rc<0 %then %do;
|
||||||
|
%put &sysmacroname: Fileref &fref exists but the underlying file does not;
|
||||||
1
|
1
|
||||||
%end;
|
%end;
|
||||||
%else %do;
|
%else %do;
|
||||||
|
|||||||
35
tests/base/mf_existfileref.test.sas
Normal file
35
tests/base/mf_existfileref.test.sas
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
/**
|
||||||
|
@file
|
||||||
|
@brief Testing mf_existfileref macro
|
||||||
|
|
||||||
|
<h4> SAS Macros </h4>
|
||||||
|
@li mf_existfileref.sas
|
||||||
|
@li mp_assert.sas
|
||||||
|
|
||||||
|
**/
|
||||||
|
|
||||||
|
filename ref1 temp;
|
||||||
|
filename ref2 temp;
|
||||||
|
|
||||||
|
data _null_;
|
||||||
|
file ref1;
|
||||||
|
put 'exists';
|
||||||
|
run;
|
||||||
|
|
||||||
|
%mp_assert(
|
||||||
|
iftrue=(%mf_existfileref(ref1)=1),
|
||||||
|
desc=Checking fileref WITH target file exists,
|
||||||
|
outds=work.test_results
|
||||||
|
)
|
||||||
|
|
||||||
|
%mp_assert(
|
||||||
|
iftrue=(%mf_existfileref(ref2)=1),
|
||||||
|
desc=Checking fileref WITHOUT target file exists,
|
||||||
|
outds=work.test_results
|
||||||
|
)
|
||||||
|
|
||||||
|
%mp_assert(
|
||||||
|
iftrue=(%mf_existfileref(ref3)=0),
|
||||||
|
desc=Checking non-existant fref does not exist,
|
||||||
|
outds=work.test_results
|
||||||
|
)
|
||||||
Reference in New Issue
Block a user