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: Jeff Squyres (jsquyres_at_[hidden])
Date: 2009-09-25 16:59:11


I'm not sure what you mean -- I thought they added a funclect, not a
field...?

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]