From 771dd6f9abe29c1d24c5ea8f0e7ca949bc24f84d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Thu, 14 Apr 2016 01:23:54 +0200 Subject: NOISSUE reorganize unit tests to be placed next to the code they test. Nuke more dead tests. --- api/logic/CMakeLists.txt | 220 ++++++++++++++++++++++++++++++++++++----------- 1 file changed, 170 insertions(+), 50 deletions(-) (limited to 'api/logic/CMakeLists.txt') diff --git a/api/logic/CMakeLists.txt b/api/logic/CMakeLists.txt index abae7b90..b534f970 100644 --- a/api/logic/CMakeLists.txt +++ b/api/logic/CMakeLists.txt @@ -1,6 +1,8 @@ project(MultiMC_logic) -set(LOGIC_SOURCES +include (UnitTest) + +set(CORE_SOURCES # LOGIC - Base classes and infrastructure BaseInstaller.h BaseInstaller.cpp @@ -42,12 +44,6 @@ set(LOGIC_SOURCES # a smart pointer wrapper intended for safer use with Qt signal/slot mechanisms QObjectPtr.h - # Path matchers - pathmatcher/FSTreeMatcher.h - pathmatcher/IPathMatcher.h - pathmatcher/MultiMatcher.h - pathmatcher/RegexpMatcher.h - # Compression support GZip.h GZip.cpp @@ -60,6 +56,31 @@ set(LOGIC_SOURCES Version.h Version.cpp + # A Recursive file system watcher + RecursiveFileSystemWatcher.h + RecursiveFileSystemWatcher.cpp +) + +add_unit_test(FileSystem + SOURCES FileSystem_test.cpp + LIBS MultiMC_logic + DATA testdata + ) + +add_unit_test(GZip + SOURCES GZip_test.cpp + LIBS MultiMC_logic + ) + +set(PATHMATCHER_SOURCES + # Path matchers + pathmatcher/FSTreeMatcher.h + pathmatcher/IPathMatcher.h + pathmatcher/MultiMatcher.h + pathmatcher/RegexpMatcher.h +) + +set(NET_SOURCES # network stuffs net/NetAction.h net/MD5EtagDownload.h @@ -76,24 +97,10 @@ set(LOGIC_SOURCES net/PasteUpload.cpp net/URLConstants.h net/URLConstants.cpp +) - # Yggdrasil login stuff - minecraft/auth/AuthSession.h - minecraft/auth/AuthSession.cpp - minecraft/auth/MojangAccountList.h - minecraft/auth/MojangAccountList.cpp - minecraft/auth/MojangAccount.h - minecraft/auth/MojangAccount.cpp - minecraft/auth/YggdrasilTask.h - minecraft/auth/YggdrasilTask.cpp - minecraft/auth/flows/AuthenticateTask.h - minecraft/auth/flows/AuthenticateTask.cpp - minecraft/auth/flows/RefreshTask.cpp - minecraft/auth/flows/RefreshTask.cpp - minecraft/auth/flows/ValidateTask.h - minecraft/auth/flows/ValidateTask.cpp - - # Game launch logic +# Game launch logic +set(LAUNCH_SOURCES launch/steps/PostLaunchCommand.cpp launch/steps/PostLaunchCommand.h launch/steps/PreLaunchCommand.cpp @@ -110,30 +117,70 @@ set(LOGIC_SOURCES launch/LoggedProcess.h launch/MessageLevel.cpp launch/MessageLevel.h +) - # Update system +# Old update system +set(UPDATE_SOURCES updater/GoUpdate.h updater/GoUpdate.cpp updater/UpdateChecker.h updater/UpdateChecker.cpp updater/DownloadTask.h updater/DownloadTask.cpp +) + +add_unit_test(UpdateChecker + SOURCES updater/UpdateChecker_test.cpp + LIBS MultiMC_logic + DATA updater/testdata + ) + +add_unit_test(DownloadTask + SOURCES updater/DownloadTask_test.cpp + LIBS MultiMC_logic + DATA updater/testdata + ) +# Rarely used notifications +set(NOTIFICATIONS_SOURCES # Notifications - short warning messages notifications/NotificationChecker.h notifications/NotificationChecker.cpp +) +# Backend for the news bar... there's usually no news. +set(NEWS_SOURCES # News System news/NewsChecker.h news/NewsChecker.cpp news/NewsEntry.h news/NewsEntry.cpp +) +# Minecraft services status checker +set(STATUS_SOURCES # Status system status/StatusChecker.h status/StatusChecker.cpp +) +# Support for Minecraft instances and launch +set(MINECRAFT_SOURCES # Minecraft support + minecraft/auth/AuthSession.h + minecraft/auth/AuthSession.cpp + minecraft/auth/MojangAccountList.h + minecraft/auth/MojangAccountList.cpp + minecraft/auth/MojangAccount.h + minecraft/auth/MojangAccount.cpp + minecraft/auth/YggdrasilTask.h + minecraft/auth/YggdrasilTask.cpp + minecraft/auth/flows/AuthenticateTask.h + minecraft/auth/flows/AuthenticateTask.cpp + minecraft/auth/flows/RefreshTask.cpp + minecraft/auth/flows/RefreshTask.cpp + minecraft/auth/flows/ValidateTask.h + minecraft/auth/flows/ValidateTask.cpp minecraft/onesix/OneSixUpdate.h minecraft/onesix/OneSixUpdate.cpp minecraft/onesix/OneSixInstance.h @@ -201,17 +248,67 @@ set(LOGIC_SOURCES minecraft/ftb/FTBPlugin.h minecraft/ftb/FTBPlugin.cpp - # A Recursive file system watcher - RecursiveFileSystemWatcher.h - RecursiveFileSystemWatcher.cpp + # Assets + minecraft/AssetsUtils.h + minecraft/AssetsUtils.cpp - # the screenshots feature + # Forge and all things forge related + minecraft/forge/ForgeVersion.h + minecraft/forge/ForgeVersion.cpp + minecraft/forge/ForgeVersionList.h + minecraft/forge/ForgeVersionList.cpp + minecraft/forge/ForgeXzDownload.h + minecraft/forge/ForgeXzDownload.cpp + minecraft/forge/LegacyForge.h + minecraft/forge/LegacyForge.cpp + minecraft/forge/ForgeInstaller.h + minecraft/forge/ForgeInstaller.cpp + + # Liteloader and related things + minecraft/liteloader/LiteLoaderInstaller.h + minecraft/liteloader/LiteLoaderInstaller.cpp + minecraft/liteloader/LiteLoaderVersionList.h + minecraft/liteloader/LiteLoaderVersionList.cpp +) + +add_unit_test(GradleSpecifier + SOURCES minecraft/GradleSpecifier_test.cpp + LIBS MultiMC_logic + ) + +add_unit_test(MojangVersionFormat + SOURCES minecraft/MojangVersionFormat_test.cpp + LIBS MultiMC_logic + DATA minecraft/testdata + ) + +add_unit_test(Library + SOURCES minecraft/Library_test.cpp + LIBS MultiMC_logic + ) + +# FIXME: shares data with FileSystem test +add_unit_test(ModList + SOURCES minecraft/ModList_test.cpp + DATA testdata + LIBS MultiMC_logic + ) + +add_unit_test(ParseUtils + SOURCES minecraft/ParseUtils_test.cpp + LIBS MultiMC_logic + ) + +# the screenshots feature +set(SCREENSHOTS_SOURCES screenshots/Screenshot.h screenshots/ImgurUpload.h screenshots/ImgurUpload.cpp screenshots/ImgurAlbumCreation.h screenshots/ImgurAlbumCreation.cpp +) +set(TASKS_SOURCES # Tasks tasks/Task.h tasks/Task.cpp @@ -219,7 +316,9 @@ set(LOGIC_SOURCES tasks/ThreadTask.cpp tasks/SequentialTask.h tasks/SequentialTask.cpp +) +set(SETTINGS_SOURCES # Settings settings/INIFile.cpp settings/INIFile.h @@ -233,7 +332,14 @@ set(LOGIC_SOURCES settings/Setting.h settings/SettingsObject.cpp settings/SettingsObject.h +) + +add_unit_test(INIFile + SOURCES settings/INIFile_test.cpp + LIBS MultiMC_logic + ) +set(JAVA_SOURCES # Java related code java/launch/CheckJava.cpp java/launch/CheckJava.h @@ -249,33 +355,20 @@ set(LOGIC_SOURCES java/JavaUtils.cpp java/JavaVersion.h java/JavaVersion.cpp +) - # Assets - minecraft/AssetsUtils.h - minecraft/AssetsUtils.cpp - - # Forge and all things forge related - minecraft/forge/ForgeVersion.h - minecraft/forge/ForgeVersion.cpp - minecraft/forge/ForgeVersionList.h - minecraft/forge/ForgeVersionList.cpp - minecraft/forge/ForgeXzDownload.h - minecraft/forge/ForgeXzDownload.cpp - minecraft/forge/LegacyForge.h - minecraft/forge/LegacyForge.cpp - minecraft/forge/ForgeInstaller.h - minecraft/forge/ForgeInstaller.cpp - - # Liteloader and related things - minecraft/liteloader/LiteLoaderInstaller.h - minecraft/liteloader/LiteLoaderInstaller.cpp - minecraft/liteloader/LiteLoaderVersionList.h - minecraft/liteloader/LiteLoaderVersionList.cpp +add_unit_test(JavaVersion + SOURCES java/JavaVersion_test.cpp + LIBS MultiMC_logic + ) +set(TRANSLATIONS_SOURCES # Translations trans/TranslationDownloader.h trans/TranslationDownloader.cpp +) +set(TOOLS_SOURCES # Tools tools/BaseExternalTool.cpp tools/BaseExternalTool.h @@ -287,7 +380,9 @@ set(LOGIC_SOURCES tools/JVisualVM.h tools/MCEditTool.cpp tools/MCEditTool.h +) +set(WONKO_SOURCES # Wonko wonko/tasks/BaseWonkoEntityRemoteLoadTask.cpp wonko/tasks/BaseWonkoEntityRemoteLoadTask.h @@ -310,11 +405,36 @@ set(LOGIC_SOURCES wonko/WonkoReference.cpp wonko/WonkoReference.h ) + +add_unit_test(WonkoIndex + SOURCES wonko/WonkoIndex_test.cpp + LIBS MultiMC_logic + ) + ################################ COMPILE ################################ # we need zlib find_package(ZLIB REQUIRED) +set(LOGIC_SOURCES + ${CORE_SOURCES} + ${PATHMATCHER_SOURCES} + ${NET_SOURCES} + ${LAUNCH_SOURCES} + ${UPDATE_SOURCES} + ${NOTIFICATIONS_SOURCES} + ${NEWS_SOURCES} + ${STATUS_SOURCES} + ${MINECRAFT_SOURCES} + ${SCREENSHOTS_SOURCES} + ${TASKS_SOURCES} + ${SETTINGS_SOURCES} + ${JAVA_SOURCES} + ${TRANSLATIONS_SOURCES} + ${TOOLS_SOURCES} + ${WONKO_SOURCES} +) + add_library(MultiMC_logic SHARED ${LOGIC_SOURCES}) set_target_properties(MultiMC_logic PROPERTIES CXX_VISIBILITY_PRESET hidden VISIBILITY_INLINES_HIDDEN 1) -- cgit v1.2.3