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
def test_invalid_binaries(self): with pytest.raises(ValueError): ANTs(version='fakeversion', pkg_manager='apt', check_urls=False)