Open MPI logo

MTT Devel Mailing List Archives

  |   Home   |   Support   |   FAQ   |  

This web mail archive is frozen.

This page is part of a frozen web archive of this mailing list.

You can still navigate around this archive, but know that no new mails have been added to it since July of 2016.

Click here to be taken to the new web archives of this list; it includes all the mails that are in this frozen archive plus all new mails that have been sent to the list since it was migrated to the new archives.

Subject: Re: [MTT devel] [MTT svn] svn:mtt-svn r1319
From: Ethan Mallove (ethan.mallove_at_[hidden])
Date: 2009-09-28 16:20:27


On Fri, Sep/25/2009 04:59:11PM, Jeff Squyres wrote:
> I'm not sure what you mean -- I thought they added a funclect, not a
> field...?

I was commenting on both r1304 and r1319.

These INI params:

  on_start
  on_stop
  
are very similar to these INI params:

  after_each_exec
  before_any_exec
  after_all_exec

My thought was that it would make sense for them to use a similar
naming scheme and implementation (e.g., use suffix "_exec" and be
passed to DoCommand::Cmd()).

-Ethan

>
> On Sep 24, 2009, at 3:09 PM, Ethan Mallove wrote:
>
>> 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
>>
>> _______________________________________________
>> mtt-devel mailing list
>> mtt-devel_at_[hidden]
>> http://www.open-mpi.org/mailman/listinfo.cgi/mtt-devel
>>
>
>
> --
> Jeff Squyres
> jsquyres_at_[hidden]
>
> _______________________________________________
> mtt-devel mailing list
> mtt-devel_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/mtt-devel