@@ -18,28 +18,32 @@ jobs:
1818 - name : Install dependencies
1919 run : |
2020 sudo apt-get update
21- sudo apt-get install -y xvfb libsdl2-dev
21+ sudo apt-get install -y xvfb libsdl2-dev x11-xserver-utils xdotool
2222
2323 - name : Configure
2424 run : |
2525 mkdir build
2626 cd build
27- cmake ..
27+ cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_HEADLESS_TESTS=ON
2828
2929 - name : Build
3030 run : |
3131 cd build
32- cmake --build .
32+ cmake --build . --config Release
3333
3434 - name : Run unit tests
3535 run : |
36- cd build
37- ./tests/ RobotCPPTest
36+ cd build/bin
37+ ./RobotCPPTest
3838
39- - name : Run functional tests with Xvfb
39+ - name : Run SDL tests with Xvfb
4040 run : |
41- cd build
42- xvfb-run --auto-servernum --server-args='-screen 0 1280x720x24' ./tests/RobotCPPSDLTest --headless --run-tests
41+ cd build/bin
42+ Xvfb :99 -screen 0 1280x720x24 &
43+ export DISPLAY=:99
44+ sleep 2 # Wait for Xvfb to start
45+ xset -display :99 s off -dpms # Disable screen saver
46+ ./RobotCPPSDLTest --ci-mode --run-tests
4347
4448 test-macos :
4549 runs-on : macos-latest
@@ -57,18 +61,24 @@ jobs:
5761 run : |
5862 mkdir build
5963 cd build
60- cmake ..
64+ cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_HEADLESS_TESTS=ON
6165
6266 - name : Build
6367 run : |
6468 cd build
65- cmake --build .
69+ cmake --build . --config Release
6670
67- - name : Run tests
71+ - name : Run unit tests
6872 run : |
69- cd build
70- ./tests/RobotCPPTest
71- ./tests/RobotCPPSDLTest --headless --run-tests
73+ cd build/bin
74+ ./RobotCPPTest
75+
76+ - name : Run SDL tests in CI mode
77+ run : |
78+ cd build/bin
79+ # macOS needs special handling for mouse automation in headless mode
80+ # We'll use the CI mode flag we're adding to the test application
81+ ./RobotCPPSDLTest --ci-mode --run-tests
7282
7383 test-windows :
7484 runs-on : windows-latest
@@ -92,17 +102,22 @@ jobs:
92102 run : |
93103 mkdir build
94104 cd build
95- cmake .. -DCMAKE_TOOLCHAIN_FILE=$env:VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake
105+ cmake .. -DCMAKE_TOOLCHAIN_FILE=$env:VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_HEADLESS_TESTS=ON
96106
97107 - name : Build
98108 shell : powershell
99109 run : |
100110 cd build
101111 cmake --build . --config Release
102112
103- - name : Run tests
113+ - name : Run unit tests
114+ shell : powershell
115+ run : |
116+ cd build\bin\Release
117+ .\RobotCPPTest.exe
118+
119+ - name : Run SDL tests in CI mode
104120 shell : powershell
105121 run : |
106- cd build/tests/Release
107- ./RobotCPPTest.exe
108- ./RobotCPPSDLTest.exe --headless --run-tests
122+ cd build\bin\Release
123+ .\RobotCPPSDLTest.exe --ci-mode --run-tests
0 commit comments