Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
Cloud:OpenStack:Train
python-sphinx-feature-classification
0001-make-sure-destination-dir-exist-before-cop...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0001-make-sure-destination-dir-exist-before-copying-files.patch of Package python-sphinx-feature-classification
From 1fb0127663e65dad1c1f000e1dc94e2bc67fed19 Mon Sep 17 00:00:00 2001 From: Guang Yee <guang.yee@suse.com> Date: Tue, 3 Sep 2019 13:32:32 -0700 Subject: [PATCH] make sure destination dir exist before copying files into it on_build_finished was operating under the assumption that the _static directory always exist. This is not a valid assumption if there are no files there for sphinx to copy prior to the execution of the 'sphinx_feature_classification.support_matrix' extension. This patch utilizes the copy_asset() utility to copy files as it is consistent with other sphinx extensions. Change-Id: Iba538f7cb595c58a0a401e54edf50dc83c5a72d2 --- sphinx_feature_classification/support_matrix.py | 6 +++--- .../tests/test_sphinx_feature_classification.py | 13 +++++++++++++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/sphinx_feature_classification/support_matrix.py b/sphinx_feature_classification/support_matrix.py index 44a6429..65b5a13 100644 --- a/sphinx_feature_classification/support_matrix.py +++ b/sphinx_feature_classification/support_matrix.py @@ -21,12 +21,12 @@ It is used via a single directive in the .rst file from os import path import re -import shutil from docutils import nodes from docutils.parsers import rst import six from six.moves import configparser +from sphinx.util.fileutil import copy_asset KEY_PATTERN = re.compile("[^a-zA-Z0-9_]") DRIVER_PREFIX = "driver." @@ -477,8 +477,8 @@ def on_build_finished(app, exc): if exc is None: src = path.join(path.abspath(path.dirname(__file__)), 'support-matrix.css') - dst = path.join(app.outdir, '_static', 'support-matrix.css') - shutil.copyfile(src, dst) + dst = path.join(app.outdir, '_static') + copy_asset(src, dst) def setup(app): diff --git a/sphinx_feature_classification/tests/test_sphinx_feature_classification.py b/sphinx_feature_classification/tests/test_sphinx_feature_classification.py index f353539..0ccb256 100644 --- a/sphinx_feature_classification/tests/test_sphinx_feature_classification.py +++ b/sphinx_feature_classification/tests/test_sphinx_feature_classification.py @@ -21,6 +21,7 @@ Tests for `sphinx_feature_classification` module. import os import ddt +import fixtures import six from six.moves import configparser @@ -72,3 +73,15 @@ class MatrixTestCase(base.TestCase): fake_implementation = self.matrix.features[0].implementations[key] self.assertEqual(status, fake_implementation.status) self.assertEqual(notes, fake_implementation.notes) + + def test_on_build_finished(self): + + class FakeApp(object): + outdir = self.useFixture(fixtures.TempDir()).path + + app = FakeApp() + exc = None + support_matrix.on_build_finished(app, exc) + expected_file = os.path.join( + app.outdir, '_static', 'support-matrix.css') + self.assertTrue(os.path.isfile(expected_file)) -- 2.23.0
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor