I was able to partially solve this by running a small command to source all my "env.sh" files before I run all the tests.  For example:

export GALAXY_TOOL_DEPENDENCY_DIR=/path/to/tool-dependencies
for i in `find $GALAXY_TOOL_DEPENDENCY_DIR -iname 'env.sh'`; do source $i; done
sh run_functional_tests.sh -installed

Not sure if it's the best way to handle things, but it works for now.

Aaron


On Fri, Jul 11, 2014 at 2:54 PM, Aaron Petkau <aaron.petkau@gmail.com> wrote:
Hello everyone,

I've been trying to get some functional tests developed for my tools and I'm trying to figure out how to properly run them.  I'm following the guide at https://wiki.galaxyproject.org/TestingInstalledTools  but when I run the functional tests against tools installed from my tool shed I get some strange error messages like:

Can't open perl script "//find-repeats.pl": No such file or directory


It can't find the script because in the tool XML file it is being run using an environment variable like

<command interpreter="perl">
  /\$VCF2PSEUDO/find-repeats.pl -l $length -p $pid $fasta > $out

The environment variable is set up in one of the dependency packages for this tool.

If I set this environment variable manually "export VCF2PSEUDO=/path/to/dir" and then run the tests with:

export GALAXY_TOOL_DEPENDENCY_DIR=tool_dependencies
sh run_functional_tests.sh -installed


Then all my tests properly work.

So, I'm wondering does the run_functional_tests.sh script setup the environment for dependency packages for each tool?  Or is there something I'm missing?

Thanks and sorry for the longing email.  I'm still new to setting up and using functional tests in Galaxy,

Aaron