mirror of
https://github.com/jupyterhub/the-littlest-jupyterhub.git
synced 2025-12-18 21:54:05 +08:00
69 lines
1.8 KiB
Python
69 lines
1.8 KiB
Python
"""
|
|
Test conda commandline wrappers
|
|
"""
|
|
from tljh import conda
|
|
import os
|
|
import pytest
|
|
import subprocess
|
|
import tempfile
|
|
|
|
|
|
@pytest.fixture(scope='module')
|
|
def prefix():
|
|
"""
|
|
Provide a temporary directory with a conda environment
|
|
"""
|
|
miniconda_version = '4.5.4'
|
|
miniconda_installer_md5 = "a946ea1d0c4a642ddf0c3a26a18bb16d"
|
|
with tempfile.TemporaryDirectory() as tmpdir:
|
|
with conda.download_miniconda_installer(miniconda_version, miniconda_installer_md5) as installer_path:
|
|
conda.install_miniconda(installer_path, tmpdir)
|
|
conda.ensure_conda_packages(tmpdir, [
|
|
'conda==4.5.8'
|
|
])
|
|
yield tmpdir
|
|
|
|
|
|
def test_ensure_packages(prefix):
|
|
"""
|
|
Test installing packages in conda environment
|
|
"""
|
|
conda.ensure_conda_packages(prefix, ['numpy'])
|
|
# Throws an error if this fails
|
|
subprocess.check_call([
|
|
os.path.join(prefix, 'bin', 'python'),
|
|
'-c',
|
|
'import numpy'
|
|
])
|
|
|
|
|
|
def test_ensure_pip_packages(prefix):
|
|
"""
|
|
Test installing pip packages in conda environment
|
|
"""
|
|
conda.ensure_conda_packages(prefix, ['pip'])
|
|
conda.ensure_pip_packages(prefix, ['numpy'])
|
|
# Throws an error if this fails
|
|
subprocess.check_call([
|
|
os.path.join(prefix, 'bin', 'python'),
|
|
'-c',
|
|
'import numpy'
|
|
])
|
|
|
|
|
|
def test_ensure_pip_requirements(prefix):
|
|
"""
|
|
Test installing pip packages with requirements.txt in conda environment
|
|
"""
|
|
conda.ensure_conda_packages(prefix, ['pip'])
|
|
with tempfile.NamedTemporaryFile() as f:
|
|
# Sample small package to test
|
|
f.write('there'.encode())
|
|
f.flush()
|
|
conda.ensure_pip_requirements(prefix, f.name)
|
|
subprocess.check_call([
|
|
os.path.join(prefix, 'bin', 'python'),
|
|
'-c',
|
|
'import there'
|
|
])
|