Skip to content

Commit 9668b02

Browse files
committed
Add tests
1 parent a431b9b commit 9668b02

File tree

12 files changed

+94
-1
lines changed

12 files changed

+94
-1
lines changed

.github/workflows/ci.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,15 @@ jobs:
7474
export UBUNTU=${{ matrix.ubuntu }}
7575
export TAG=ghcr.io/rectalogic/renderwindow:${UBUNTU}-${{ github.ref_name }}
7676
builders/Linux/docker-run.sh
77+
builders/Linux/docker-run.sh /renderwindow/builders/renderwindow-test.sh --verbose
7778
- name: Build renderwindow vulkan
7879
if: matrix.ubuntu == 'noble'
7980
run: |
8081
export TARGET=vulkan
8182
export UBUNTU=${{ matrix.ubuntu }}
8283
export TAG=ghcr.io/rectalogic/renderwindow:${UBUNTU}-${{ github.ref_name }}
8384
builders/Linux/docker-run.sh
85+
builders/Linux/docker-run.sh /renderwindow/builders/renderwindow-test.sh --verbose
8486
- name: Archive
8587
id: archive
8688
if: github.ref_type == 'tag' && matrix.ubuntu == 'noble'
@@ -127,6 +129,7 @@ jobs:
127129
- name: Build renderwindow
128130
run: |
129131
builders/renderwindow-build.sh
132+
builders/renderwindow-test.sh --verbose
130133
- name: Archive
131134
id: archive
132135
if: github.ref_type == 'tag'

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,4 @@ add_compile_options($<$<CONFIG:Debug>:-fsanitize=address>)
2121
add_link_options($<$<CONFIG:Debug>:-fsanitize=address>)
2222

2323
add_subdirectory(MediaFX/RenderWindow)
24+
add_subdirectory(tests)

MediaFX/RenderWindow/render_window.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@ RenderWindow::RenderWindow()
4545
m_isValid = true;
4646
}
4747

48-
RenderWindow::~RenderWindow() {
48+
RenderWindow::~RenderWindow()
49+
{
4950
if (m_animationDriver)
5051
m_animationDriver->uninstall();
5152
}

builders/renderwindow-test.sh

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#!/usr/bin/env bash
2+
# Copyright (C) 2025 Andrew Wason
3+
# SPDX-License-Identifier: GPL-3.0-or-later
4+
5+
CURRENT=${BASH_SOURCE%/*}
6+
source "$CURRENT/versions"
7+
8+
BUILD_TYPE=${BUILD_TYPE:-Release}
9+
ctest --test-dir "${BUILD_ROOT}/${BUILD_TYPE}" --output-on-failure "${@}" || exit 1

tests/CMakeLists.txt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Copyright (C) 2025 Andrew Wason
2+
# SPDX-License-Identifier: GPL-3.0-or-later
3+
4+
find_package(Qt6 REQUIRED COMPONENTS Test)
5+
6+
set(CMAKE_INCLUDE_CURRENT_DIR ON)
7+
set(CMAKE_AUTOMOC ON)
8+
9+
qt_add_executable(tst_render tst_render.cpp)
10+
add_test(NAME tst_render COMMAND tst_render)
11+
target_link_libraries(tst_render PRIVATE Qt6::Quick Qt::Test)

tests/Render.qml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import QtQuick
2+
import MediaFX.RenderWindow
3+
4+
RenderWindow {
5+
width: 100
6+
height: 100
7+
8+
Rectangle {
9+
width: 60
10+
height: 40
11+
color: "green"
12+
anchors.centerIn: parent
13+
RotationAnimation on rotation {
14+
duration: 1000
15+
from: 0
16+
to: 90
17+
}
18+
}
19+
}

tests/fixtures/render-0.png

354 Bytes
Loading

tests/fixtures/render-1.png

630 Bytes
Loading

tests/fixtures/render-2.png

704 Bytes
Loading

tests/fixtures/render-3.png

613 Bytes
Loading

0 commit comments

Comments
 (0)