Open MPI logo

MTT Devel Mailing List Archives

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

From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2007-08-30 20:33:07


Ethan --

Ok, I think I fixed it the supposed-to-fail problem. I tried for a
while to make a funclet wrapper around perl's map function, but the
syntax for how you had to call it got uglier and uglier. So I gave
up. Instead, I made a &prepend() funclet, and use it like this:

simple_failures:tests = &find_executables(&prepend("src/", &cat
("supposed_to_fail")))

It ain't sexy, but it works. This should get you up and going.

The bad news is that in doing this, I think I had a bad realization:
for any funclet that can take an array as an argument, it really can
take one of three things:

- a string
- an array of strings
- a reference to an array of strings

The third is because all funclets that return arrays actually return
references to arrays (ie., they "return \@ret;"). I think that all
the functlets need to be expanded to be able to handle this
possibility. This isn't hard, but it is menial labor and I don't
have the brainpower to handle that at the moment.

This came up because

   &find_executables(&prepend("src/", &cat("supposed_to_fail")))

&cat() returns an \@array which then gets fed to &prepend(). &prepend
() then returns an \@array which gets fed to &find_executables(). It
took me a while to figure out that this is what was happening.

Can you confirm this conclusion (that we need to update all the
funclets), just to make sure I'm not out of my mind?

-- 
Jeff Squyres
Cisco Systems