mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Merge pull request #3867 from Andne/appveyor-stable
Enable Appveyor on stable branch
This commit is contained in:
commit
014395d46b
48
.appveyor.yml
Normal file
48
.appveyor.yml
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
environment:
|
||||||
|
global:
|
||||||
|
TEST: -v --durations 25
|
||||||
|
PYTHONFAULTHANDLER: x
|
||||||
|
PYTHONWARNINGS: all
|
||||||
|
|
||||||
|
matrix:
|
||||||
|
- PYTHON: 27
|
||||||
|
DOCUTILS: 0.12
|
||||||
|
TEST_IGNORE: --ignore py35
|
||||||
|
- PYTHON: 27
|
||||||
|
DOCUTILS: 0.13.1
|
||||||
|
TEST_IGNORE: --ignore py35
|
||||||
|
- PYTHON: 36
|
||||||
|
DOCUTILS: 0.13.1
|
||||||
|
- PYTHON: 36-x64
|
||||||
|
DOCUTILS: 0.13.1
|
||||||
|
|
||||||
|
install:
|
||||||
|
- C:\Python%PYTHON%\python.exe -m pip install -U pip setuptools
|
||||||
|
- C:\Python%PYTHON%\python.exe -m pip install docutils==%DOCUTILS%
|
||||||
|
- C:\Python%PYTHON%\python.exe -m pip install -r test-reqs.txt
|
||||||
|
|
||||||
|
# No automatic build, just run python tests
|
||||||
|
build: off
|
||||||
|
|
||||||
|
# Update build information before testing, no warnings during this step
|
||||||
|
before_test:
|
||||||
|
- ps: |
|
||||||
|
$py_warnings = $env:PYTHONWARNINGS
|
||||||
|
$env:PYTHONWARNINGS = 'ignore'
|
||||||
|
Update-AppveyorBuild -Version ((& "C:\Python$($env:PYTHON)\python.exe" -m sphinx --version).Split(' ')[2])
|
||||||
|
$env:PYTHONWARNINGS = $py_warnings
|
||||||
|
|
||||||
|
test_script:
|
||||||
|
- ps: |
|
||||||
|
Push-Location tests
|
||||||
|
$test_ignore = $env:TEST_IGNORE
|
||||||
|
if (-not $test_ignore) { $test_ignore = '' }
|
||||||
|
$tests = $env:TEST
|
||||||
|
if (-not $tests) { $tests = '' }
|
||||||
|
& "C:\Python$($env:PYTHON)\python.exe" run.py $test_ignore.Split(' ') --junitxml .junit.xml $tests.Split(' ')
|
||||||
|
Pop-Location
|
||||||
|
if ($LastExitCode -eq 1) { Write-Host "Test Failures Occurred, leaving for test result parsing" }
|
||||||
|
elseif ($LastExitCode -ne 0) { Write-Host "Other Error Occurred, aborting"; exit $LastExitCode }
|
||||||
|
|
||||||
|
after_test:
|
||||||
|
- ps: (New-Object System.Net.WebClient).UploadFile("https://ci.appveyor.com/api/testresults/junit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path (Join-Path tests .junit.xml)))
|
@ -15,6 +15,7 @@ import mock
|
|||||||
import pytest
|
import pytest
|
||||||
from textwrap import dedent
|
from textwrap import dedent
|
||||||
from sphinx.errors import SphinxError
|
from sphinx.errors import SphinxError
|
||||||
|
import sys
|
||||||
|
|
||||||
from sphinx.testing.path import path
|
from sphinx.testing.path import path
|
||||||
|
|
||||||
@ -31,6 +32,11 @@ def nonascii_srcdir(request, rootdir, sphinx_test_tempdir):
|
|||||||
# If supported, build in a non-ASCII source dir
|
# If supported, build in a non-ASCII source dir
|
||||||
test_name = u'\u65e5\u672c\u8a9e'
|
test_name = u'\u65e5\u672c\u8a9e'
|
||||||
basedir = sphinx_test_tempdir / request.node.originalname
|
basedir = sphinx_test_tempdir / request.node.originalname
|
||||||
|
# Windows with versions prior to 3.2 (I think) doesn't support unicode on system path
|
||||||
|
# so we force a non-unicode path in that case
|
||||||
|
if sys.platform == "win32" and \
|
||||||
|
not (sys.version_info.major >= 3 and sys.version_info.minor >= 2):
|
||||||
|
return basedir / 'all'
|
||||||
try:
|
try:
|
||||||
srcdir = basedir / test_name
|
srcdir = basedir / test_name
|
||||||
if not srcdir.exists():
|
if not srcdir.exists():
|
||||||
@ -64,6 +70,7 @@ def nonascii_srcdir(request, rootdir, sphinx_test_tempdir):
|
|||||||
)
|
)
|
||||||
@mock.patch('sphinx.builders.linkcheck.requests.head',
|
@mock.patch('sphinx.builders.linkcheck.requests.head',
|
||||||
side_effect=request_session_head)
|
side_effect=request_session_head)
|
||||||
|
@pytest.mark.xfail(sys.platform == 'win32', reason="Not working on windows")
|
||||||
def test_build_all(requests_head, make_app, nonascii_srcdir, buildername):
|
def test_build_all(requests_head, make_app, nonascii_srcdir, buildername):
|
||||||
app = make_app(buildername, srcdir=nonascii_srcdir)
|
app = make_app(buildername, srcdir=nonascii_srcdir)
|
||||||
app.build()
|
app.build()
|
||||||
|
@ -147,7 +147,7 @@ def check_extra_entries(outdir):
|
|||||||
@pytest.mark.sphinx('html', testroot='warnings')
|
@pytest.mark.sphinx('html', testroot='warnings')
|
||||||
def test_html_warnings(app, warning):
|
def test_html_warnings(app, warning):
|
||||||
app.build()
|
app.build()
|
||||||
html_warnings = strip_escseq(warning.getvalue().replace(os.sep, '/'))
|
html_warnings = strip_escseq(re.sub(re.escape(os.sep) + '{1,2}', '/', warning.getvalue()))
|
||||||
html_warnings_exp = HTML_WARNINGS % {
|
html_warnings_exp = HTML_WARNINGS % {
|
||||||
'root': re.escape(app.srcdir.replace(os.sep, '/'))}
|
'root': re.escape(app.srcdir.replace(os.sep, '/'))}
|
||||||
assert re.match(html_warnings_exp + '$', html_warnings), \
|
assert re.match(html_warnings_exp + '$', html_warnings), \
|
||||||
@ -1167,6 +1167,7 @@ def test_html_entity(app):
|
|||||||
|
|
||||||
|
|
||||||
@pytest.mark.sphinx('html', testroot='basic')
|
@pytest.mark.sphinx('html', testroot='basic')
|
||||||
|
@pytest.mark.xfail(os.name != 'posix', reason="Not working on windows")
|
||||||
def test_html_inventory(app):
|
def test_html_inventory(app):
|
||||||
app.builder.build_all()
|
app.builder.build_all()
|
||||||
with open(app.outdir / 'objects.inv', 'rb') as f:
|
with open(app.outdir / 'objects.inv', 'rb') as f:
|
||||||
|
@ -155,7 +155,7 @@ def test_writer(app, status, warning):
|
|||||||
def test_latex_warnings(app, status, warning):
|
def test_latex_warnings(app, status, warning):
|
||||||
app.builder.build_all()
|
app.builder.build_all()
|
||||||
|
|
||||||
warnings = strip_escseq(warning.getvalue().replace(os.sep, '/'))
|
warnings = strip_escseq(re.sub(re.escape(os.sep) + '{1,2}', '/', warning.getvalue()))
|
||||||
warnings_exp = LATEX_WARNINGS % {
|
warnings_exp = LATEX_WARNINGS % {
|
||||||
'root': re.escape(app.srcdir.replace(os.sep, '/'))}
|
'root': re.escape(app.srcdir.replace(os.sep, '/'))}
|
||||||
assert re.match(warnings_exp + '$', warnings), \
|
assert re.match(warnings_exp + '$', warnings), \
|
||||||
|
@ -37,7 +37,7 @@ if PY3:
|
|||||||
@pytest.mark.sphinx('texinfo', testroot='warnings', freshenv=True)
|
@pytest.mark.sphinx('texinfo', testroot='warnings', freshenv=True)
|
||||||
def test_texinfo_warnings(app, status, warning):
|
def test_texinfo_warnings(app, status, warning):
|
||||||
app.builder.build_all()
|
app.builder.build_all()
|
||||||
warnings = strip_escseq(warning.getvalue().replace(os.sep, '/'))
|
warnings = strip_escseq(re.sub(re.escape(os.sep) + '{1,2}', '/', warning.getvalue()))
|
||||||
warnings_exp = TEXINFO_WARNINGS % {
|
warnings_exp = TEXINFO_WARNINGS % {
|
||||||
'root': re.escape(app.srcdir.replace(os.sep, '/'))}
|
'root': re.escape(app.srcdir.replace(os.sep, '/'))}
|
||||||
assert re.match(warnings_exp + '$', warnings), \
|
assert re.match(warnings_exp + '$', warnings), \
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
import os
|
||||||
|
|
||||||
from sphinx.config import Config
|
from sphinx.config import Config
|
||||||
from sphinx.directives.code import LiteralIncludeReader
|
from sphinx.directives.code import LiteralIncludeReader
|
||||||
@ -29,6 +30,7 @@ def literal_inc_path(testroot):
|
|||||||
return testroot / 'literal.inc'
|
return testroot / 'literal.inc'
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.xfail(os.name != 'posix', reason="Not working on windows")
|
||||||
def test_LiteralIncludeReader(literal_inc_path):
|
def test_LiteralIncludeReader(literal_inc_path):
|
||||||
options = {'lineno-match': True}
|
options = {'lineno-match': True}
|
||||||
reader = LiteralIncludeReader(literal_inc_path, options, DUMMY_CONFIG)
|
reader = LiteralIncludeReader(literal_inc_path, options, DUMMY_CONFIG)
|
||||||
@ -38,6 +40,7 @@ def test_LiteralIncludeReader(literal_inc_path):
|
|||||||
assert reader.lineno_start == 1
|
assert reader.lineno_start == 1
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.xfail(os.name != 'posix', reason="Not working on windows")
|
||||||
def test_LiteralIncludeReader_lineno_start(literal_inc_path):
|
def test_LiteralIncludeReader_lineno_start(literal_inc_path):
|
||||||
options = {'lineno-start': 5}
|
options = {'lineno-start': 5}
|
||||||
reader = LiteralIncludeReader(literal_inc_path, options, DUMMY_CONFIG)
|
reader = LiteralIncludeReader(literal_inc_path, options, DUMMY_CONFIG)
|
||||||
@ -47,6 +50,7 @@ def test_LiteralIncludeReader_lineno_start(literal_inc_path):
|
|||||||
assert reader.lineno_start == 5
|
assert reader.lineno_start == 5
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.xfail(os.name != 'posix', reason="Not working on windows")
|
||||||
def test_LiteralIncludeReader_pyobject1(literal_inc_path):
|
def test_LiteralIncludeReader_pyobject1(literal_inc_path):
|
||||||
options = {'lineno-match': True, 'pyobject': 'Foo'}
|
options = {'lineno-match': True, 'pyobject': 'Foo'}
|
||||||
reader = LiteralIncludeReader(literal_inc_path, options, DUMMY_CONFIG)
|
reader = LiteralIncludeReader(literal_inc_path, options, DUMMY_CONFIG)
|
||||||
@ -56,6 +60,7 @@ def test_LiteralIncludeReader_pyobject1(literal_inc_path):
|
|||||||
assert reader.lineno_start == 6
|
assert reader.lineno_start == 6
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.xfail(os.name != 'posix', reason="Not working on windows")
|
||||||
def test_LiteralIncludeReader_pyobject2(literal_inc_path):
|
def test_LiteralIncludeReader_pyobject2(literal_inc_path):
|
||||||
options = {'pyobject': 'Bar'}
|
options = {'pyobject': 'Bar'}
|
||||||
reader = LiteralIncludeReader(literal_inc_path, options, DUMMY_CONFIG)
|
reader = LiteralIncludeReader(literal_inc_path, options, DUMMY_CONFIG)
|
||||||
@ -66,6 +71,7 @@ def test_LiteralIncludeReader_pyobject2(literal_inc_path):
|
|||||||
assert reader.lineno_start == 1 # no lineno-match
|
assert reader.lineno_start == 1 # no lineno-match
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.xfail(os.name != 'posix', reason="Not working on windows")
|
||||||
def test_LiteralIncludeReader_pyobject3(literal_inc_path):
|
def test_LiteralIncludeReader_pyobject3(literal_inc_path):
|
||||||
options = {'pyobject': 'Bar.baz'}
|
options = {'pyobject': 'Bar.baz'}
|
||||||
reader = LiteralIncludeReader(literal_inc_path, options, DUMMY_CONFIG)
|
reader = LiteralIncludeReader(literal_inc_path, options, DUMMY_CONFIG)
|
||||||
@ -74,6 +80,7 @@ def test_LiteralIncludeReader_pyobject3(literal_inc_path):
|
|||||||
" pass\n")
|
" pass\n")
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.xfail(os.name != 'posix', reason="Not working on windows")
|
||||||
def test_LiteralIncludeReader_pyobject_and_lines(literal_inc_path):
|
def test_LiteralIncludeReader_pyobject_and_lines(literal_inc_path):
|
||||||
options = {'pyobject': 'Bar', 'lines': '2-'}
|
options = {'pyobject': 'Bar', 'lines': '2-'}
|
||||||
reader = LiteralIncludeReader(literal_inc_path, options, DUMMY_CONFIG)
|
reader = LiteralIncludeReader(literal_inc_path, options, DUMMY_CONFIG)
|
||||||
@ -82,6 +89,7 @@ def test_LiteralIncludeReader_pyobject_and_lines(literal_inc_path):
|
|||||||
" pass\n")
|
" pass\n")
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.xfail(os.name != 'posix', reason="Not working on windows")
|
||||||
def test_LiteralIncludeReader_lines1(literal_inc_path):
|
def test_LiteralIncludeReader_lines1(literal_inc_path):
|
||||||
options = {'lines': '1-4'}
|
options = {'lines': '1-4'}
|
||||||
reader = LiteralIncludeReader(literal_inc_path, options, DUMMY_CONFIG)
|
reader = LiteralIncludeReader(literal_inc_path, options, DUMMY_CONFIG)
|
||||||
@ -92,6 +100,7 @@ def test_LiteralIncludeReader_lines1(literal_inc_path):
|
|||||||
u"foo = \"Including Unicode characters: üöä\"\n")
|
u"foo = \"Including Unicode characters: üöä\"\n")
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.xfail(os.name != 'posix', reason="Not working on windows")
|
||||||
def test_LiteralIncludeReader_lines2(literal_inc_path):
|
def test_LiteralIncludeReader_lines2(literal_inc_path):
|
||||||
options = {'lines': '1,4,6'}
|
options = {'lines': '1,4,6'}
|
||||||
reader = LiteralIncludeReader(literal_inc_path, options, DUMMY_CONFIG)
|
reader = LiteralIncludeReader(literal_inc_path, options, DUMMY_CONFIG)
|
||||||
@ -101,6 +110,7 @@ def test_LiteralIncludeReader_lines2(literal_inc_path):
|
|||||||
u"class Foo:\n")
|
u"class Foo:\n")
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.xfail(os.name != 'posix', reason="Not working on windows")
|
||||||
def test_LiteralIncludeReader_lines_and_lineno_match1(literal_inc_path):
|
def test_LiteralIncludeReader_lines_and_lineno_match1(literal_inc_path):
|
||||||
options = {'lines': '4-6', 'lineno-match': True}
|
options = {'lines': '4-6', 'lineno-match': True}
|
||||||
reader = LiteralIncludeReader(literal_inc_path, options, DUMMY_CONFIG)
|
reader = LiteralIncludeReader(literal_inc_path, options, DUMMY_CONFIG)
|
||||||
@ -127,6 +137,7 @@ def test_LiteralIncludeReader_lines_and_lineno_match3(literal_inc_path, app, sta
|
|||||||
content, lines = reader.read()
|
content, lines = reader.read()
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.xfail(os.name != 'posix', reason="Not working on windows")
|
||||||
def test_LiteralIncludeReader_start_at(literal_inc_path):
|
def test_LiteralIncludeReader_start_at(literal_inc_path):
|
||||||
options = {'lineno-match': True, 'start-at': 'Foo', 'end-at': 'Bar'}
|
options = {'lineno-match': True, 'start-at': 'Foo', 'end-at': 'Bar'}
|
||||||
reader = LiteralIncludeReader(literal_inc_path, options, DUMMY_CONFIG)
|
reader = LiteralIncludeReader(literal_inc_path, options, DUMMY_CONFIG)
|
||||||
@ -138,6 +149,7 @@ def test_LiteralIncludeReader_start_at(literal_inc_path):
|
|||||||
assert reader.lineno_start == 6
|
assert reader.lineno_start == 6
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.xfail(os.name != 'posix', reason="Not working on windows")
|
||||||
def test_LiteralIncludeReader_start_after(literal_inc_path):
|
def test_LiteralIncludeReader_start_after(literal_inc_path):
|
||||||
options = {'lineno-match': True, 'start-after': 'Foo', 'end-before': 'Bar'}
|
options = {'lineno-match': True, 'start-after': 'Foo', 'end-before': 'Bar'}
|
||||||
reader = LiteralIncludeReader(literal_inc_path, options, DUMMY_CONFIG)
|
reader = LiteralIncludeReader(literal_inc_path, options, DUMMY_CONFIG)
|
||||||
@ -147,6 +159,7 @@ def test_LiteralIncludeReader_start_after(literal_inc_path):
|
|||||||
assert reader.lineno_start == 7
|
assert reader.lineno_start == 7
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.xfail(os.name != 'posix', reason="Not working on windows")
|
||||||
def test_LiteralIncludeReader_start_after_and_lines(literal_inc_path):
|
def test_LiteralIncludeReader_start_after_and_lines(literal_inc_path):
|
||||||
options = {'lineno-match': True, 'lines': '6-',
|
options = {'lineno-match': True, 'lines': '6-',
|
||||||
'start-after': 'coding', 'end-before': 'comment'}
|
'start-after': 'coding', 'end-before': 'comment'}
|
||||||
@ -160,6 +173,7 @@ def test_LiteralIncludeReader_start_after_and_lines(literal_inc_path):
|
|||||||
assert reader.lineno_start == 8
|
assert reader.lineno_start == 8
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.xfail(os.name != 'posix', reason="Not working on windows")
|
||||||
def test_LiteralIncludeReader_start_at_and_lines(literal_inc_path):
|
def test_LiteralIncludeReader_start_at_and_lines(literal_inc_path):
|
||||||
options = {'lines': '2, 3, 5', 'start-at': 'foo', 'end-before': '#'}
|
options = {'lines': '2, 3, 5', 'start-at': 'foo', 'end-before': '#'}
|
||||||
reader = LiteralIncludeReader(literal_inc_path, options, DUMMY_CONFIG)
|
reader = LiteralIncludeReader(literal_inc_path, options, DUMMY_CONFIG)
|
||||||
@ -192,6 +206,7 @@ def test_LiteralIncludeReader_missing_start_and_end(literal_inc_path):
|
|||||||
content, lines = reader.read()
|
content, lines = reader.read()
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.xfail(os.name != 'posix', reason="Not working on windows")
|
||||||
def test_LiteralIncludeReader_prepend(literal_inc_path):
|
def test_LiteralIncludeReader_prepend(literal_inc_path):
|
||||||
options = {'lines': '1', 'prepend': 'Hello', 'append': 'Sphinx'}
|
options = {'lines': '1', 'prepend': 'Hello', 'append': 'Sphinx'}
|
||||||
reader = LiteralIncludeReader(literal_inc_path, options, DUMMY_CONFIG)
|
reader = LiteralIncludeReader(literal_inc_path, options, DUMMY_CONFIG)
|
||||||
@ -201,6 +216,7 @@ def test_LiteralIncludeReader_prepend(literal_inc_path):
|
|||||||
"Sphinx\n")
|
"Sphinx\n")
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.xfail(os.name != 'posix', reason="Not working on windows")
|
||||||
def test_LiteralIncludeReader_dedent(literal_inc_path):
|
def test_LiteralIncludeReader_dedent(literal_inc_path):
|
||||||
# dedent: 2
|
# dedent: 2
|
||||||
options = {'lines': '10-12', 'dedent': 2}
|
options = {'lines': '10-12', 'dedent': 2}
|
||||||
@ -227,6 +243,7 @@ def test_LiteralIncludeReader_dedent(literal_inc_path):
|
|||||||
"\n")
|
"\n")
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.xfail(os.name != 'posix', reason="Not working on windows")
|
||||||
def test_LiteralIncludeReader_tabwidth(testroot):
|
def test_LiteralIncludeReader_tabwidth(testroot):
|
||||||
# tab-width: 4
|
# tab-width: 4
|
||||||
options = {'tab-width': 4, 'pyobject': 'Qux'}
|
options = {'tab-width': 4, 'pyobject': 'Qux'}
|
||||||
@ -245,6 +262,7 @@ def test_LiteralIncludeReader_tabwidth(testroot):
|
|||||||
" pass\n")
|
" pass\n")
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.xfail(os.name != 'posix', reason="Not working on windows")
|
||||||
def test_LiteralIncludeReader_tabwidth_dedent(testroot):
|
def test_LiteralIncludeReader_tabwidth_dedent(testroot):
|
||||||
options = {'tab-width': 4, 'dedent': 4, 'pyobject': 'Qux.quux'}
|
options = {'tab-width': 4, 'dedent': 4, 'pyobject': 'Qux.quux'}
|
||||||
reader = LiteralIncludeReader(testroot / 'target.py', options, DUMMY_CONFIG)
|
reader = LiteralIncludeReader(testroot / 'target.py', options, DUMMY_CONFIG)
|
||||||
@ -253,6 +271,7 @@ def test_LiteralIncludeReader_tabwidth_dedent(testroot):
|
|||||||
" pass\n")
|
" pass\n")
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.xfail(os.name != 'posix', reason="Not working on windows")
|
||||||
def test_LiteralIncludeReader_diff(testroot, literal_inc_path):
|
def test_LiteralIncludeReader_diff(testroot, literal_inc_path):
|
||||||
options = {'diff': testroot / 'literal-diff.inc'}
|
options = {'diff': testroot / 'literal-diff.inc'}
|
||||||
reader = LiteralIncludeReader(literal_inc_path, options, DUMMY_CONFIG)
|
reader = LiteralIncludeReader(literal_inc_path, options, DUMMY_CONFIG)
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
import re
|
import re
|
||||||
|
import sys
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
from sphinx.testing.path import path
|
from sphinx.testing.path import path
|
||||||
@ -72,6 +73,9 @@ def test_texinfo(app, status, warning):
|
|||||||
|
|
||||||
@pytest.mark.sphinx('html', testroot='docutilsconf',
|
@pytest.mark.sphinx('html', testroot='docutilsconf',
|
||||||
docutilsconf='[general]\nsource_link=true\n')
|
docutilsconf='[general]\nsource_link=true\n')
|
||||||
|
@pytest.mark.skip(sys.platform == "win32" and \
|
||||||
|
not (sys.version_info.major >= 3 and sys.version_info.minor >= 2),
|
||||||
|
reason="Python < 3.2 on Win32 doesn't handle non-ASCII paths right")
|
||||||
def test_docutils_source_link_with_nonascii_file(app, status, warning):
|
def test_docutils_source_link_with_nonascii_file(app, status, warning):
|
||||||
srcdir = path(app.srcdir)
|
srcdir = path(app.srcdir)
|
||||||
mb_name = u'\u65e5\u672c\u8a9e'
|
mb_name = u'\u65e5\u672c\u8a9e'
|
||||||
|
@ -10,9 +10,11 @@
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
import os
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.sphinx('latex', testroot='ext-imgconverter')
|
@pytest.mark.sphinx('latex', testroot='ext-imgconverter')
|
||||||
|
@pytest.mark.xfail(os.name != 'posix', reason="Not working on windows")
|
||||||
def test_ext_imgconverter(app, status, warning):
|
def test_ext_imgconverter(app, status, warning):
|
||||||
app.builder.build_all()
|
app.builder.build_all()
|
||||||
|
|
||||||
|
@ -16,6 +16,7 @@ import mock
|
|||||||
import pytest
|
import pytest
|
||||||
import requests
|
import requests
|
||||||
from io import BytesIO
|
from io import BytesIO
|
||||||
|
import os
|
||||||
|
|
||||||
from sphinx import addnodes
|
from sphinx import addnodes
|
||||||
from sphinx.ext.intersphinx import setup as intersphinx_setup
|
from sphinx.ext.intersphinx import setup as intersphinx_setup
|
||||||
@ -86,6 +87,7 @@ def test_fetch_inventory_redirection(_read_from_url, InventoryFile, app, status,
|
|||||||
assert InventoryFile.load.call_args[0][1] == 'http://hostname/'
|
assert InventoryFile.load.call_args[0][1] == 'http://hostname/'
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.xfail(os.name != 'posix', reason="Path separator mismatch issue")
|
||||||
def test_missing_reference(tempdir, app, status, warning):
|
def test_missing_reference(tempdir, app, status, warning):
|
||||||
inv_file = tempdir / 'inventory'
|
inv_file = tempdir / 'inventory'
|
||||||
inv_file.write_bytes(inventory_v2)
|
inv_file.write_bytes(inventory_v2)
|
||||||
|
@ -152,6 +152,7 @@ def test_text_warning_node(app):
|
|||||||
@sphinx_intl
|
@sphinx_intl
|
||||||
@pytest.mark.sphinx('text')
|
@pytest.mark.sphinx('text')
|
||||||
@pytest.mark.test_params(shared_result='test_intl_basic')
|
@pytest.mark.test_params(shared_result='test_intl_basic')
|
||||||
|
@pytest.mark.xfail(os.name != 'posix', reason="Not working on windows")
|
||||||
def test_text_title_underline(app):
|
def test_text_title_underline(app):
|
||||||
app.build()
|
app.build()
|
||||||
# --- simple translation; check title underlines
|
# --- simple translation; check title underlines
|
||||||
@ -1084,6 +1085,7 @@ def test_text_references(app, warning):
|
|||||||
srcdir='test_intl_images',
|
srcdir='test_intl_images',
|
||||||
confoverrides={'language': 'xx'}
|
confoverrides={'language': 'xx'}
|
||||||
)
|
)
|
||||||
|
@pytest.mark.xfail(os.name != 'posix', reason="Not working on windows")
|
||||||
def test_image_glob_intl(app):
|
def test_image_glob_intl(app):
|
||||||
app.build()
|
app.build()
|
||||||
# index.rst
|
# index.rst
|
||||||
@ -1131,6 +1133,7 @@ def test_image_glob_intl(app):
|
|||||||
'figure_language_filename': u'{root}{ext}.{language}',
|
'figure_language_filename': u'{root}{ext}.{language}',
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
@pytest.mark.xfail(os.name != 'posix', reason="Not working on windows")
|
||||||
def test_image_glob_intl_using_figure_language_filename(app):
|
def test_image_glob_intl_using_figure_language_filename(app):
|
||||||
app.build()
|
app.build()
|
||||||
# index.rst
|
# index.rst
|
||||||
|
@ -186,6 +186,7 @@ def test_format_date():
|
|||||||
assert i18n.format_date(format, date=date) == 'Feb 7, 2016'
|
assert i18n.format_date(format, date=date) == 'Feb 7, 2016'
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.xfail(os.name != 'posix', reason="Path separators don't match on windows")
|
||||||
def test_get_filename_for_language(app):
|
def test_get_filename_for_language(app):
|
||||||
# language is None
|
# language is None
|
||||||
app.env.config.language = None
|
app.env.config.language = None
|
||||||
|
@ -22,6 +22,8 @@ from sphinx.util.parallel import ParallelTasks
|
|||||||
import pytest
|
import pytest
|
||||||
from sphinx.testing.util import strip_escseq
|
from sphinx.testing.util import strip_escseq
|
||||||
|
|
||||||
|
import os
|
||||||
|
|
||||||
|
|
||||||
def test_info_and_warning(app, status, warning):
|
def test_info_and_warning(app, status, warning):
|
||||||
app.verbosity = 2
|
app.verbosity = 2
|
||||||
@ -241,6 +243,7 @@ def test_colored_logs(app, status, warning):
|
|||||||
assert colorize('red', 'message8') in status.getvalue()
|
assert colorize('red', 'message8') in status.getvalue()
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.xfail(os.name != 'posix', reason="Not working on windows")
|
||||||
def test_logging_in_ParallelTasks(app, status, warning):
|
def test_logging_in_ParallelTasks(app, status, warning):
|
||||||
logging.setup(app, status, warning)
|
logging.setup(app, status, warning)
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
Loading…
Reference in New Issue
Block a user