Hi,

I'm trying to find out what the best way is to see if my functional tests work as expected, and I'm also wondering when these tests are (supposed to be) run. Here are the details:

Following instructions at https://wiki.galaxyproject.org/Admin/Tools/AddToolTutorial, I created a little toolExample tool under galaxy-dist/tools/myTools. I also created test input and output in a test-data directory and added a test to the toolExample.xml file:
  <tests>
    <test>
      <param name="input" value="testinput.fa"/>
      <output name="out_file1" file="testoutput.txt"/>
    </test>
  </tests>

And yes, the files are named correctly:
tools/myTools/test-data/testinput.fa
tools/myTools/test-data/testoutput.txt

I added the new tool to config/tools_conf.xml AND to config/tools_conf.xml.sample.
Question #1: Why is a .sample file used by run_functional_tests.sh? I thought with .sample extensions were meant as examples for creating your own versions, I'm really surprised that any script would want to access these.
I restarted galaxy to verify that the new tool showed up, then checked that I could test it:

./run_functional_tests.sh -list | grep fa_gc_content_1
It shows up in the list of tools. So then I tested it:

./run_functional_tests.sh -id fa_gc_content_1

This gives
IOError: [Errno 2] No such file or directory: '/inside/home/jeltje/exp/varscan2/programs/galaxy-dist/test-data/testinput.fa'

So it looks like at some point the testinput should have been copied to galaxy-dist/test-data but wasn't.
Question # 2: Is there some setting that makes this test input (and output) get copied to the correct location, or do I have to do this manually?

I also tried testing by uploading the tool to the testtoolshed (as jtest1). I deliberatly put the wrong value in the testoutput.txt file because I'd like to see a test fail before I'll accept that it succeeds. It appears the testinput does not get tested on upload, because I got no automated test results, and no error messages anywhere. Is that expected behavior? I know the tools get tested every so often, I'm just surprised it doesn't happen on upload.
The tool could then also be easily installed to my galaxy distribution, without errors in my log or on the browser pages.
Question #3: At what point in creating or downloading a repository are these tests run?

And lastly, #4: is either of these the best way to test my tests, or did I overlook something?

Thank you!

-Jeltje