Open MPI logo

MTT Devel Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all MTT Devel mailing list

Subject: Re: [MTT devel] [MTT svn] svn:mtt-svn r1319
From: Ethan Mallove (ethan.mallove_at_[hidden])
Date: 2009-09-24 15:09:02


I think on_stop should conform more to these params:

  after_each_exec
  before_any_exec
  after_all_exec

E.g.,

  before_mtt_start_exec
  after_mtt_start_exec

Then have &_process_get_value_option() call DoCommand. Note, DoCommand
is aware of hashbangs (see &_contains_shell_script_characters()), so
&shell_script() might be redundant.

-Ethan

On Thu, Sep/24/2009 07:46:40PM, Mike Dubman wrote:
> Hey Jeff,
>
> On Thu, Sep 24, 2009 at 4:02 PM, Jeff Squyres <jsquyres_at_[hidden]> wrote:
>
> The DoCommand.pm sub added ":\n" to the beginning to force the Bourne
> shell interpreter. *This is necessary for some cases where an
> interpreter is not otherwise specified.
>
> Im not familiar with :\n semantics, how does it force Bourne shell and
> what it actually does :)? (seems like leftovers from 1960....)
> I think when interpreter is not explicitly specified - the default user`s
> shell is used.
> see in the DoCommand::Cmd() ..... it check the buffer`s* first line for
> #!/... semantic and if found - saves buffer to file, adds +x perm,* and
> just executes it as a regular script.
>
> When I passed a buffer with shell commands but 1st line was not #!/bin/sh
> - it* failed with syntax errors.
>
> *
>
> I see why you did it -- you want the ability to add your own interpreter
> in &shell_script(). *Why not either make a parameter to add the ":\n" or
> not, or better yet, have DoCommand.pm analyze the beginning of the
> string and if it contains "^:\n" or "^#!", then don't add anything. *But
> if it doesn't contain either of those, then prefix it with ":\n".*
>
> How does that sound?
>
> sounds good!
>
> Also, is "&shell_script()" a good name? *If you can specify your own
> interpreter, it might not be a shell script. *How about &executable()?
>
> ok - &executable() it will be!
> *
>
> regards
>
> Mike
>
> On Sep 24, 2009, at 8:06 AM, miked_at_[hidden] wrote:
>
> Author: miked
> Date: 2009-09-24 08:06:04 EDT (Thu, 24 Sep 2009)
> New Revision: 1319
> URL: https://svn.open-mpi.org/trac/mtt/changeset/1319
>
> Log:
> bug fix: CmdScript() - no need to add extra chars "\n:" to the start
> of shell script file
> new funclet: shell_script(section,param)
>
> Text files modified:
> *trunk/lib/MTT/DoCommand.pm * * * *| * * 2 +-
> *trunk/lib/MTT/Values/Functions.pm | * *19 +++++++++++++++++++
> *2 files changed, 20 insertions(+), 1 deletions(-)
>
> Modified: trunk/lib/MTT/DoCommand.pm
> ==============================================================================
> --- trunk/lib/MTT/DoCommand.pm *(original)
> +++ trunk/lib/MTT/DoCommand.pm *2009-09-24 08:06:04 EDT (Thu, 24 Sep
> 2009)
> @@ -797,7 +797,7 @@
> * *$cmds =~ s/\"$//
> * * * *if ($cmds =~ s/^\"//);
>
> - * *print $fh ":\n$cmds\n";
> + * *print $fh "$cmds\n";
> * *close($fh);
> * *chmod(0700, $filename);
>
> Modified: trunk/lib/MTT/Values/Functions.pm
> ==============================================================================
> --- trunk/lib/MTT/Values/Functions.pm * (original)
> +++ trunk/lib/MTT/Values/Functions.pm * 2009-09-24 08:06:04 EDT (Thu,
> 24 Sep 2009)
> @@ -3026,4 +3026,23 @@
> * *return md5_hex($str);
> }
>
> +# Run shell commands as a script, i.e
> +#
> +# [mtt]
> +# myscript=<<EOT
> +# #!/bin/sh
> +# pwd
> +# ls
> +# EOT
> +# on_stop=&shell_script("mtt",myscript)
> +#
> +#
> +
> +sub shell_script {
> + * * * my ($cmd_section, $cmd_param) = @_;
> + * * * my $cmd = &get_ini_val($cmd_section, $cmd_param);
> + * * * my $x = MTT::DoCommand::CmdScript(1, $cmd);
> + * * * return $x->{result_stdout};
> +}
> +
> 1;
> _______________________________________________
> mtt-svn mailing list
> mtt-svn_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/mtt-svn
>
> --
> Jeff Squyres
> jsquyres_at_[hidden]
>
> _______________________________________________
> mtt-devel mailing list
> mtt-devel_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/mtt-devel
>
> References
>
> Visible links
> . mailto:jsquyres_at_[hidden]
> . mailto:miked_at_[hidden]
> . https://svn.open-mpi.org/trac/mtt/changeset/1319
> . mailto:mtt-svn_at_[hidden]
> . http://www.open-mpi.org/mailman/listinfo.cgi/mtt-svn
> . mailto:jsquyres_at_[hidden]
> . mailto:mtt-devel_at_[hidden]
> . http://www.open-mpi.org/mailman/listinfo.cgi/mtt-devel

> _______________________________________________
> mtt-devel mailing list
> mtt-devel_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/mtt-devel