~ubuntu-branches/ubuntu/trusty/qiime/trusty

« back to all changes in this revision

Viewing changes to tests/test_workflow/test_util.py

  • Committer: Package Import Robot
  • Author(s): Andreas Tille
  • Date: 2013-06-17 18:28:26 UTC
  • mfrom: (9.1.2 sid)
  • Revision ID: package-import@ubuntu.com-20130617182826-376az5ad080a0sfe
Tags: 1.7.0+dfsg-1
Upload preparations done for BioLinux to Debian

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/env python
 
2
# File created on 30 Mar 2010
 
3
from __future__ import division
 
4
 
 
5
__author__ = "Greg Caporaso"
 
6
__copyright__ = "Copyright 2011, The QIIME Project"
 
7
__credits__ = ["Greg Caporaso", "Kyle Bittinger", "Jai Ram Rideout"]
 
8
__license__ = "GPL"
 
9
__version__ = "1.7.0"
 
10
__maintainer__ = "Greg Caporaso"
 
11
__email__ = "gregcaporaso@gmail.com"
 
12
__status__ = "Release"
 
13
 
 
14
from shutil import rmtree
 
15
from glob import glob
 
16
from os.path import exists, join, getsize
 
17
from cogent.util.unit_test import TestCase, main
 
18
from cogent.util.misc import remove_files
 
19
from qiime.util import (load_qiime_config,
 
20
                        get_tmp_filename,
 
21
                        get_qiime_temp_dir,
 
22
                        create_dir)
 
23
from qiime.parse import parse_qiime_parameters
 
24
from qiime.test import (initiate_timeout,
 
25
                        disable_timeout,
 
26
                        get_test_data_fps)
 
27
from qiime.workflow.util import (call_commands_serially,
 
28
                                 no_status_updates,
 
29
                                 WorkflowError)
 
30
from qiime.workflow.downstream import run_beta_diversity_through_plots
 
31
 
 
32
 
 
33
class WorkflowTests(TestCase):
 
34
    
 
35
    def setUp(self):
 
36
        """ """
 
37
        self.test_data = get_test_data_fps()
 
38
        self.files_to_remove = []
 
39
        self.dirs_to_remove = []
 
40
        
 
41
        # Create example output directory
 
42
        tmp_dir = get_qiime_temp_dir()
 
43
        self.test_out = get_tmp_filename(tmp_dir=tmp_dir,
 
44
                                         prefix='core_qiime_analyses_test_',
 
45
                                         suffix='',
 
46
                                         result_constructor=str)
 
47
        self.dirs_to_remove.append(self.test_out)
 
48
        create_dir(self.test_out)
 
49
        
 
50
        self.qiime_config = load_qiime_config()
 
51
        self.params = parse_qiime_parameters({})
 
52
        
 
53
        initiate_timeout(60)
 
54
    
 
55
    def tearDown(self):
 
56
        """ """
 
57
        disable_timeout()
 
58
        remove_files(self.files_to_remove)
 
59
        # remove directories last, so we don't get errors
 
60
        # trying to remove files which may be in the directories
 
61
        for d in self.dirs_to_remove:
 
62
            if exists(d):
 
63
                rmtree(d)
 
64
        
 
65
    def test_unsupported_options_handled_nicely(self):
 
66
        """WorkflowError raised on unsupported option """
 
67
        self.params['beta_diversity'] = {'blah':"something-broken"}
 
68
        self.assertRaises(WorkflowError,
 
69
                          run_beta_diversity_through_plots,
 
70
                          self.test_data['biom'][0], 
 
71
                          self.test_data['map'][0],
 
72
                          self.test_out, 
 
73
                          call_commands_serially,
 
74
                          self.params,
 
75
                          self.qiime_config,
 
76
                          tree_fp=self.test_data['tree'][0],
 
77
                          parallel=False, 
 
78
                          status_update_callback=no_status_updates)
 
79
        
 
80
        # Check that the log file is created and has size > 0
 
81
        log_fp = glob(join(self.test_out,'log*.txt'))[0]
 
82
        self.assertTrue(getsize(log_fp) > 0)
 
83
 
 
84
if __name__ == "__main__":
 
85
    main()