Mercurial > octave-antonio
comparison scripts/testfun/rundemos.m @ 17148:fa14aa77b514
Allow relative directory name for rundemos/runtests.
* scripts/testfun/rundemos.m: Use canonicalize_file_name if directory
is relative. Use readdir() rather than dir() for performance.
*scripts/testfun/runtests.m: Use canonicalize_file_name if directory
is relative. Use readdir() rather than dir() for performance. Add
%!error blocks.
author | Rik <rik@octave.org> |
---|---|
date | Fri, 02 Aug 2013 09:01:55 -0700 |
parents | b7667fcb9fbc |
children | 2c2a6801cb57 |
comparison
equal
deleted
inserted
replaced
17147:35a1bd41aa02 | 17148:fa14aa77b514 |
---|---|
32 if (nargin == 0) | 32 if (nargin == 0) |
33 dirs = ostrsplit (path (), pathsep ()); | 33 dirs = ostrsplit (path (), pathsep ()); |
34 elseif (nargin == 1) | 34 elseif (nargin == 1) |
35 if (is_absolute_filename (directory)) | 35 if (is_absolute_filename (directory)) |
36 dirs = {directory}; | 36 dirs = {directory}; |
37 elseif (is_rooted_relative_filename (directory)) | |
38 dirs = {canonicalize_file_name(directory)}; | |
37 else | 39 else |
38 directory = regexprep (directory, ['\',filesep(),'$'], ""); | 40 if (directory(end) == filesep ()) |
41 directory = directory(1:end-1); | |
42 endif | |
39 fullname = find_dir_in_path (directory); | 43 fullname = find_dir_in_path (directory); |
40 if (! isempty (fullname)) | 44 if (! isempty (fullname)) |
41 dirs = {fullname}; | 45 dirs = {fullname}; |
42 else | 46 else |
43 error ("rundemos: DIRECTORY argument must be a valid pathname"); | 47 error ("rundemos: DIRECTORY argument must be a valid pathname"); |
53 endfor | 57 endfor |
54 | 58 |
55 endfunction | 59 endfunction |
56 | 60 |
57 function run_all_demos (directory) | 61 function run_all_demos (directory) |
58 dirinfo = dir (directory); | 62 flist = readdir (directory); |
59 flist = {dirinfo.name}; | |
60 for i = 1:numel (flist) | 63 for i = 1:numel (flist) |
61 f = flist{i}; | 64 f = flist{i}; |
62 if (length (f) > 2 && strcmp (f((end-1):end), ".m")) | 65 if (length (f) > 2 && strcmp (f((end-1):end), ".m")) |
63 f = fullfile (directory, f); | 66 f = fullfile (directory, f); |
64 if (has_demos (f)) | 67 if (has_demos (f)) |