Switched from "run-tests.sh" script to package manager scripts

This commit is contained in:
2025-04-29 14:33:17 +01:00
parent e8dcfa3c82
commit 5285471636
4 changed files with 41 additions and 23 deletions

View File

@@ -34,6 +34,11 @@ invenio-config-iform = { path = "wheel/invenio_config_iform-0.13.1-py3-none-any.
Homepage = "https://github.com/Cian-H/invenio-theme-iform"
Issues = "https://github.com/Cian-H/invenio-theme-iform/issues"
[project.scripts]
test-docs = "scripts.test_docs:main"
test-code = "pytest:console_main"
test = "scripts.test:main"
[dependency-groups]
tests = [
"invenio-app>=1.3.4,<2.0.0",

View File

@@ -1,23 +0,0 @@
#!/usr/bin/env bash
# -*- coding: utf-8 -*-
#
# Copyright (C) 2019-2020 CERN.
# Copyright (C) 2019-2020 Northwestern University.
# Copyright (C) 2020-2021 Graz University of Technology.
#
# invenio-theme-iform is free software; you can redistribute it and/or
# modify it under the terms of the MIT License; see LICENSE file for more
# details.
# Quit on errors
set -o errexit
# Quit on unbound symbols
set -o nounset
python -m sphinx.cmd.build -qnN docs docs/_build/html
python -m pytest
tests_exit_code=$?
python -m sphinx.cmd.build -qnN -b doctest docs docs/_build/doctest
exit "$tests_exit_code"

19
scripts/test.py Normal file
View File

@@ -0,0 +1,19 @@
# -*- coding: utf-8 -*-
#
# Copyright (C) 2025 I-Form Advanced Manufacturing Research Centre.
#
# invenio-config-iform is free software; you can redistribute it and/or
# modify it under the terms of the MIT License; see LICENSE file for more
# details.
"""Run all tests for this module consecutively."""
import pytest
from . import test_docs
def main() -> None:
"""Run tests for this module."""
test_docs.main()
pytest.console_main()

17
scripts/test_docs.py Normal file
View File

@@ -0,0 +1,17 @@
# -*- coding: utf-8 -*-
#
# Copyright (C) 2025 I-Form Advanced Manufacturing Research Centre.
#
# invenio-config-iform is free software; you can redistribute it and/or
# modify it under the terms of the MIT License; see LICENSE file for more
# details.
"""A script for testing sphinx documentation building."""
from sphinx.cmd.build import main as build_docs
def main() -> None:
"""Attempt to build documentation."""
build_docs(["-nN", "docs", "docs/_build/html"])
build_docs(["-nN", "-b", "doctest", "docs", "docs/_build/doctest"])