Mercurial > hg > octave-lyh
diff scripts/miscellaneous/dos.m @ 14018:5d5685216876
Deprecate shell_cmd function and update system, dos, unix commands
* NEWS: Announce deprecation of shell_cmd.
* deprecated/shell_cmd.m: New file to hold documentation and warning for shell_cmd.
* deprecated/module.mk: Add shell_cmd to build system.
* mk_undocumented_list: Remove shell_cmd from undocumented list.
* install.txi: Replace reference to shell_cmd with system.
* dos.m, unix.m: Update docstrings and add %!test block.
* toplev.cc (system): Update docstring and add %!test block.
author | Rik <octave@nomad.inbox5.com> |
---|---|
date | Thu, 08 Dec 2011 17:25:30 -0800 |
parents | fd0a3ac60b0e |
children | 72c96de7a403 |
line wrap: on
line diff
--- a/scripts/miscellaneous/dos.m +++ b/scripts/miscellaneous/dos.m @@ -17,14 +17,16 @@ ## <http://www.gnu.org/licenses/>. ## -*- texinfo -*- -## @deftypefn {Function File} {[@var{status}, @var{text}] =} dos (@var{command}) -## @deftypefnx {Function File} {[@var{status}, @var{text}] =} dos (@var{command}, "-echo") +## @deftypefn {Function File} {} dos ("@var{command}") +## @deftypefnx {Function File} {@var{status} =} dos ("@var{command}") +## @deftypefnx {Function File} {[@var{status}, @var{text}] =} dos ("@var{command"}) +## @deftypefnx {Function File} {[@dots{}] =} dos ("@var{command}", "-echo") ## Execute a system command if running under a Windows-like operating ## system, otherwise do nothing. Return the exit status of the program -## in @var{status} and any output sent to the standard output in -## @var{text}. If the optional second argument @code{"-echo"} is given, -## then also send the output from the command to the standard output. -## @seealso{unix, isunix, ispc, system} +## in @var{status} and any output from the command in @var{text}. +## When called with no output argument, or the "-echo" argument is +## given, then @var{text} is also sent to standard output. +## @seealso{unix, system, isunix, ispc} ## @end deftypefn ## Author: octave-forge ??? @@ -42,3 +44,28 @@ endif endfunction + + +%!test +%! cmd = ls_command (); +%! old_wstate = warning ("query"); +%! warning ("off", "Octave:undefined-return-values"); +%! unwind_protect +%! [status, output] = dos (cmd); +%! unwind_protect_cleanup +%! warning (old_wstate); +%! end_unwind_protect +%! +%! if (ispc () && ! isunix ()) +%! [status, output] = dos (cmd); +%! assert (status, 0); +%! assert (ischar (output)); +%! assert (! isempty (output)); +%! else +%! assert (status, []); +%! assert (output, []); +%! endif + +%!error dos () +%!error dos (1, 2, 3) +