Skip to content

Set full source_file path for default configuration #4379

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 17, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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'),
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the future, we want to manage this in a less hacky way (I mean the empty file)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems like we'd want to just pass None rather than 'empty' but possibly that is a larger refactor.

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')
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This shouldn't be necessary if we remove

https://github.com/rtfd/readthedocs.org/blob/ebf0987fc8a739b47cd8c0ef9fb6c65be7af4ff4/readthedocs/doc_builder/python_environments.py#L37-L38

I didn't do it here because the changes would be bigger.

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