I have no issue with supporting this in general - but the implementation I think is a bit more tricky than it would seem. The test framework doesn't know if Galaxy would uncompress zipped files or not - I think the only way to reason about that in the abstract is to actually upload the file to Galaxy unfortunately. So I guess we could try something like compare the contents - if not matching and the test target is compressed - decompress and retry. I've created a Trello card - https://trello.com/c/ebdBkezi. Thanks for the suggestion, -John On Thu, Nov 6, 2014 at 12:32 PM, Peter Cock <p.j.a.cock@googlemail.com> wrote:
Hello all,
Because Galaxy uses the upload tool internally for the inputs for function tests, it is possible to bundle gzipped versions of test inputs which saves space. For example,
https://github.com/peterjc/pico_galaxy/blob/master/tools/clc_assembly_cell/c...
However, what I have just found is that this does not work for gzipped files as test outputs. Rather Galaxy seems to compare the (uncompressed) output from the tool to the expected output file as it is (i.e. still compressed). e.g.
https://github.com/peterjc/pico_galaxy/commit/c8adfdf5d1f48c00ac72df967d2be3...
(I have only tested adding/removing the gzip compression on the output file locally)
Is this deliberate?
Peter
P.S.
I wanted point at the TravisCI output for that commit and its parent to show the output,
- https://travis-ci.org/peterjc/pico_galaxy/builds/40203652 - https://travis-ci.org/peterjc/pico_galaxy/builds/40202182
However there appears to be an egg issue with the current galaxy-central branch:
$ python scripts/fetch_eggs.py Warning: MarkupSafe (a dependent egg of Mako) cannot be fetched Traceback (most recent call last): File "scripts/fetch_eggs.py", line 46, in <module> c.resolve() # Only fetch eggs required by the config File "/home/travis/build/peterjc/pico_galaxy/galaxy-central-master/lib/galaxy/eggs/__init__.py", line 347, in resolve egg.resolve() File "/home/travis/build/peterjc/pico_galaxy/galaxy-central-master/lib/galaxy/eggs/__init__.py", line 192, in resolve if e.args[1].key != e.args[0].key: IndexError: tuple index out of range