Hi Peter,

Looks like you are missing the -data_managers flag, try this:

run_functional_tests.sh -data_managers -id data_manager_blast_db

Let us know if you encounter more issues.

Thanks,

Dan


On Apr 11, 2014, at 12:15 PM, Peter Cock <p.j.a.cock@googlemail.com> wrote:

Hi all,

I'm currently trying to manually install Dan's example Data Manager
for the NCBI BLAST databases - but without using the Tool Shed:
http://testtoolshed.g2.bx.psu.edu/view/blankenberg/data_manager_example_blastdb_ncbi_update_blastdb

To be precise, I'm currently using a slightly modified version which
we've moved into the Galaxy BLAST+ wrapper repository (thus far,
only slight changes to folder names have been made from Dan's original):
https://github.com/peterjc/galaxy_blast/tree/master/data_managers/ncbi_blastdb
https://github.com/peterjc/galaxy_blast/commit/21d7cff3e8dca13c4bd0f716a79a9f00c59f0b5c

My goal is to be able to run the functional tests,

$ ./run_functional_tests.sh -id data_manager_blast_db

As with any other manually installed tool, I have added this
data-manager to my tool_conf.xml.sample file (and for local
testing via the GUI, the tool_conf.xml file as well):

   <tool file="ncbi_blastdb/blastdb.xml" />

Specific to data-managers, I have manually incorporated
the additions to the central data_manager_conf.xml file
(this would normally be merged at runtime if installed from
the ToolShed):

$ more data_manager_conf.xml
<?xml version="1.0"?>
<data_managers>
   <data_manager tool_file="ncbi_blastdb/blastdb.xml"
id="data_manager_blast_db">
       <data_table name="blastdb">
           <output>
               <column name="value" />
               <column name="name" />
               <column name="path" output_ref="out_file" >
                   <move type="directory">
                       <target
base="${GALAXY_DATA_MANAGER_DATA_PATH}">blastdb/${path}</target>
                   </move>

<value_translation>${GALAXY_DATA_MANAGER_DATA_PATH}/blastdb/${path}/${nucleotide_alias_name}</value_translation>
                   <value_translation
type="function">abspath</value_translation>
               </column>
           </output>
       </data_table>
   </data_manager>
</data_managers>

Note the tool_file setting points correctly at the relative path
within the tools
folder, and the tool does define a test:

$ more tools/ncbi_blastdb/blastdb.xml
<tool id="data_manager_blast_db" name="Blast DB" version="0.0.2"
tool_type="manage_data">
   <description>Downloader</description>
...
   <tests>
       <test>
           <param name="blastdb_name" value="est"/>
           <param name="advanced_selector" value="basic"/>
           <output name="out_file" file="est_out.json"/>
       </test>
   </tests>
...

$ ./run_functional_tests.sh -list | grep manager
data_manager_blast_db                            Blast DB

$ ./run_functional_tests.sh -id data_manager_blast_db
...
galaxy.tools DEBUG 2014-04-11 15:59:00,780 Loaded tool id:
data_manager_blast_db, version: 0.0.2 into tool panel.
...
galaxy.tools.data_manager.manager DEBUG 2014-04-11 15:59:00,864 Loaded
Data Manager: data_manager_blast_db
...
Failure: ValueError (No such test TestForTool_data_manager_blast_db) ... ERROR

======================================================================
ERROR: Failure: ValueError (No such test TestForTool_data_manager_blast_db)
----------------------------------------------------------------------
Traceback (most recent call last):
 File "/mnt/galaxy/galaxy-central/eggs/nose-0.11.1-py2.6.egg/nose/failure.py",
line 39, in runTest
   raise self.exc_class(self.exc_val)
ValueError: No such test TestForTool_data_manager_blast_db

----------------------------------------------------------------------

I get the same error via TravisCI, e.g.
https://travis-ci.org/peterjc/galaxy_blast/builds/22782979

(This suggests using Twill vs the API does not matter)

Am I missing something simple here?

Thanks,

Peter