View Issue Details

IDProjectCategoryView StatusLast Update
0005361DarkRadiantDesign/Codingpublic26.10.2020 08:52
Reportergreebo Assigned Togreebo  
PrioritynormalSeveritynormalReproducibilityhave not tried
Status resolvedResolutionfixed 
PlatformLinux 
Product Version2.9.0 
Target Version2.9.0Fixed in Version2.9.0 
Summary0005361: Unit testing infrastructure (Linux)
DescriptionGoogle tests are supported in Windows/VC++ by running the tests through Visual Studio. This issue's target is to have the unit tests up and running in Linux/GCC.

- configure.ac should detect whether the libgtest-dev library is available
- Makefile.am adjustments
- Maybe removal of boost.test
TagsNo tags attached.

Relationships

related to 0005200 resolvedgreebo Unit testing infrastructure 

Activities

greebo

greebo

26.10.2020 08:52

administrator   ~0012832

It's now possible to run the unit tests after make install by invoking make check:

./configure
make
make install
make check

Related Changesets

DarkRadiant: master 52920389

2020-10-18 13:41:30

greebo

Details Diff
0005361: Start working on the automake files to compile the test executable Affected Issues
0005361
mod - Makefile.am Diff File
mod - configure.ac Diff File
add - test/Makefile.am Diff File

DarkRadiant: master 6bb4708e

2020-10-19 03:38:32

greebo

Details Diff
0005361: Rough implementation of the headless GL context module for Linux Affected Issues
0005361
mod - test/HeadlessOpenGLContext.cpp Diff File

DarkRadiant: master 32564499

2020-10-19 16:06:23

greebo

Details Diff
0005361: Module instance references automatically clear their cache once all modules have been uninitialised.
Since the core library is not unloaded from memory after calling dlclose() in Linux, no statics re-initialisation happens, so the references need to be safely cleared to allow the unit test sequence to run successfully.
Affected Issues
0005361
mod - include/imodule.h Diff File
mod - tools/msvc/properties/Tests.props Diff File

DarkRadiant: master dfe49ed2

2020-10-19 16:14:07

greebo

Details Diff
0005361: Makefile adjustments Affected Issues
0005361
mod - Makefile.am Diff File
mod - test/Makefile.am Diff File

DarkRadiant: master 993b1f1f

2020-10-19 17:15:23

greebo

Details Diff
0005361: Don't clear the list of registerable module creation functions, we need it multiple times in the test scenario in Linux (where modules are not unloaded and static initialisation doesn't occur more than once). Affected Issues
0005361
mod - libs/module/StaticModule.cpp Diff File
mod - libs/module/StaticModule.h Diff File

DarkRadiant: master 30ec4fa6

2020-10-24 05:02:04

greebo

Details Diff
0005361: Set up configure.ac to detect the gtest framework. Adjust automake files Affected Issues
0005361
mod - Makefile.am Diff File
mod - configure.ac Diff File
mod - radiant/Makefile.am Diff File
mod - test/Makefile.am Diff File
mod - test/RadiantTest.h Diff File

DarkRadiant: master 6f2428cb

2020-10-24 14:17:23

greebo

Details Diff
0005361: Set up the test resource path to work when run through "make check" Affected Issues
0005361
mod - test/Makefile.am Diff File
mod - test/TestContext.h Diff File

DarkRadiant: master 5ad7e9b3

2020-10-24 14:39:36

greebo

Details Diff
0005361: Fix crash running the unit test due to static EntitySettingsInstance not re-initialised between test runs Affected Issues
0005361
mod - radiantcore/entity/EntitySettings.cpp Diff File

DarkRadiant: master 9f8c6b92

2020-10-25 04:06:55

greebo

Details Diff
0005361: Tweak test makefile Affected Issues
0005361
mod - test/Makefile.am Diff File

DarkRadiant: master a28f4681

2020-10-25 05:33:41

greebo

Details Diff
0005361: Port the old Math tests to gtest Affected Issues
0005361
mod - test/Makefile.am Diff File
add - test/Math.cpp Diff File
mod - tools/msvc/Tests/Tests.vcxproj Diff File
mod - tools/msvc/Tests/Tests.vcxproj.filters Diff File

DarkRadiant: master 54974a8b

2020-10-25 09:17:00

greebo

Details Diff
0005361: Port some FacePlane tests to the gtest project. Affected Issues
0005361
mod - include/ibrush.h Diff File
mod - libs/math/Plane3.h Diff File
rm - radiant/test/facePlaneTest.cpp Diff File
mod - radiantcore/brush/Face.h Diff File
add - test/FacePlane.cpp Diff File
mod - test/Makefile.am Diff File
mod - test/Math.cpp Diff File
mod - test/RadiantTest.h Diff File
mod - tools/msvc/Tests/Tests.vcxproj Diff File
mod - tools/msvc/Tests/Tests.vcxproj.filters Diff File

DarkRadiant: master f58a1ab1

2020-10-25 09:41:19

greebo

Details Diff
0005361: Compilation fixes Affected Issues
0005361
mod - test/Math.cpp Diff File

DarkRadiant: master 54c03474

2020-10-25 10:34:54

greebo

Details Diff
0005361: Merge existing VfsTest into the main test project Affected Issues
0005361
rm - radiant/test/vfsTest.cpp Diff File
mod - test/CSG.cpp Diff File
mod - test/Makefile.am Diff File
add - test/VFS.cpp Diff File
mod - tools/msvc/Tests/Tests.vcxproj Diff File
mod - tools/msvc/Tests/Tests.vcxproj.filters Diff File

DarkRadiant: master 0a75b47f

2020-10-25 11:32:57

greebo

Details Diff
0005361: Migrate the rest of the unit tests to gtest. Affected Issues
0005361
mod - include/ishaders.h Diff File
rm - radiant/test/VFSFixture.h Diff File
rm - radiant/test/shadersTest.cpp Diff File
mod - radiantcore/shaders/CShader.cpp Diff File
mod - radiantcore/shaders/CShader.h Diff File
mod - test/Makefile.am Diff File
add - test/Materials.cpp Diff File
mod - tools/msvc/Tests/Tests.vcxproj Diff File
mod - tools/msvc/Tests/Tests.vcxproj.filters Diff File

DarkRadiant: master 47e6ce09

2020-10-25 11:45:31

greebo

Details Diff
0005361: Makefile cleanup Affected Issues
0005361
mod - radiant/Makefile.am Diff File

DarkRadiant: master 87cee81e

2020-10-26 03:18:21

greebo

Details Diff
0005361: Link libmodule statically we need separate instances of the StaticModuleList Affected Issues
0005361
mod - libs/module/Makefile.am Diff File
mod - radiantcore/Makefile.am Diff File

DarkRadiant: master 8fcccc53

2020-10-26 03:28:38

greebo

Details Diff
0005361: Refactor a few math tests Affected Issues
0005361
rm - libs/math/test/quaternionTest.cpp Diff File
rm - libs/math/test/vectorTest.cpp Diff File
mod - test/Math.cpp Diff File

DarkRadiant: master 273883b4

2020-10-26 03:33:51

greebo

Details Diff
0005361: Move math tests to subfolder, split into files Affected Issues
0005361
mod - test/Makefile.am Diff File
add - test/math/Quaternion.cpp Diff File
add - test/math/Vector3.cpp Diff File
mod - tools/msvc/Tests/Tests.vcxproj Diff File
mod - tools/msvc/Tests/Tests.vcxproj.filters Diff File

DarkRadiant: master f55616d9

2020-10-26 03:41:40

greebo

Details Diff
0005361: Migrate Plane3 tests to gtest Affected Issues
0005361
rm - libs/math/test/planeTest.cpp Diff File
mod - test/Makefile.am Diff File
add - test/math/Plane3.cpp Diff File
mod - tools/msvc/Tests/Tests.vcxproj Diff File
mod - tools/msvc/Tests/Tests.vcxproj.filters Diff File

DarkRadiant: master dc2aae5a

2020-10-26 03:45:55

greebo

Details Diff
0005361: Migrate remaining Matrix4 tests to gtest Affected Issues
0005361
mod - libs/math/Makefile.am Diff File
rm - libs/math/test/matrixTest.cpp Diff File
mod - test/math/Matrix4.cpp Diff File

Issue History

Date Modified Username Field Change
18.10.2020 13:40 greebo New Issue
18.10.2020 13:40 greebo Relationship added related to 0005200
18.10.2020 13:40 greebo Status new => confirmed
19.10.2020 16:06 greebo Changeset attached => DarkRadiant master 32564499
19.10.2020 17:13 greebo Changeset attached => DarkRadiant master 52920389
19.10.2020 17:13 greebo Changeset attached => DarkRadiant master 6bb4708e
19.10.2020 17:13 greebo Changeset attached => DarkRadiant master dfe49ed2
19.10.2020 17:15 greebo Changeset attached => DarkRadiant master 993b1f1f
24.10.2020 05:02 greebo Changeset attached => DarkRadiant master 30ec4fa6
24.10.2020 14:11 greebo Platform => Linux
24.10.2020 14:19 greebo Changeset attached => DarkRadiant master 6f2428cb
24.10.2020 14:39 greebo Changeset attached => DarkRadiant master 5ad7e9b3
25.10.2020 04:46 greebo Changeset attached => DarkRadiant master 9f8c6b92
25.10.2020 05:44 greebo Changeset attached => DarkRadiant master a28f4681
25.10.2020 09:19 greebo Changeset attached => DarkRadiant master 54974a8b
25.10.2020 09:41 greebo Changeset attached => DarkRadiant master f58a1ab1
25.10.2020 11:33 greebo Changeset attached => DarkRadiant master 54c03474
25.10.2020 11:33 greebo Changeset attached => DarkRadiant master 0a75b47f
25.10.2020 16:43 greebo Changeset attached => DarkRadiant master 47e6ce09
25.10.2020 17:11 greebo Assigned To => greebo
25.10.2020 17:11 greebo Status confirmed => assigned
26.10.2020 03:18 greebo Changeset attached => DarkRadiant master 87cee81e
26.10.2020 03:46 greebo Changeset attached => DarkRadiant master 8fcccc53
26.10.2020 03:46 greebo Changeset attached => DarkRadiant master 273883b4
26.10.2020 03:46 greebo Changeset attached => DarkRadiant master f55616d9
26.10.2020 03:46 greebo Changeset attached => DarkRadiant master dc2aae5a
26.10.2020 08:51 greebo Product Version => 2.9.0
26.10.2020 08:51 greebo Target Version => 2.9.0
26.10.2020 08:51 greebo Status assigned => resolved
26.10.2020 08:51 greebo Resolution open => fixed
26.10.2020 08:51 greebo Fixed in Version => 2.9.0
26.10.2020 08:52 greebo Note Added: 0012832