@@ -0,0 +1,32 @@
|
||||
name: Pytest
|
||||
on: pull_request
|
||||
permissions:
|
||||
contents: read
|
||||
checks: write
|
||||
pull-requests: write
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
jobs:
|
||||
Test:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
cache: "pip"
|
||||
- name: Install dependencies
|
||||
run: pip install -r requirements.txt
|
||||
- name: Install failure annotation plugin
|
||||
run: pip install pytest-github-actions-annotate-failures
|
||||
- name: Test with pytest
|
||||
run: |
|
||||
set -o pipefail
|
||||
pytest --junitxml=pytest.xml --cov-report=term-missing:skip-covered --cov-report=html --cov | tee pytest-coverage.txt
|
||||
- name: Comment pytest code coverage
|
||||
uses: MishaKav/pytest-coverage-comment@main
|
||||
if: ${{ always() }}
|
||||
with:
|
||||
pytest-coverage-path: ./pytest-coverage.txt
|
||||
junitxml-path: ./pytest.xml
|
||||
@@ -4,13 +4,17 @@ concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
jobs:
|
||||
ruff:
|
||||
Check:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: astral-sh/ruff-action@v3
|
||||
with:
|
||||
args: check --output-format=github
|
||||
Format:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: astral-sh/ruff-action@v3
|
||||
with:
|
||||
args: format --diff
|
||||
args: format --check --diff
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import json
|
||||
|
||||
import pytest
|
||||
from bs4 import BeautifulSoup
|
||||
from jinja2 import Environment, FileSystemLoader
|
||||
from mistletoe import Document
|
||||
@@ -76,6 +77,8 @@ def include_stub(include):
|
||||
return includes.get(include)
|
||||
|
||||
|
||||
@pytest.mark.skip("Requires special files")
|
||||
@pytest.mark.html
|
||||
def test_html(capsys):
|
||||
with capsys.disabled():
|
||||
with open("test/acceptanceTest.md") as file:
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import json
|
||||
import random
|
||||
|
||||
import pytest
|
||||
from jinja2 import Environment, FileSystemLoader
|
||||
from mistletoe import Document
|
||||
|
||||
@@ -88,6 +89,8 @@ slide_template = env.get_template("slide/slide.html")
|
||||
questions = parse_katalog()
|
||||
|
||||
|
||||
@pytest.mark.skip("Requires special files")
|
||||
@pytest.mark.slide
|
||||
def test_html_slides(capsys):
|
||||
with capsys.disabled():
|
||||
with open("test/acceptanceTestSlides.md") as file:
|
||||
|
||||
@@ -25,6 +25,7 @@ def test_question_html():
|
||||
assert renderer.render(Document(assertion)) == assertions[assertion]
|
||||
|
||||
|
||||
@pytest.mark.skip("Requires special files")
|
||||
@pytest.mark.html
|
||||
def test_question_translation_html():
|
||||
assertions = {
|
||||
|
||||
Reference in New Issue
Block a user