예제 #1
0
    def test_build_from_source_github(self):
        # TODO: expand on tests for building ANTs from source. It probably
        # will not be possible to build ANTs in Travic because of the 50 min
        # time limit. It takes about 45 minutes to compile ANTs.

        ants = ANTs(version='latest', pkg_manager='apt', use_binaries=False)
        assert "git checkout" not in ants.cmd

        ants = ANTs(version='2.2.0', pkg_manager='yum', use_binaries=False)
        assert ants.cmd

        ants = ANTs(version='arbitrary', pkg_manager='apt', use_binaries=False,
                    git_hash='12345')
        assert 'git checkout 12345' in ants.cmd
    def setup(self, tmpdir):
        self.tmpdir = tmpdir
        self.specs = {'pkg_manager': 'apt',
                      'check_urls': False,
                      'instructions': [
                        ('base', 'ubuntu:17.04'),
                        ('afni', {'version': 'latest'}),
                        ('mrtrix3', {}),
                        ('miniconda', {'env_name': 'default',
                                       'conda_install': 'python=3.5.1 numpy',
                                       'pip_install': 'pandas'}),
                        ('ants', {'version': '2.1.0', 'use_binaries': True}),
                        ('freesurfer', {'version': '6.0.0', 'min': True}),
                        ('fsl', {'version': '5.0.10', 'use_binaries': True}),
                        ('spm', {'version': 12, 'matlab_version': 'R2017a'}),
                        ('instruction', "RUN ls"),
                      ]
                      }

        inst = self.specs['instructions']

        self.base = "FROM {}".format(_get_val_in_list_of_tuple(inst, 'base'))
        self.noninteractive = "ARG DEBIAN_FRONTEND=noninteractive"
        self.miniconda = Miniconda(pkg_manager='apt', check_urls=False, **_get_val_in_list_of_tuple(inst, 'miniconda')).cmd
        Miniconda.clear_memory()
        self.ants = ANTs(pkg_manager='apt', check_urls=False, **_get_val_in_list_of_tuple(inst, 'ants')).cmd
        self.fsl = FSL(pkg_manager='apt', check_urls=False, **_get_val_in_list_of_tuple(inst, 'fsl')).cmd
        self.spm = SPM(pkg_manager='apt', check_urls=False, **_get_val_in_list_of_tuple(inst, 'spm')).cmd
예제 #3
0
 def test_invalid_binaries(self):
     with pytest.raises(ValueError):
         ANTs(version='fakeversion', pkg_manager='apt', check_urls=False)