diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..be252d41 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,42 @@ +language: python +python: + - "2.7" + +install: + - sudo apt-get update + - if [[ "$TRAVIS_PYTHON_VERSION" == "2.7" ]]; then + wget https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh -O miniconda.sh; + else + wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh; + fi + - bash miniconda.sh -b -p $HOME/miniconda + - export PATH="$HOME/miniconda/bin:$PATH" + - hash -r + - conda config --set always_yes yes --set changeps1 no + - conda update -q conda + - conda info -a + + - conda create -q -n test-environment python=$TRAVIS_PYTHON_VERSION + - source activate test-environment + - conda config --add channels conda-forge + - conda config --add channels bioconda + - conda config --add channels anaconda + - conda config --add channels workflowconversion + +# - git clone https://github.com/WorkflowConversion/CTDopts $HOME/CTDopts + - git clone -b topic/empty_numeric_defaults https://github.com/bernt-matthias/CTDopts $HOME/CTDopts + - cd $HOME/CTDopts + - python setup.py install + - conda install -c conda-forge lxml + - conda install -c conda-forge ruamel.yaml + - conda install libxml2 + - cd $TRAVIS_BUILD_DIR + - python setup.py install + + - conda install coverage green codecov + +script: + - python setup.py test + +after_script: +- python -m codecov diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/tests/test-data/bool.ctd b/tests/test-data/bool.ctd new file mode 100644 index 00000000..d59641e2 --- /dev/null +++ b/tests/test-data/bool.ctd @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/tests/test-data/bool.xml b/tests/test-data/bool.xml new file mode 100644 index 00000000..30674b85 --- /dev/null +++ b/tests/test-data/bool.xml @@ -0,0 +1,62 @@ + + + + + Bool parameter tests + + echo BoolTest + macros.xml + + + + + echo BoolTest + +#if $param_true_optional_unrestricted: + -true_optional_unrestricted + #if " " in str($param_true_optional_unrestricted): + "$param_true_optional_unrestricted" + #else + $param_true_optional_unrestricted + #end if +#end if +#if $param_false_optional_unrestricted: + -false_optional_unrestricted +#end if +#if $adv_opts.adv_opts_selector=='advanced': + #if $adv_opts.param_true_optional_unrestricted_adv: + -true_optional_unrestricted_adv + #if " " in str($adv_opts.param_true_optional_unrestricted_adv): + "$adv_opts.param_true_optional_unrestricted_adv" + #else + $adv_opts.param_true_optional_unrestricted_adv + #end if +#end if + #if $adv_opts.param_false_optional_unrestricted_adv: + -false_optional_unrestricted_adv +#end if +#end if +> $param_stdout + + + + + + + + + + + + + + + + + + + Bool parameter tests. + + +For more information, visit http://docs.are/unavailable.html + diff --git a/tests/test-data/empty.ctd b/tests/test-data/empty.ctd new file mode 100644 index 00000000..1ffc19de --- /dev/null +++ b/tests/test-data/empty.ctd @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/tests/test-data/empty.xml b/tests/test-data/empty.xml new file mode 100644 index 00000000..e7daf119 --- /dev/null +++ b/tests/test-data/empty.xml @@ -0,0 +1,25 @@ + + + + + String parameter tests + + echo StringTest + macros.xml + + + + + echo StringTest + +> $param_stdout + + + + + + String parameter tests. + + +For more information, visit http://docs.are/unavailable.html + diff --git a/tests/test-data/filetypes.txt b/tests/test-data/filetypes.txt new file mode 100644 index 00000000..ae3d61a2 --- /dev/null +++ b/tests/test-data/filetypes.txt @@ -0,0 +1,4 @@ +# CTD type # Galaxy type # Long Galaxy data type # Mimetype +ext txt galaxy.datatypes.data:Text +eyt txt galaxy.datatypes.data:Text +ezt txt galaxy.datatypes.data:Text diff --git a/tests/test-data/float.ctd b/tests/test-data/float.ctd new file mode 100644 index 00000000..af537d83 --- /dev/null +++ b/tests/test-data/float.ctd @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/test-data/float.xml b/tests/test-data/float.xml new file mode 100644 index 00000000..1fe902f6 --- /dev/null +++ b/tests/test-data/float.xml @@ -0,0 +1,158 @@ + + + + + Floateger parameter tests + + echo FloatTest + macros.xml + + + + + echo FloatTest + +#if str($param_param_wodefault_mandatory_unrestricted): + -param_wodefault_mandatory_unrestricted $param_param_wodefault_mandatory_unrestricted +#end if +#if str($param_param_default_mandatory_unrestricted): + -param_default_mandatory_unrestricted $param_param_default_mandatory_unrestricted +#end if +#if str($param_param_wodefault_optional_unrestricted): + -param_wodefault_optional_unrestricted $param_param_wodefault_optional_unrestricted +#end if +#if str($param_param_default_optional_unrestricted): + -param_default_optional_unrestricted $param_param_default_optional_unrestricted +#end if +#if str($param_param_wodefault_mandatory_unrestricted_min): + -param_wodefault_mandatory_unrestricted_min $param_param_wodefault_mandatory_unrestricted_min +#end if +#if str($param_param_default_mandatory_unrestricted_min): + -param_default_mandatory_unrestricted_min $param_param_default_mandatory_unrestricted_min +#end if +#if str($param_param_wodefault_optional_unrestricted_min): + -param_wodefault_optional_unrestricted_min $param_param_wodefault_optional_unrestricted_min +#end if +#if str($param_param_default_optional_unrestricted_min): + -param_default_optional_unrestricted_min $param_param_default_optional_unrestricted_min +#end if +#if str($param_param_wodefault_mandatory_unrestricted_max): + -param_wodefault_mandatory_unrestricted_max $param_param_wodefault_mandatory_unrestricted_max +#end if +#if str($param_param_default_mandatory_unrestricted_max): + -param_default_mandatory_unrestricted_max $param_param_default_mandatory_unrestricted_max +#end if +#if str($param_param_wodefault_optional_unrestricted_max): + -param_wodefault_optional_unrestricted_max $param_param_wodefault_optional_unrestricted_max +#end if +#if str($param_param_default_optional_unrestricted_max): + -param_default_optional_unrestricted_max $param_param_default_optional_unrestricted_max +#end if +#if str($param_param_wodefault_mandatory_unrestricted_minmax): + -param_wodefault_mandatory_unrestricted_minmax $param_param_wodefault_mandatory_unrestricted_minmax +#end if +#if str($param_param_default_mandatory_unrestricted_minmax): + -param_default_mandatory_unrestricted_minmax $param_param_default_mandatory_unrestricted_minmax +#end if +#if str($param_param_wodefault_optional_unrestricted_minmax): + -param_wodefault_optional_unrestricted_minmax $param_param_wodefault_optional_unrestricted_minmax +#end if +#if str($param_param_default_optional_unrestricted_minmax): + -param_default_optional_unrestricted_minmax $param_param_default_optional_unrestricted_minmax +#end if +#if $adv_opts.adv_opts_selector=='advanced': + #if str($adv_opts.param_param_wodefault_mandatory_unrestricted_adv): + -param_wodefault_mandatory_unrestricted_adv $adv_opts.param_param_wodefault_mandatory_unrestricted_adv +#end if + #if str($adv_opts.param_param_default_mandatory_unrestricted_adv): + -param_default_mandatory_unrestricted_adv $adv_opts.param_param_default_mandatory_unrestricted_adv +#end if + #if str($adv_opts.param_param_wodefault_optional_unrestricted_adv): + -param_wodefault_optional_unrestricted_adv $adv_opts.param_param_wodefault_optional_unrestricted_adv +#end if + #if str($adv_opts.param_param_default_optional_unrestricted_adv): + -param_default_optional_unrestricted_adv $adv_opts.param_param_default_optional_unrestricted_adv +#end if + #if str($adv_opts.param_param_wodefault_mandatory_unrestricted_adv_min): + -param_wodefault_mandatory_unrestricted_adv_min $adv_opts.param_param_wodefault_mandatory_unrestricted_adv_min +#end if + #if str($adv_opts.param_param_default_mandatory_unrestricted_adv_min): + -param_default_mandatory_unrestricted_adv_min $adv_opts.param_param_default_mandatory_unrestricted_adv_min +#end if + #if str($adv_opts.param_param_wodefault_optional_unrestricted_adv_min): + -param_wodefault_optional_unrestricted_adv_min $adv_opts.param_param_wodefault_optional_unrestricted_adv_min +#end if + #if str($adv_opts.param_param_default_optional_unrestricted_adv_min): + -param_default_optional_unrestricted_adv_min $adv_opts.param_param_default_optional_unrestricted_adv_min +#end if + #if str($adv_opts.param_param_wodefault_mandatory_unrestricted_adv_max): + -param_wodefault_mandatory_unrestricted_adv_max $adv_opts.param_param_wodefault_mandatory_unrestricted_adv_max +#end if + #if str($adv_opts.param_param_default_mandatory_unrestricted_adv_max): + -param_default_mandatory_unrestricted_adv_max $adv_opts.param_param_default_mandatory_unrestricted_adv_max +#end if + #if str($adv_opts.param_param_wodefault_optional_unrestricted_adv_max): + -param_wodefault_optional_unrestricted_adv_max $adv_opts.param_param_wodefault_optional_unrestricted_adv_max +#end if + #if str($adv_opts.param_param_default_optional_unrestricted_adv_max): + -param_default_optional_unrestricted_adv_max $adv_opts.param_param_default_optional_unrestricted_adv_max +#end if + #if str($adv_opts.param_param_wodefault_mandatory_unrestricted_adv_minmax): + -param_wodefault_mandatory_unrestricted_adv_minmax $adv_opts.param_param_wodefault_mandatory_unrestricted_adv_minmax +#end if + #if str($adv_opts.param_param_default_mandatory_unrestricted_adv_minmax): + -param_default_mandatory_unrestricted_adv_minmax $adv_opts.param_param_default_mandatory_unrestricted_adv_minmax +#end if + #if str($adv_opts.param_param_wodefault_optional_unrestricted_adv_minmax): + -param_wodefault_optional_unrestricted_adv_minmax $adv_opts.param_param_wodefault_optional_unrestricted_adv_minmax +#end if + #if str($adv_opts.param_param_default_optional_unrestricted_adv_minmax): + -param_default_optional_unrestricted_adv_minmax $adv_opts.param_param_default_optional_unrestricted_adv_minmax +#end if +#end if +> $param_stdout + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Floateger parameter tests. + + +For more information, visit http://docs.are/unavailable.html + diff --git a/tests/test-data/ifile.ctd b/tests/test-data/ifile.ctd new file mode 100644 index 00000000..be957cb9 --- /dev/null +++ b/tests/test-data/ifile.ctd @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/test-data/ifile.xml b/tests/test-data/ifile.xml new file mode 100644 index 00000000..232b9fa0 --- /dev/null +++ b/tests/test-data/ifile.xml @@ -0,0 +1,270 @@ + + + + + Input File parameter tests + + echo inFileTest + macros.xml + + + + + echo inFileTest + +#if str($param_mandatory_noformat): + -mandatory_noformat $param_mandatory_noformat +#end if +#if str($param_optional_noformat): + -optional_noformat $param_optional_noformat +#end if +#if str($param_mandatory_oneformat): + -mandatory_oneformat $param_mandatory_oneformat +#end if +#if str($param_optional_oneformat): + -optional_oneformat $param_optional_oneformat +#end if +#if str($param_mandatory_multformat): + -mandatory_multformat $param_mandatory_multformat +#end if +#if str($param_optional_multformat): + -optional_multformat $param_optional_multformat +#end if +#if str($param_default_mandatory_noformat): + -default_mandatory_noformat $param_default_mandatory_noformat +#end if +#if str($param_default_optional_noformat): + -default_optional_noformat $param_default_optional_noformat +#end if +#if str($param_default_mandatory_oneformat): + -default_mandatory_oneformat $param_default_mandatory_oneformat +#end if +#if str($param_default_optional_oneformat): + -default_optional_oneformat $param_default_optional_oneformat +#end if +#if str($param_default_mandatory_multformat): + -default_mandatory_multformat $param_default_mandatory_multformat +#end if +#if str($param_default_optional_multformat): + -default_optional_multformat $param_default_optional_multformat +#end if +-list_mandatory_noformat + #for token in $param_list_mandatory_noformat: + $token + #end for +-list_optional_noformat + #for token in $param_list_optional_noformat: + $token + #end for +-list_mandatory_oneformat + #for token in $param_list_mandatory_oneformat: + $token + #end for +-list_optional_oneformat + #for token in $param_list_optional_oneformat: + $token + #end for +-list_mandatory_multformat + #for token in $param_list_mandatory_multformat: + $token + #end for +-list_optional_multformat + #for token in $param_list_optional_multformat: + $token + #end for +#if $adv_opts.adv_opts_selector=='advanced': + #if str($adv_opts.param_mandatory_noformat_adv): + -mandatory_noformat_adv $adv_opts.param_mandatory_noformat_adv +#end if + #if str($adv_opts.param_optional_noformat_adv): + -optional_noformat_adv $adv_opts.param_optional_noformat_adv +#end if + #if str($adv_opts.param_mandatory_oneformat_adv): + -mandatory_oneformat_adv $adv_opts.param_mandatory_oneformat_adv +#end if + #if str($adv_opts.param_optional_oneformat_adv): + -optional_oneformat_adv $adv_opts.param_optional_oneformat_adv +#end if + #if str($adv_opts.param_mandatory_multformat_adv): + -mandatory_multformat_adv $adv_opts.param_mandatory_multformat_adv +#end if + #if str($adv_opts.param_optional_multformat_adv): + -optional_multformat_adv $adv_opts.param_optional_multformat_adv +#end if + #if str($adv_opts.param_default_mandatory_noformat_adv): + -default_mandatory_noformat_adv $adv_opts.param_default_mandatory_noformat_adv +#end if + #if str($adv_opts.param_default_optional_noformat_adv): + -default_optional_noformat_adv $adv_opts.param_default_optional_noformat_adv +#end if + #if str($adv_opts.param_default_mandatory_oneformat_adv): + -default_mandatory_oneformat_adv $adv_opts.param_default_mandatory_oneformat_adv +#end if + #if str($adv_opts.param_default_optional_oneformat_adv): + -default_optional_oneformat_adv $adv_opts.param_default_optional_oneformat_adv +#end if + #if str($adv_opts.param_default_mandatory_multformat_adv): + -default_mandatory_multformat_adv $adv_opts.param_default_mandatory_multformat_adv +#end if + #if str($adv_opts.param_default_optional_multformat_adv): + -default_optional_multformat_adv $adv_opts.param_default_optional_multformat_adv +#end if + -list_mandatory_noformat_adv + #for token in $param_list_mandatory_noformat_adv: + $token + #end for + -list_optional_noformat_adv + #for token in $param_list_optional_noformat_adv: + $token + #end for + -list_mandatory_oneformat_adv + #for token in $param_list_mandatory_oneformat_adv: + $token + #end for + -list_optional_oneformat_adv + #for token in $param_list_optional_oneformat_adv: + $token + #end for + -list_mandatory_multformat_adv + #for token in $param_list_mandatory_multformat_adv: + $token + #end for + -list_optional_multformat_adv + #for token in $param_list_optional_multformat_adv: + $token + #end for +#end if +> $param_stdout + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Input File parameter tests. + + +For more information, visit http://docs.are/unavailable.html + diff --git a/tests/test-data/integer.ctd b/tests/test-data/integer.ctd new file mode 100644 index 00000000..a358e3c6 --- /dev/null +++ b/tests/test-data/integer.ctd @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/test-data/integer.xml b/tests/test-data/integer.xml new file mode 100644 index 00000000..bf20e9b2 --- /dev/null +++ b/tests/test-data/integer.xml @@ -0,0 +1,158 @@ + + + + + Integer parameter tests + + echo IntTest + macros.xml + + + + + echo IntTest + +#if str($param_wodefault_mandatory_unrestricted): + -wodefault_mandatory_unrestricted $param_wodefault_mandatory_unrestricted +#end if +#if str($param_default_mandatory_unrestricted): + -default_mandatory_unrestricted $param_default_mandatory_unrestricted +#end if +#if str($param_wodefault_optional_unrestricted): + -wodefault_optional_unrestricted $param_wodefault_optional_unrestricted +#end if +#if str($param_default_optional_unrestricted): + -default_optional_unrestricted $param_default_optional_unrestricted +#end if +#if str($param_wodefault_mandatory_unrestricted_min): + -wodefault_mandatory_unrestricted_min $param_wodefault_mandatory_unrestricted_min +#end if +#if str($param_default_mandatory_unrestricted_min): + -default_mandatory_unrestricted_min $param_default_mandatory_unrestricted_min +#end if +#if str($param_wodefault_optional_unrestricted_min): + -wodefault_optional_unrestricted_min $param_wodefault_optional_unrestricted_min +#end if +#if str($param_default_optional_unrestricted_min): + -default_optional_unrestricted_min $param_default_optional_unrestricted_min +#end if +#if str($param_wodefault_mandatory_unrestricted_max): + -wodefault_mandatory_unrestricted_max $param_wodefault_mandatory_unrestricted_max +#end if +#if str($param_default_mandatory_unrestricted_max): + -default_mandatory_unrestricted_max $param_default_mandatory_unrestricted_max +#end if +#if str($param_wodefault_optional_unrestricted_max): + -wodefault_optional_unrestricted_max $param_wodefault_optional_unrestricted_max +#end if +#if str($param_default_optional_unrestricted_max): + -default_optional_unrestricted_max $param_default_optional_unrestricted_max +#end if +#if str($param_wodefault_mandatory_unrestricted_minmax): + -wodefault_mandatory_unrestricted_minmax $param_wodefault_mandatory_unrestricted_minmax +#end if +#if str($param_default_mandatory_unrestricted_minmax): + -default_mandatory_unrestricted_minmax $param_default_mandatory_unrestricted_minmax +#end if +#if str($param_wodefault_optional_unrestricted_minmax): + -wodefault_optional_unrestricted_minmax $param_wodefault_optional_unrestricted_minmax +#end if +#if str($param_default_optional_unrestricted_minmax): + -default_optional_unrestricted_minmax $param_default_optional_unrestricted_minmax +#end if +#if $adv_opts.adv_opts_selector=='advanced': + #if str($adv_opts.param_wodefault_mandatory_unrestricted_adv): + -wodefault_mandatory_unrestricted_adv $adv_opts.param_wodefault_mandatory_unrestricted_adv +#end if + #if str($adv_opts.param_default_mandatory_unrestricted_adv): + -default_mandatory_unrestricted_adv $adv_opts.param_default_mandatory_unrestricted_adv +#end if + #if str($adv_opts.param_wodefault_optional_unrestricted_adv): + -wodefault_optional_unrestricted_adv $adv_opts.param_wodefault_optional_unrestricted_adv +#end if + #if str($adv_opts.param_default_optional_unrestricted_adv): + -default_optional_unrestricted_adv $adv_opts.param_default_optional_unrestricted_adv +#end if + #if str($adv_opts.param_wodefault_mandatory_unrestricted_adv_min): + -wodefault_mandatory_unrestricted_adv_min $adv_opts.param_wodefault_mandatory_unrestricted_adv_min +#end if + #if str($adv_opts.param_default_mandatory_unrestricted_adv_min): + -default_mandatory_unrestricted_adv_min $adv_opts.param_default_mandatory_unrestricted_adv_min +#end if + #if str($adv_opts.param_wodefault_optional_unrestricted_adv_min): + -wodefault_optional_unrestricted_adv_min $adv_opts.param_wodefault_optional_unrestricted_adv_min +#end if + #if str($adv_opts.param_default_optional_unrestricted_adv_min): + -default_optional_unrestricted_adv_min $adv_opts.param_default_optional_unrestricted_adv_min +#end if + #if str($adv_opts.param_wodefault_mandatory_unrestricted_adv_max): + -wodefault_mandatory_unrestricted_adv_max $adv_opts.param_wodefault_mandatory_unrestricted_adv_max +#end if + #if str($adv_opts.param_default_mandatory_unrestricted_adv_max): + -default_mandatory_unrestricted_adv_max $adv_opts.param_default_mandatory_unrestricted_adv_max +#end if + #if str($adv_opts.param_wodefault_optional_unrestricted_adv_max): + -wodefault_optional_unrestricted_adv_max $adv_opts.param_wodefault_optional_unrestricted_adv_max +#end if + #if str($adv_opts.param_default_optional_unrestricted_adv_max): + -default_optional_unrestricted_adv_max $adv_opts.param_default_optional_unrestricted_adv_max +#end if + #if str($adv_opts.param_wodefault_mandatory_unrestricted_adv_minmax): + -wodefault_mandatory_unrestricted_adv_minmax $adv_opts.param_wodefault_mandatory_unrestricted_adv_minmax +#end if + #if str($adv_opts.param_default_mandatory_unrestricted_adv_minmax): + -default_mandatory_unrestricted_adv_minmax $adv_opts.param_default_mandatory_unrestricted_adv_minmax +#end if + #if str($adv_opts.param_wodefault_optional_unrestricted_adv_minmax): + -wodefault_optional_unrestricted_adv_minmax $adv_opts.param_wodefault_optional_unrestricted_adv_minmax +#end if + #if str($adv_opts.param_default_optional_unrestricted_adv_minmax): + -default_optional_unrestricted_adv_minmax $adv_opts.param_default_optional_unrestricted_adv_minmax +#end if +#end if +> $param_stdout + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Integer parameter tests. + + +For more information, visit http://docs.are/unavailable.html + diff --git a/tests/test-data/macros.xml b/tests/test-data/macros.xml new file mode 100644 index 00000000..82907e42 --- /dev/null +++ b/tests/test-data/macros.xml @@ -0,0 +1,31 @@ + + + + + requirement + + + + + + + + + + + doi:10.1186/1471-2105-9-163 + + + + + + + + + + + + + + + diff --git a/tests/test-data/ofile.ctd b/tests/test-data/ofile.ctd new file mode 100644 index 00000000..bed6a853 --- /dev/null +++ b/tests/test-data/ofile.ctd @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/test-data/ofile.xml b/tests/test-data/ofile.xml new file mode 100644 index 00000000..f3678f7a --- /dev/null +++ b/tests/test-data/ofile.xml @@ -0,0 +1,167 @@ + + + + + Input File parameter tests + + echo outFileTest + macros.xml + + + + + echo outFileTest + +#if str($param_wodefault_mandatory_noformat): + -wodefault_mandatory_noformat $param_wodefault_mandatory_noformat +#end if +#if str($param_default_mandatory_noformat): + -default_mandatory_noformat $param_default_mandatory_noformat +#end if +#if str($param_wodefault_optional_noformat): + -wodefault_optional_noformat $param_wodefault_optional_noformat +#end if +#if str($param_default_optional_noformat): + -default_optional_noformat $param_default_optional_noformat +#end if +#if str($param_wodefault_mandatory_oneformat): + -wodefault_mandatory_oneformat $param_wodefault_mandatory_oneformat +#end if +#if str($param_default_mandatory_oneformat): + -default_mandatory_oneformat $param_default_mandatory_oneformat +#end if +#if str($param_wodefault_optional_oneformat): + -wodefault_optional_oneformat $param_wodefault_optional_oneformat +#end if +#if str($param_default_optional_oneformat): + -default_optional_oneformat $param_default_optional_oneformat +#end if +#if str($param_wodefault_mandatory_multformat): + -wodefault_mandatory_multformat $param_wodefault_mandatory_multformat +#end if +#if str($param_default_mandatory_multformat): + -default_mandatory_multformat $param_default_mandatory_multformat +#end if +#if str($param_wodefault_optional_multformat): + -wodefault_optional_multformat $param_wodefault_optional_multformat +#end if +#if str($param_default_optional_multformat): + -default_optional_multformat $param_default_optional_multformat +#end if + +#if $rep_param_list_mandatory_noformat: +-list_mandatory_noformat + #for token in $rep_param_list_mandatory_noformat: + #if " " in str(token): + "$token.param_list_mandatory_noformat" + #else + $token.param_list_mandatory_noformat + #end if + #end for +#end if + +#if $rep_param_list_optional_noformat: +-list_optional_noformat + #for token in $rep_param_list_optional_noformat: + #if " " in str(token): + "$token.param_list_optional_noformat" + #else + $token.param_list_optional_noformat + #end if + #end for +#end if + +#if $rep_param_list_mandatory_oneformat: +-list_mandatory_oneformat + #for token in $rep_param_list_mandatory_oneformat: + #if " " in str(token): + "$token.param_list_mandatory_oneformat" + #else + $token.param_list_mandatory_oneformat + #end if + #end for +#end if + +#if $rep_param_list_optional_oneformat: +-list_optional_oneformat + #for token in $rep_param_list_optional_oneformat: + #if " " in str(token): + "$token.param_list_optional_oneformat" + #else + $token.param_list_optional_oneformat + #end if + #end for +#end if + +#if $rep_param_list_mandatory_multformat: +-list_mandatory_multformat + #for token in $rep_param_list_mandatory_multformat: + #if " " in str(token): + "$token.param_list_mandatory_multformat" + #else + $token.param_list_mandatory_multformat + #end if + #end for +#end if + +#if $rep_param_list_optional_multformat: +-list_optional_multformat + #for token in $rep_param_list_optional_multformat: + #if " " in str(token): + "$token.param_list_optional_multformat" + #else + $token.param_list_optional_multformat + #end if + #end for +#end if +#if str($param_mandatory_noformat_adv): + -mandatory_noformat_adv $param_mandatory_noformat_adv +#end if +#if str($param_optional_noformat_adv): + -optional_noformat_adv $param_optional_noformat_adv +#end if +#if str($param_mandatory_oneformat_adv): + -mandatory_oneformat_adv $param_mandatory_oneformat_adv +#end if +#if str($param_optional_oneformat_adv): + -optional_oneformat_adv $param_optional_oneformat_adv +#end if +#if str($param_mandatory_multformat_adv): + -mandatory_multformat_adv $param_mandatory_multformat_adv +#end if +#if str($param_optional_multformat_adv): + -optional_multformat_adv $param_optional_multformat_adv +#end if + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Input File parameter tests. + + +For more information, visit http://docs.are/unavailable.html + diff --git a/tests/test-data/repeat.ctd b/tests/test-data/repeat.ctd new file mode 100644 index 00000000..75d90af5 --- /dev/null +++ b/tests/test-data/repeat.ctd @@ -0,0 +1,125 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/test-data/repeat.xml b/tests/test-data/repeat.xml new file mode 100644 index 00000000..028177a3 --- /dev/null +++ b/tests/test-data/repeat.xml @@ -0,0 +1,870 @@ + + + + + Repeat parameter tests + + echo RepeatTest + macros.xml + + + + + echo RepeatTest + + +#if $rep_param_string_wodefault_optional: +-string_wodefault_optional + #for token in $rep_param_string_wodefault_optional: + #if " " in str(token): + "$token.param_string_wodefault_optional" + #else + $token.param_string_wodefault_optional + #end if + #end for +#end if + +#if $rep_param_string_wodefault_mandatory: +-string_wodefault_mandatory + #for token in $rep_param_string_wodefault_mandatory: + #if " " in str(token): + "$token.param_string_wodefault_mandatory" + #else + $token.param_string_wodefault_mandatory + #end if + #end for +#end if + +#if $rep_param_string_default_optional: +-string_default_optional + #for token in $rep_param_string_default_optional: + #if " " in str(token): + "$token.param_string_default_optional" + #else + $token.param_string_default_optional + #end if + #end for +#end if + +#if $rep_param_string_default_mandatory: +-string_default_mandatory + #for token in $rep_param_string_default_mandatory: + #if " " in str(token): + "$token.param_string_default_mandatory" + #else + $token.param_string_default_mandatory + #end if + #end for +#end if + +#if $rep_param_int_wodefault_optional: +-int_wodefault_optional + #for token in $rep_param_int_wodefault_optional: + #if " " in str(token): + "$token.param_int_wodefault_optional" + #else + $token.param_int_wodefault_optional + #end if + #end for +#end if + +#if $rep_param_int_wodefault_mandatory: +-int_wodefault_mandatory + #for token in $rep_param_int_wodefault_mandatory: + #if " " in str(token): + "$token.param_int_wodefault_mandatory" + #else + $token.param_int_wodefault_mandatory + #end if + #end for +#end if + +#if $rep_param_int_default_optional: +-int_default_optional + #for token in $rep_param_int_default_optional: + #if " " in str(token): + "$token.param_int_default_optional" + #else + $token.param_int_default_optional + #end if + #end for +#end if + +#if $rep_param_int_default_mandatory: +-int_default_mandatory + #for token in $rep_param_int_default_mandatory: + #if " " in str(token): + "$token.param_int_default_mandatory" + #else + $token.param_int_default_mandatory + #end if + #end for +#end if + +#if $rep_param_int_resticted_wodefault_optional: +-int_resticted_wodefault_optional + #for token in $rep_param_int_resticted_wodefault_optional: + #if " " in str(token): + "$token.param_int_resticted_wodefault_optional" + #else + $token.param_int_resticted_wodefault_optional + #end if + #end for +#end if + +#if $rep_param_int_resticted_wodefault_mandatory: +-int_resticted_wodefault_mandatory + #for token in $rep_param_int_resticted_wodefault_mandatory: + #if " " in str(token): + "$token.param_int_resticted_wodefault_mandatory" + #else + $token.param_int_resticted_wodefault_mandatory + #end if + #end for +#end if + +#if $rep_param_int_resticted_default_optional: +-int_resticted_default_optional + #for token in $rep_param_int_resticted_default_optional: + #if " " in str(token): + "$token.param_int_resticted_default_optional" + #else + $token.param_int_resticted_default_optional + #end if + #end for +#end if + +#if $rep_param_int_resticted_default_mandatory: +-int_resticted_default_mandatory + #for token in $rep_param_int_resticted_default_mandatory: + #if " " in str(token): + "$token.param_int_resticted_default_mandatory" + #else + $token.param_int_resticted_default_mandatory + #end if + #end for +#end if + +#if $rep_param_double_wodefault_optional: +-double_wodefault_optional + #for token in $rep_param_double_wodefault_optional: + #if " " in str(token): + "$token.param_double_wodefault_optional" + #else + $token.param_double_wodefault_optional + #end if + #end for +#end if + +#if $rep_param_double_wodefault_mandatory: +-double_wodefault_mandatory + #for token in $rep_param_double_wodefault_mandatory: + #if " " in str(token): + "$token.param_double_wodefault_mandatory" + #else + $token.param_double_wodefault_mandatory + #end if + #end for +#end if + +#if $rep_param_double_default_optional: +-double_default_optional + #for token in $rep_param_double_default_optional: + #if " " in str(token): + "$token.param_double_default_optional" + #else + $token.param_double_default_optional + #end if + #end for +#end if + +#if $rep_param_double_default_mandatory: +-double_default_mandatory + #for token in $rep_param_double_default_mandatory: + #if " " in str(token): + "$token.param_double_default_mandatory" + #else + $token.param_double_default_mandatory + #end if + #end for +#end if + +#if $rep_param_double_resticted_wodefault_optional: +-double_resticted_wodefault_optional + #for token in $rep_param_double_resticted_wodefault_optional: + #if " " in str(token): + "$token.param_double_resticted_wodefault_optional" + #else + $token.param_double_resticted_wodefault_optional + #end if + #end for +#end if + +#if $rep_param_double_resticted_wodefault_mandatory: +-double_resticted_wodefault_mandatory + #for token in $rep_param_double_resticted_wodefault_mandatory: + #if " " in str(token): + "$token.param_double_resticted_wodefault_mandatory" + #else + $token.param_double_resticted_wodefault_mandatory + #end if + #end for +#end if + +#if $rep_param_double_resticted_default_optional: +-double_resticted_default_optional + #for token in $rep_param_double_resticted_default_optional: + #if " " in str(token): + "$token.param_double_resticted_default_optional" + #else + $token.param_double_resticted_default_optional + #end if + #end for +#end if + +#if $rep_param_double_resticted_default_mandatory: +-double_resticted_default_mandatory + #for token in $rep_param_double_resticted_default_mandatory: + #if " " in str(token): + "$token.param_double_resticted_default_mandatory" + #else + $token.param_double_resticted_default_mandatory + #end if + #end for +#end if +#if $adv_opts.adv_opts_selector=='advanced': + +#if $rep_param_string_wodefault_optional_adv: +-string_wodefault_optional_adv + #for token in $rep_param_string_wodefault_optional_adv: + #if " " in str(token): + "$token.param_string_wodefault_optional_adv" + #else + $token.param_string_wodefault_optional_adv + #end if + #end for +#end if + +#if $rep_param_string_wodefault_mandatory_adv: +-string_wodefault_mandatory_adv + #for token in $rep_param_string_wodefault_mandatory_adv: + #if " " in str(token): + "$token.param_string_wodefault_mandatory_adv" + #else + $token.param_string_wodefault_mandatory_adv + #end if + #end for +#end if + +#if $rep_param_string_default_optional_adv: +-string_default_optional_adv + #for token in $rep_param_string_default_optional_adv: + #if " " in str(token): + "$token.param_string_default_optional_adv" + #else + $token.param_string_default_optional_adv + #end if + #end for +#end if + +#if $rep_param_string_default_mandatory_adv: +-string_default_mandatory_adv + #for token in $rep_param_string_default_mandatory_adv: + #if " " in str(token): + "$token.param_string_default_mandatory_adv" + #else + $token.param_string_default_mandatory_adv + #end if + #end for +#end if + +#if $rep_param_int_wodefault_optional_adv: +-int_wodefault_optional_adv + #for token in $rep_param_int_wodefault_optional_adv: + #if " " in str(token): + "$token.param_int_wodefault_optional_adv" + #else + $token.param_int_wodefault_optional_adv + #end if + #end for +#end if + +#if $rep_param_int_wodefault_mandatory_adv: +-int_wodefault_mandatory_adv + #for token in $rep_param_int_wodefault_mandatory_adv: + #if " " in str(token): + "$token.param_int_wodefault_mandatory_adv" + #else + $token.param_int_wodefault_mandatory_adv + #end if + #end for +#end if + +#if $rep_param_int_default_optional_adv: +-int_default_optional_adv + #for token in $rep_param_int_default_optional_adv: + #if " " in str(token): + "$token.param_int_default_optional_adv" + #else + $token.param_int_default_optional_adv + #end if + #end for +#end if + +#if $rep_param_int_default_mandatory_adv: +-int_default_mandatory_adv + #for token in $rep_param_int_default_mandatory_adv: + #if " " in str(token): + "$token.param_int_default_mandatory_adv" + #else + $token.param_int_default_mandatory_adv + #end if + #end for +#end if + +#if $rep_param_int_resticted_wodefault_optional_adv: +-int_resticted_wodefault_optional_adv + #for token in $rep_param_int_resticted_wodefault_optional_adv: + #if " " in str(token): + "$token.param_int_resticted_wodefault_optional_adv" + #else + $token.param_int_resticted_wodefault_optional_adv + #end if + #end for +#end if + +#if $rep_param_int_resticted_wodefault_mandatory_adv: +-int_resticted_wodefault_mandatory_adv + #for token in $rep_param_int_resticted_wodefault_mandatory_adv: + #if " " in str(token): + "$token.param_int_resticted_wodefault_mandatory_adv" + #else + $token.param_int_resticted_wodefault_mandatory_adv + #end if + #end for +#end if + +#if $rep_param_int_resticted_default_optional_adv: +-int_resticted_default_optional_adv + #for token in $rep_param_int_resticted_default_optional_adv: + #if " " in str(token): + "$token.param_int_resticted_default_optional_adv" + #else + $token.param_int_resticted_default_optional_adv + #end if + #end for +#end if + +#if $rep_param_int_resticted_default_mandatory_adv: +-int_resticted_default_mandatory_adv + #for token in $rep_param_int_resticted_default_mandatory_adv: + #if " " in str(token): + "$token.param_int_resticted_default_mandatory_adv" + #else + $token.param_int_resticted_default_mandatory_adv + #end if + #end for +#end if + +#if $rep_param_double_wodefault_optional_adv: +-double_wodefault_optional_adv + #for token in $rep_param_double_wodefault_optional_adv: + #if " " in str(token): + "$token.param_double_wodefault_optional_adv" + #else + $token.param_double_wodefault_optional_adv + #end if + #end for +#end if + +#if $rep_param_double_wodefault_mandatory_adv: +-double_wodefault_mandatory_adv + #for token in $rep_param_double_wodefault_mandatory_adv: + #if " " in str(token): + "$token.param_double_wodefault_mandatory_adv" + #else + $token.param_double_wodefault_mandatory_adv + #end if + #end for +#end if + +#if $rep_param_double_default_optional_adv: +-double_default_optional_adv + #for token in $rep_param_double_default_optional_adv: + #if " " in str(token): + "$token.param_double_default_optional_adv" + #else + $token.param_double_default_optional_adv + #end if + #end for +#end if + +#if $rep_param_double_default_mandatory_adv: +-double_default_mandatory_adv + #for token in $rep_param_double_default_mandatory_adv: + #if " " in str(token): + "$token.param_double_default_mandatory_adv" + #else + $token.param_double_default_mandatory_adv + #end if + #end for +#end if + +#if $rep_param_double_resticted_wodefault_optional_adv: +-double_resticted_wodefault_optional_adv + #for token in $rep_param_double_resticted_wodefault_optional_adv: + #if " " in str(token): + "$token.param_double_resticted_wodefault_optional_adv" + #else + $token.param_double_resticted_wodefault_optional_adv + #end if + #end for +#end if + +#if $rep_param_double_resticted_wodefault_mandatory_adv: +-double_resticted_wodefault_mandatory_adv + #for token in $rep_param_double_resticted_wodefault_mandatory_adv: + #if " " in str(token): + "$token.param_double_resticted_wodefault_mandatory_adv" + #else + $token.param_double_resticted_wodefault_mandatory_adv + #end if + #end for +#end if + +#if $rep_param_double_resticted_default_optional_adv: +-double_resticted_default_optional_adv + #for token in $rep_param_double_resticted_default_optional_adv: + #if " " in str(token): + "$token.param_double_resticted_default_optional_adv" + #else + $token.param_double_resticted_default_optional_adv + #end if + #end for +#end if + +#if $rep_param_double_resticted_default_mandatory_adv: +-double_resticted_default_mandatory_adv + #for token in $rep_param_double_resticted_default_mandatory_adv: + #if " " in str(token): + "$token.param_double_resticted_default_mandatory_adv" + #else + $token.param_double_resticted_default_mandatory_adv + #end if + #end for +#end if +#end if +> $param_stdout + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Repeat parameter tests. + + +For more information, visit http://docs.are/unavailable.html + diff --git a/tests/test-data/select.ctd b/tests/test-data/select.ctd new file mode 100644 index 00000000..77048022 --- /dev/null +++ b/tests/test-data/select.ctd @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/test-data/select.xml b/tests/test-data/select.xml new file mode 100644 index 00000000..7e243ccd --- /dev/null +++ b/tests/test-data/select.xml @@ -0,0 +1,278 @@ + + + + + Select parameter tests + + echo SelectTest + macros.xml + + + + + echo SelectTest + +#if $param_wodefault_mandatory: + -wodefault_mandatory + #if " " in str($param_wodefault_mandatory): + "$param_wodefault_mandatory" + #else + $param_wodefault_mandatory + #end if +#end if +#if $param_default_mandatory: + -default_mandatory + #if " " in str($param_default_mandatory): + "$param_default_mandatory" + #else + $param_default_mandatory + #end if +#end if +#if $param_wodefault_optional: + -wodefault_optional + #if " " in str($param_wodefault_optional): + "$param_wodefault_optional" + #else + $param_wodefault_optional + #end if +#end if +#if $param_default_optional: + -default_optional + #if " " in str($param_default_optional): + "$param_default_optional" + #else + $param_default_optional + #end if +#end if + +#if $rep_param_list_wodefault_optional: +-list_wodefault_optional + #for token in $rep_param_list_wodefault_optional: + #if " " in str(token): + "$token.param_list_wodefault_optional" + #else + $token.param_list_wodefault_optional + #end if + #end for +#end if + +#if $rep_param_list_wodefault_mandatory: +-list_wodefault_mandatory + #for token in $rep_param_list_wodefault_mandatory: + #if " " in str(token): + "$token.param_list_wodefault_mandatory" + #else + $token.param_list_wodefault_mandatory + #end if + #end for +#end if + +#if $rep_param_list_default_optional: +-list_default_optional + #for token in $rep_param_list_default_optional: + #if " " in str(token): + "$token.param_list_default_optional" + #else + $token.param_list_default_optional + #end if + #end for +#end if + +#if $rep_param_list_default_mandatory: +-list_default_mandatory + #for token in $rep_param_list_default_mandatory: + #if " " in str(token): + "$token.param_list_default_mandatory" + #else + $token.param_list_default_mandatory + #end if + #end for +#end if + +#if $rep_param_list_wodefault_optional_adv: +-list_wodefault_optional_adv + #for token in $rep_param_list_wodefault_optional_adv: + #if " " in str(token): + "$token.param_list_wodefault_optional_adv" + #else + $token.param_list_wodefault_optional_adv + #end if + #end for +#end if + +#if $rep_param_list_wodefault_mandatory_adv: +-list_wodefault_mandatory_adv + #for token in $rep_param_list_wodefault_mandatory_adv: + #if " " in str(token): + "$token.param_list_wodefault_mandatory_adv" + #else + $token.param_list_wodefault_mandatory_adv + #end if + #end for +#end if + +#if $rep_param_list_default_optional_adv: +-list_default_optional_adv + #for token in $rep_param_list_default_optional_adv: + #if " " in str(token): + "$token.param_list_default_optional_adv" + #else + $token.param_list_default_optional_adv + #end if + #end for +#end if + +#if $rep_param_list_default_mandatory_adv: +-list_default_mandatory_adv + #for token in $rep_param_list_default_mandatory_adv: + #if " " in str(token): + "$token.param_list_default_mandatory_adv" + #else + $token.param_list_default_mandatory_adv + #end if + #end for +#end if +#if $adv_opts.adv_opts_selector=='advanced': + #if $adv_opts.param_wodefault_mandatory_adv: + -wodefault_mandatory_adv + #if " " in str($adv_opts.param_wodefault_mandatory_adv): + "$adv_opts.param_wodefault_mandatory_adv" + #else + $adv_opts.param_wodefault_mandatory_adv + #end if +#end if + #if $adv_opts.param_default_mandatory_adv: + -default_mandatory_adv + #if " " in str($adv_opts.param_default_mandatory_adv): + "$adv_opts.param_default_mandatory_adv" + #else + $adv_opts.param_default_mandatory_adv + #end if +#end if + #if $adv_opts.param_wodefault_optional_adv: + -wodefault_optional_adv + #if " " in str($adv_opts.param_wodefault_optional_adv): + "$adv_opts.param_wodefault_optional_adv" + #else + $adv_opts.param_wodefault_optional_adv + #end if +#end if + #if $adv_opts.param_default_optional_adv: + -default_optional_adv + #if " " in str($adv_opts.param_default_optional_adv): + "$adv_opts.param_default_optional_adv" + #else + $adv_opts.param_default_optional_adv + #end if +#end if +#end if +> $param_stdout + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Select parameter tests. + + +For more information, visit http://docs.are/unavailable.html + diff --git a/tests/test-data/string.ctd b/tests/test-data/string.ctd new file mode 100644 index 00000000..5c0e5fc7 --- /dev/null +++ b/tests/test-data/string.ctd @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/tests/test-data/string.xml b/tests/test-data/string.xml new file mode 100644 index 00000000..90896ddb --- /dev/null +++ b/tests/test-data/string.xml @@ -0,0 +1,118 @@ + + + + + String parameter tests + + echo StringTest + macros.xml + + + + + echo StringTest + +#if str($param_param_wodefault_mandatory_unrestricted): + -param_wodefault_mandatory_unrestricted "$param_param_wodefault_mandatory_unrestricted" +#end if +#if str($param_param_default_mandatory_unrestricted): + -param_default_mandatory_unrestricted "$param_param_default_mandatory_unrestricted" +#end if +#if str($param_param_wodefault_optional_unrestricted): + -param_wodefault_optional_unrestricted "$param_param_wodefault_optional_unrestricted" +#end if +#if str($param_param_default_optional_unrestricted): + -param_default_optional_unrestricted "$param_param_default_optional_unrestricted" +#end if +#if $adv_opts.adv_opts_selector=='advanced': + #if str($adv_opts.param_param_wodefault_mandatory_unrestricted_adv): + -param_wodefault_mandatory_unrestricted_adv "$adv_opts.param_param_wodefault_mandatory_unrestricted_adv" +#end if + #if str($adv_opts.param_param_default_mandatory_unrestricted_adv): + -param_default_mandatory_unrestricted_adv "$adv_opts.param_param_default_mandatory_unrestricted_adv" +#end if + #if str($adv_opts.param_param_wodefault_optional_unrestricted_adv): + -param_wodefault_optional_unrestricted_adv "$adv_opts.param_param_wodefault_optional_unrestricted_adv" +#end if + #if str($adv_opts.param_param_default_optional_unrestricted_adv): + -param_default_optional_unrestricted_adv "$adv_opts.param_param_default_optional_unrestricted_adv" +#end if +#end if +> $param_stdout + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + String parameter tests. + + +For more information, visit http://docs.are/unavailable.html + diff --git a/tests/test_galaxy_cli.py b/tests/test_galaxy_cli.py new file mode 100644 index 00000000..d87c9ede --- /dev/null +++ b/tests/test_galaxy_cli.py @@ -0,0 +1,73 @@ +import unittest +import os +import subprocess +import tempfile + +def to_test_data(*args): + return os.path.abspath(os.path.join(os.path.dirname(os.path.realpath(__file__)), "test-data", *args)) + +def file2list(pth): + with open(pth) as f: + lines = f.readlines() + return lines + +class GalaxyCliTestCase(unittest.TestCase): + + def _compare_cli_output(self, fileprefix): + in_pth = to_test_data('{}.ctd'.format(fileprefix)) + macro_pth = to_test_data('macros.xml') + ftypes_pth = to_test_data('filetypes.txt') + tmp = tempfile.mkdtemp() + + out_file = os.path.join(tmp, '{}.xml'.format(fileprefix)) + #out_file = to_test_data('{}.xml'.format(fileprefix)) + + cmd = ['CTDConverter', 'galaxy', '-i', in_pth, '-o', out_file, '-f', ftypes_pth, '-m', macro_pth, '-b', 'version'] + print(cmd) + + popen = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + output, err = popen.communicate() + print(output) + print(err) + + old_file_pth = to_test_data('{}.xml'.format(fileprefix)) + + print(out_file) + print(old_file_pth) + + new_l = file2list(out_file) + old_l = file2list(old_file_pth) + + for i in range(0, len(new_l)): + self.assertEqual(new_l[i].rstrip(), old_l[i].rstrip()) + + def test_galaxy_cli_bool_ctd(self): + self._compare_cli_output('bool') + + def test_galaxy_cli_empty_ctd(self): + self._compare_cli_output('empty') + + def test_galaxy_cli_float_ctd(self): + self._compare_cli_output('float') + + def test_galaxy_cli_integer_ctd(self): + self._compare_cli_output('integer') + + def test_galaxy_cli_repeat_ctd(self): + self._compare_cli_output('repeat') + + def test_galaxy_cli_select_ctd(self): + self._compare_cli_output('select') + + def test_galaxy_cli_string_ctd(self): + self._compare_cli_output('string') + + def test_galaxy_cli_ifile_ctd(self): + self._compare_cli_output('ifile') + + def test_galaxy_cli_ofile_ctd(self): + self._compare_cli_output('ofile') + + +if __name__ == '__main__': + unittest.main()