mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
This PR allows to serve JavaScript test fixtures using a fixture-based logic as for Python tests. Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
35 lines
920 B
Python
Executable File
35 lines
920 B
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
import subprocess
|
|
from pathlib import Path
|
|
|
|
SPHINX_ROOT = Path(__file__).resolve().parent.parent
|
|
TEST_JS_FIXTURES = SPHINX_ROOT / 'tests' / 'js' / 'fixtures'
|
|
TEST_JS_ROOTS = SPHINX_ROOT / 'tests' / 'js' / 'roots'
|
|
|
|
|
|
def build(srcdir: Path) -> None:
|
|
cmd = (
|
|
'sphinx-build',
|
|
'--fresh-env',
|
|
'--quiet',
|
|
*('--builder', 'html'),
|
|
f'{srcdir}',
|
|
f'{srcdir}/_build',
|
|
)
|
|
subprocess.run(cmd, check=True, capture_output=True)
|
|
|
|
|
|
for directory in TEST_JS_ROOTS.iterdir():
|
|
searchindex = directory / '_build' / 'searchindex.js'
|
|
destination = TEST_JS_FIXTURES / directory.name / 'searchindex.js'
|
|
|
|
print(f'Building {directory} ... ', end='')
|
|
build(directory)
|
|
print('done')
|
|
|
|
print(f'Moving {searchindex} to {destination} ... ', end='')
|
|
destination.parent.mkdir(exist_ok=True)
|
|
searchindex.replace(destination)
|
|
print('done')
|