Skip to content

Commit

Permalink
Merge pull request #4379 from stsewd/fix-base-path-config-v1
Browse files Browse the repository at this point in the history
Set full `source_file` path for default configuration
  • Loading branch information
davidfischer authored Jul 17, 2018
2 parents bb3c353 + 2dbb2ad commit 070c322
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 7 deletions.
4 changes: 3 additions & 1 deletion readthedocs/doc_builder/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
from __future__ import (
absolute_import, division, print_function, unicode_literals)

from os import path

from readthedocs.config import BuildConfig, ConfigError, InvalidConfig
from readthedocs.config import load as load_config

Expand Down Expand Up @@ -68,7 +70,7 @@ def load_yaml_config(version):
config = BuildConfig(
env_config=env_config,
raw_config={},
source_file='empty',
source_file=path.join(checkout_path, 'empty'),
source_position=0,
)
config.validate()
Expand Down
30 changes: 24 additions & 6 deletions readthedocs/rtd_tests/tests/test_doc_building.py
Original file line number Diff line number Diff line change
Expand Up @@ -1153,7 +1153,10 @@ def assertArgsStartsWith(self, args, function_mock):
if arg is not mock.ANY:
self.assertTrue(arg_mock.startswith(arg))

def test_install_core_requirements_sphinx(self):
@patch('readthedocs.projects.models.Project.checkout_path')
def test_install_core_requirements_sphinx(self, checkout_path):
tmpdir = tempfile.mkdtemp()
checkout_path.return_value = tmpdir
python_env = Virtualenv(
version=self.version_sphinx,
build_env=self.build_env_mock,
Expand All @@ -1171,7 +1174,10 @@ def test_install_core_requirements_sphinx(self):
self.build_env_mock.run.assert_called_once()
self.assertArgsStartsWith(args, self.build_env_mock.run)

def test_install_core_requirements_mkdocs(self):
@patch('readthedocs.projects.models.Project.checkout_path')
def test_install_core_requirements_mkdocs(self, checkout_path):
tmpdir = tempfile.mkdtemp()
checkout_path.return_value = tmpdir
python_env = Virtualenv(
version=self.version_mkdocs,
build_env=self.build_env_mock
Expand All @@ -1187,7 +1193,8 @@ def test_install_core_requirements_mkdocs(self):
self.build_env_mock.run.assert_called_once()
self.assertArgsStartsWith(args, self.build_env_mock.run)

def test_install_user_requirements(self):
@patch('readthedocs.projects.models.Project.checkout_path')
def test_install_user_requirements(self, checkout_path):
"""
If a projects does not specify a requirements file,
RTD will choose one automatically.
Expand All @@ -1198,6 +1205,8 @@ def test_install_user_requirements(self):
- ``pip_requirements.txt``
- ``requirements.txt``
"""
tmpdir = tempfile.mkdtemp()
checkout_path.return_value = tmpdir
self.build_env_mock.project = self.project_sphinx
self.build_env_mock.version = self.version_sphinx
python_env = Virtualenv(
Expand Down Expand Up @@ -1267,7 +1276,10 @@ def test_install_user_requirements(self):
python_env.install_user_requirements()
self.build_env_mock.run.assert_not_called()

def test_install_core_requirements_sphinx_conda(self):
@patch('readthedocs.projects.models.Project.checkout_path')
def test_install_core_requirements_sphinx_conda(self, checkout_path):
tmpdir = tempfile.mkdtemp()
checkout_path.return_value = tmpdir
python_env = Conda(
version=self.version_sphinx,
build_env=self.build_env_mock,
Expand Down Expand Up @@ -1307,7 +1319,10 @@ def test_install_core_requirements_sphinx_conda(self):
mock.call(*args_pip, bin_path=mock.ANY)
])

def test_install_core_requirements_mkdocs_conda(self):
@patch('readthedocs.projects.models.Project.checkout_path')
def test_install_core_requirements_mkdocs_conda(self, checkout_path):
tmpdir = tempfile.mkdtemp()
checkout_path.return_value = tmpdir
python_env = Conda(
version=self.version_mkdocs,
build_env=self.build_env_mock,
Expand Down Expand Up @@ -1343,7 +1358,10 @@ def test_install_core_requirements_mkdocs_conda(self):
mock.call(*args_pip, bin_path=mock.ANY)
])

def test_install_user_requirements_conda(self):
@patch('readthedocs.projects.models.Project.checkout_path')
def test_install_user_requirements_conda(self, checkout_path):
tmpdir = tempfile.mkdtemp()
checkout_path.return_value = tmpdir
python_env = Conda(
version=self.version_sphinx,
build_env=self.build_env_mock,
Expand Down

0 comments on commit 070c322

Please sign in to comment.