Skip to content

Commit 3db3d44

Browse files
authored
Rewrite test suite to pytest & run CTest (#25)
1 parent 57d14ec commit 3db3d44

13 files changed

Lines changed: 115 additions & 195 deletions

.github/workflows/ci.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ jobs:
1515
make:
1616
name: "${{ matrix.os }} with make"
1717
runs-on: "${{ matrix.os }}"
18+
timeout-minutes: 15
1819
strategy:
1920
fail-fast: false
2021
matrix:
@@ -40,10 +41,20 @@ jobs:
4041
env:
4142
CC: gcc
4243
CXX: g++
44+
- name: Set up Python for tests
45+
uses: actions/setup-python@v6
46+
with:
47+
python-version: '3.14'
48+
cache: 'pip'
49+
- name: Install test dependencies
50+
run: pip install -r requirements.txt
51+
- name: Test
52+
run: make test
4353

4454
cmake:
4555
name: "${{ matrix.os }} with cmake"
4656
runs-on: "${{ matrix.os }}"
57+
timeout-minutes: 15
4758
strategy:
4859
fail-fast: false
4960
matrix:
@@ -61,6 +72,15 @@ jobs:
6172
run: |
6273
cmake -B build
6374
cmake --build build -j${{ steps.cpu-cores.outputs.count }}
75+
- name: Set up Python for tests
76+
uses: actions/setup-python@v6
77+
with:
78+
python-version: '3.14'
79+
cache: 'pip'
80+
- name: Install test dependencies
81+
run: pip install -r requirements.txt
82+
- name: Test
83+
run: ctest --test-dir build --verbose
6484

6585
# A dummy job that you can mark as a required check instead of each individual test
6686
test-suite:

CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -731,3 +731,6 @@ add_custom_command(TARGET doc-for-web POST_BUILD
731731
${PROJECT_SOURCE_DIR}/Documentation/es/documentation-es
732732
${PROJECT_BINARY_DIR}/doc/es/documentation-es
733733
)
734+
735+
include(CTest)
736+
add_test(NAME pytest COMMAND pytest -vv ${CMAKE_SOURCE_DIR}/tests)

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,8 @@ clean:
109109
clean-sqlite-shell:
110110
make -C Storage/sqlite clean
111111

112-
test:
113-
make -C test
112+
test: railcontrol
113+
pytest -vv
114114

115115
tools:
116116
make -C tools

requirements.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
pytest
2+
requests

test/Makefile

Lines changed: 0 additions & 18 deletions
This file was deleted.

test/functions.php

Lines changed: 0 additions & 52 deletions
This file was deleted.

test/startrailcontrol.sh

Lines changed: 0 additions & 5 deletions
This file was deleted.

test/stoprailcontrol.sh

Lines changed: 0 additions & 11 deletions
This file was deleted.

test/testconfig.conf

Lines changed: 0 additions & 13 deletions
This file was deleted.

test/testcontrols.php

Lines changed: 0 additions & 70 deletions
This file was deleted.

0 commit comments

Comments
 (0)