Mercurial > octave
changeset 21457:05ffef4ebf62
tempname: Fix failing BIST test when P_tmpdir has trailing slash
* file-io.cc: Fix failing tempname BIST test on UNIX systems that define
the P_tmpdir directory with a trailing slash.
author | Mike Miller <mtmiller@octave.org> |
---|---|
date | Wed, 16 Mar 2016 16:09:03 -0700 |
parents | c1c7748b00fe |
children | 348e335c49dd |
files | libinterp/corefcn/file-io.cc |
diffstat | 1 files changed, 9 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/libinterp/corefcn/file-io.cc Wed Mar 16 15:12:59 2016 -0700 +++ b/libinterp/corefcn/file-io.cc Wed Mar 16 16:09:03 2016 -0700 @@ -1702,16 +1702,21 @@ %! endif %! envdir = getenv (envname); %! unsetenv (envname); +%! ## Strip trailing file separators from P_tmpdir +%! def_tmpdir = P_tmpdir; +%! while (length (def_tmpdir) > 2 && strfind (filesep ("all"), def_tmpdir(end))) +%! def_tmpdir(end) = []; +%! endwhile %! unwind_protect %! ## Test 0-argument form %! fname = tempname (); %! [tmpdir, tmpfname] = fileparts (fname); -%! assert (tmpdir, P_tmpdir); +%! assert (tmpdir, def_tmpdir); %! assert (tmpfname (1:4), "oct-"); %! ## Test 1-argument form -%! tmp_tmpdir = [P_tmpdir filesep() substr(tmpfname, -5)]; +%! tmp_tmpdir = [def_tmpdir filesep() substr(tmpfname, -5)]; %! mkdir (tmp_tmpdir) || error ("Unable to create tmp dir"); -%! setenv (envname, P_tmpdir); +%! setenv (envname, def_tmpdir); %! fname = tempname (tmp_tmpdir); %! [tmpdir, tmpfname] = fileparts (fname); %! assert (tmpdir, tmp_tmpdir); @@ -1719,7 +1724,7 @@ %! ## Test 1-argument form w/null tmpdir %! fname = tempname (""); %! [tmpdir, tmpfname] = fileparts (fname); -%! assert (tmpdir, P_tmpdir); +%! assert (tmpdir, def_tmpdir); %! assert (tmpfname (1:4), "oct-"); %! ## Test 2-argument form %! fname = tempname (tmp_tmpdir, "pfx-");