Repository navigation
Conversation
- main test executable: every test is now implemented in its own function (test_noise2, test_noise3, test_noise4); main() only selects and runs the tests (all of them or one by name). - Use the CTest framework: enable_testing() + add_test() per test, replacing the custom deployTest/test targets of the QuasarApp CMake module (the 'test' build target now invokes ctest). - The tests also range-check all 2D/3D/4D lattice orientation variants. - Update CI: the test target runs ctest, so the CQtDeployer deploy step is no longer needed. - Update the README tests section accordingly.
|
resolve conflicts please |
Task 39: Resolve merge conflicts with main (PR #33 / task_31) — work plan
|
…form benchmark (PR #33)
Conflicts resolved (merge with main / PR #33, task_31) — checklist
Resolution detailsCMakeLists.txt (auto-merged, verified): keeps both the -ffp-contract=off compile option of the noise library (added by PR #33 for bit-identical cross-platform benchmark results) and the enable_testing() that replaces initAll() from this PR. tests/CMakeLists.txt (manual resolution): keeps the CTest registration (add_test() per test function: test_noise2/test_noise3/test_noise4, replacing initTests()/addTests()) plus the cross-platform benchmark executable + OpenSimplex2_cross_platform_benchmark custom target from PR #33 (its comment about the test target was updated to match the CTest-based structure). Verification (local, Linux, CMake 3.28 / Ninja / GCC, Qt 6.12.0)cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -S . PNG artifacts land in build/tests/, source tree stays clean. |
EndrII
left a comment
There was a problem hiding this comment.
Aqt install is not required anymore in actions - for all actions
|
i left simple feedback |
|
@/tmp/checklist2.md |
Task 39: Remove the aqt Qt installation from all GitHub Actions workflows (review feedback)Feedback from @EndrII: "Aqt install is not required anymore in actions - for all actions" — the project is a plain C application (no Qt), the CTest refactor removed the CQtDeployer step, and QuasarApp.cmake only looks up qmake (non-fatal if absent — verified: configure prints qmake exec QMAKE_EXECUTABLE-NOTFOUND and continues).
|
aqt Qt install removed from all actions — summaryPer @EndrII review ("Aqt install is not required anymore in actions - for all actions"): the project is a plain C application (no Qt code), the CTest refactor already removed the CQtDeployer step, and submodule/CMake/QuasarApp.cmake only looks qmake up at configure time (non-fatal when absent), so every jurplel/install-qt-action (aqt) step was removed from both workflows. Changes (commit 18ecb67, 2 files, -72/+30):
Verification:
PR ready for re-review. |
Issue
Closes #38
What changed
Tests refactoring: added a main test executable where every test is implemented in its own function, and switched the test integration to the CTest framework (see "Testing With CMake and CTest", CMake documentation).
tests/test_OpenSimplex2F.cmain()is now the main test executable: it runs all tests, or a single test selected by name (OpenSimplex2tests test_noise3).test_noise2()-OpenSimplex2F_noise2image (test2d.png) +noise2_XBeforeYrange checktest_noise3()-OpenSimplex2F_noise3_Classicimage (test3d.png) +noise3_XYBeforeZ/noise3_XZBeforeYrange checkstest_noise4()- 3-octaveOpenSimplex2F_noise4_Classicimage (test4d.png) +noise4_XYBeforeZW/noise4_XZBeforeYW/noise4_XYZBeforeWrange checksCMake
CMakeLists.txt:enable_testing()replacesinitAll()(the QuasarApp customtesttarget name is reserved when CTest is enabled; the unused doc/deploy/release targets it created are gone).tests/CMakeLists.txt:initTests()/addTests()replaced withadd_test()per test function, each registered withWORKING_DIRECTORYset to the build dir (PNG artifacts no longer touch the source tree).CI
testbuild target now invokes CTest (3 tests), so the CQtDeployer install/deploy step was removed fromci.yml; thecmake --build build --target teststep stays unchanged.Verification (local, Linux, CMake 3.28 / Ninja / GCC)
Also verified:
ctest -Rfiltering, running the executable directly (all/one/unknown test), the legacy Makefile build+run, andOPENSIMPLEX2_TESTS=OFFconfigure.Checklist
enable_testing()+add_test()) used for the testsctestand thetestbuild target pass locally