diff --git a/doc/en/weechat_dev.en.adoc b/doc/en/weechat_dev.en.adoc
index f28d1c99a..dc3f9b5ed 100644
--- a/doc/en/weechat_dev.en.adoc
+++ b/doc/en/weechat_dev.en.adoc
@@ -91,11 +91,11 @@ The main WeeChat directories are:
| typing/ | Typing plugin.
| xfer/ | Xfer plugin (IRC DCC file/chat).
| tests/ | Tests.
-| scripts/ | Scripting API tests.
-| python/ | Python scripts to generate and run the scripting API tests.
| unit/ | Unit tests.
| core/ | Unit tests for core functions.
| gui/ | Unit tests for interfaces functions.
+| scripts/ | Scripting API tests.
+| python/ | Python scripts to generate and run the scripting API tests.
| plugins/ | Unit tests for plugins.
| irc/ | Unit tests for IRC plugin.
| trigger/ | Unit tests for trigger plugin.
@@ -408,18 +408,9 @@ WeeChat "core" is located in following directories:
|===
| Path/file | Description
| tests/ | Root of tests.
-| tests.cpp | Program used to run all tests.
-| tests-record.cpp | Record and search in messages displayed.
-| scripts/ | Root of scripting API tests.
-| test-scripts.cpp | Program used to run the scripting API tests.
-| python/ | Python scripts to generate and run the scripting API tests.
-| testapigen.py | Python script generating scripts in all languages to test the scripting API.
-| testapi.py | Python script with scripting API tests, used by script testapigen.py.
-| unparse.py | Convert Python code to other languages, used by script testapigen.py.
| unit/ | Root of unit tests.
-| test-plugins.cpp | Tests: plugins.
-| test-plugin-api-info.cpp | Tests: plugin API info functions.
-| test-plugin-config.cpp | Tests: plugin config functions.
+| tests.cpp | Program used to run all tests.
+| tests-record.cpp | Record and search in messages displayed.
| core/ | Root of unit tests for core.
| test-core-arraylist.cpp | Tests: arraylists.
| test-core-calc.cpp | Tests: calculation of expressions.
@@ -438,13 +429,13 @@ WeeChat "core" is located in following directories:
| test-core-secure.cpp | Tests: secured data.
| test-core-signal.cpp | Tests: signals.
| test-core-string.cpp | Tests: strings.
+| test-core-sys.cpp | Tests: system functions.
| test-core-url.cpp | Tests: URLs.
| test-core-utf8.cpp | Tests: UTF-8.
| test-core-util.cpp | Tests: utility functions.
-| test-core-sys.cpp | Tests: system functions.
| hook/ | Root of unit tests for hooks.
-| test-hook-command.cpp | Tests: hooks "command".
| test-hook-command-run.cpp | Tests: hooks "command_run".
+| test-hook-command.cpp | Tests: hooks "command".
| test-hook-completion.cpp | Tests: hooks "completion".
| test-hook-config.cpp | Tests: hooks "config".
| test-hook-connect.cpp | Tests: hooks "connect".
@@ -476,7 +467,16 @@ WeeChat "core" is located in following directories:
| test-gui-nicklist.cpp | Tests: nicklist functions.
| curses/ | Root of unit tests for Curses interface.
| test-gui-curses-mouse.cpp | Tests: mouse (Curses interface).
+| scripts/ | Root of scripting API tests.
+| test-scripts.cpp | Program used to run the scripting API tests.
+| python/ | Python scripts to generate and run the scripting API tests.
+| testapigen.py | Python script generating scripts in all languages to test the scripting API.
+| testapi.py | Python script with scripting API tests, used by script testapigen.py.
+| unparse.py | Convert Python code to other languages, used by script testapigen.py.
| plugins/ | Root of unit tests for plugins.
+| test-plugin-api-info.cpp | Tests: plugin API info functions.
+| test-plugin-config.cpp | Tests: plugin config functions.
+| test-plugins.cpp | Tests: plugins.
| irc/ | Root of unit tests for IRC plugin.
| test-irc-batch.cpp | Tests: IRC batched events.
| test-irc-buffer.cpp | Tests: IRC buffers.
diff --git a/doc/fr/weechat_dev.fr.adoc b/doc/fr/weechat_dev.fr.adoc
index e0a412949..09bb545c5 100644
--- a/doc/fr/weechat_dev.fr.adoc
+++ b/doc/fr/weechat_dev.fr.adoc
@@ -92,11 +92,11 @@ Les répertoires principaux de WeeChat sont :
| typing/ | Extension Typing.
| xfer/ | Extension Xfer (IRC DCC fichier/discussion).
| tests/ | Tests.
-| scripts/ | Tests de l'API script.
-| python/ | Scripts Python pour générer et lancer les tests de l'API script.
| unit/ | Tests unitaires.
| core/ | Tests unitaires pour les fonctions du cœur.
| gui/ | Tests unitaires pour les fonctions de l'interface.
+| scripts/ | Tests de l'API script.
+| python/ | Scripts Python pour générer et lancer les tests de l'API script.
| plugins/ | Tests unitaires pour les extensions.
| irc/ | Tests unitaires pour l'extension IRC.
| trigger/ | Tests unitaires pour l'extension trigger.
@@ -409,18 +409,9 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|===
| Chemin/fichier | Description
| tests/ | Racine des tests.
-| tests.cpp | Programme utilisé pour lancer tous les tests.
-| tests-record.cpp | Enregistrement et recherche dans les messages affichés.
-| scripts/ | Racine des tests de l'API script.
-| test-scripts.cpp | Programme utilisé pour lancer les tests de l'API script.
-| python/ | Scripts Python pour générer et lancer les tests de l'API script.
-| testapigen.py | Script Python générant des scripts dans tous les languages pour tester l'API script.
-| testapi.py | Script Python avec les tests API, utilisé par le script testapigen.py.
-| unparse.py | Conversion de code Python vers d'autres langages, utilisé par le script testapigen.py.
| unit/ | Racine des tests unitaires.
-| test-plugins.cpp | Tests : extensions.
-| test-plugin-api-info.cpp | Tests : fonctions info de l'API extension.
-| test-plugin-config.cpp | Tests : fonctions config de l'extension.
+| tests.cpp | Programme utilisé pour lancer tous les tests.
+| tests-record.cpp | Enregistrement et recherche dans les messages affichés.
| core/ | Racine des tests unitaires pour le cœur.
| test-core-arraylist.cpp | Tests : listes avec tableau (« arraylists »).
| test-core-calc.cpp | Tests : calcul d'expressions.
@@ -439,10 +430,10 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
| test-core-secure.cpp | Tests : données sécurisées.
| test-core-signal.cpp | Tests : signaux.
| test-core-string.cpp | Tests : chaînes.
+| test-core-sys.cpp | Tests : fonctions système.
| test-core-url.cpp | Tests : URLs.
| test-core-utf8.cpp | Tests : UTF-8.
| test-core-util.cpp | Tests : fonctions utiles.
-| test-core-sys.cpp | Tests : fonctions système.
| hook/ | Racine des tests pour les hooks.
| test-hook-command.cpp | Tests : hooks "command".
| test-hook-command-run.cpp | Tests: hooks "command_run".
@@ -477,7 +468,16 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
| test-gui-nicklist.cpp | Tests : fonctions de liste de pseudos.
| curses/ | Racine des tests unitaires pour l'interface Curses.
| test-gui-curses-mouse.cpp | Tests : souris (interface Curses).
+| scripts/ | Racine des tests de l'API script.
+| test-scripts.cpp | Programme utilisé pour lancer les tests de l'API script.
+| python/ | Scripts Python pour générer et lancer les tests de l'API script.
+| testapigen.py | Script Python générant des scripts dans tous les languages pour tester l'API script.
+| testapi.py | Script Python avec les tests API, utilisé par le script testapigen.py.
+| unparse.py | Conversion de code Python vers d'autres langages, utilisé par le script testapigen.py.
| plugins/ | Racine des tests unitaires pour les extensions.
+| test-plugin-api-info.cpp | Tests : fonctions info de l'API extension.
+| test-plugin-config.cpp | Tests : fonctions config de l'extension.
+| test-plugins.cpp | Tests : extensions.
| irc/ | Racine des tests unitaires pour l'extension IRC.
| test-irc-batch.cpp | Tests : évènements batch IRC.
| test-irc-buffer.cpp | Tests : tampons IRC.
diff --git a/doc/ja/weechat_dev.ja.adoc b/doc/ja/weechat_dev.ja.adoc
index bb680d459..9a99404d8 100644
--- a/doc/ja/weechat_dev.ja.adoc
+++ b/doc/ja/weechat_dev.ja.adoc
@@ -93,11 +93,11 @@ qweechat::
| typing/ | typing プラグイン
| xfer/ | xfer (IRC DCC ファイル/チャット)
| tests/ | テスト
-| scripts/ | スクリプト API テスト
-| python/ | スクリプト API テストを生成、実行する Python スクリプト
| unit/ | 単体テスト
| core/ | コア関数の単体テスト
| gui/ | インターフェース関数の単体テスト
+| scripts/ | スクリプト API テスト
+| python/ | スクリプト API テストを生成、実行する Python スクリプト
| plugins/ | プラグインの単体テスト
| irc/ | IRC プラグインの単体テスト
// TRANSLATION MISSING
@@ -442,21 +442,10 @@ WeeChat "core" は以下のディレクトリに配置されています:
|===
| パス/ファイル名 | 説明
| tests/ | テスト用のルートディレクトリ
-| tests.cpp | 全テストの実行時に使われるプログラム
-// TRANSLATION MISSING
-| tests-record.cpp | Record and search in messages displayed.
-| scripts/ | スクリプト API テスト用のルートディレクトリ
-| test-scripts.cpp | スクリプト API テストの実行時に使われるプログラム
-| python/ | スクリプト API テストを生成、実行する Python スクリプト
-| testapigen.py | スクリプト API のテスト時にすべての言語に関するスクリプトを生成する Python スクリプト
-| testapi.py | スクリプト API テスト時に使われる Python スクリプト (スクリプト testapigen.py から使われます)
-| unparse.py | Python コードを別の言語に変換 (スクリプト testapigen.py から使われます)
| unit/ | 単体テスト用のルートディレクトリ
-| test-plugins.cpp | テスト: プラグイン
+| tests.cpp | 全テストの実行時に使われるプログラム
// TRANSLATION MISSING
-| test-plugin-api-info.cpp | Tests: plugin API info functions.
-// TRANSLATION MISSING
-| test-plugin-config.cpp | Tests: plugin config functions.
+| tests-record.cpp | Record and search in messages displayed.
| core/ | core 向け単体テスト用のルートディレクトリ
| test-core-arraylist.cpp | テスト: 配列リスト
// TRANSLATION MISSING
@@ -483,12 +472,12 @@ WeeChat "core" は以下のディレクトリに配置されています:
// TRANSLATION MISSING
| test-core-signal.cpp | テスト: signals.
| test-core-string.cpp | テスト: 文字列
+// TRANSLATION MISSING
+| test-core-sys.cpp | Tests: system functions.
| test-core-url.cpp | テスト: URL
| test-core-utf8.cpp | テスト: UTF-8
| test-core-util.cpp | テスト: ユーティリティ関数
// TRANSLATION MISSING
-| test-core-sys.cpp | Tests: system functions.
-// TRANSLATION MISSING
| hook/ | Root of unit tests for hooks.
// TRANSLATION MISSING
| test-hook-command.cpp | Tests: hooks "command".
@@ -555,7 +544,18 @@ WeeChat "core" は以下のディレクトリに配置されています:
| curses/ | Root of unit tests for Curses interface.
// TRANSLATION MISSING
| test-gui-curses-mouse.cpp | Tests: mouse (Curses interface).
+| scripts/ | スクリプト API テスト用のルートディレクトリ
+| test-scripts.cpp | スクリプト API テストの実行時に使われるプログラム
+| python/ | スクリプト API テストを生成、実行する Python スクリプト
+| testapigen.py | スクリプト API のテスト時にすべての言語に関するスクリプトを生成する Python スクリプト
+| testapi.py | スクリプト API テスト時に使われる Python スクリプト (スクリプト testapigen.py から使われます)
+| unparse.py | Python コードを別の言語に変換 (スクリプト testapigen.py から使われます)
| plugins/ | プラグインの単体テストを収める最上位ディレクトリ
+// TRANSLATION MISSING
+| test-plugin-api-info.cpp | Tests: plugin API info functions.
+// TRANSLATION MISSING
+| test-plugin-config.cpp | Tests: plugin config functions.
+| test-plugins.cpp | テスト: プラグイン
| irc/ | IRC プラグインの単体テストを収める最上位ディレクトリ
// TRANSLATION MISSING
| test-irc-batch.cpp | Tests: IRC batched events.
diff --git a/doc/sr/weechat_dev.sr.adoc b/doc/sr/weechat_dev.sr.adoc
index 64d134ea8..32503622a 100644
--- a/doc/sr/weechat_dev.sr.adoc
+++ b/doc/sr/weechat_dev.sr.adoc
@@ -91,11 +91,11 @@ qweechat::
| typing/ | Typing додатак.
| xfer/ | Xfer додатак (IRC DCC фајл/разговор).
| tests/ | Тестови.
-| scripts/ | Тестови за API скриптовања.
-| python/ | Python скрипте за генерисање и покретање тестова за API скриптовања.
| unit/ | Unit тестови.
| core/ | Unit тестови за функције језгра.
| gui/ | Unit тестови за функције интерфејса.
+| scripts/ | Тестови за API скриптовања.
+| python/ | Python скрипте за генерисање и покретање тестова за API скриптовања.
| plugins/ | Unit тестови за додатке.
| irc/ | Unit тестови за IRC додатак.
| doc/ | Документација.
@@ -406,18 +406,9 @@ WeeChat „језгро” се налази у следећим директо
|===
| Путања/фајл | Опис
| tests/ | Корен тестова.
-| tests.cpp | Програм који се користи за извршавање свих тестова.
-| tests-record.cpp | Бележење и претрага у приказаним порукама.
-| scripts/ | Корен тестова за API скриптовања.
-| test-scripts.cpp | Програм који се користи за извршавање тестова API скриптовања.
-| python/ | Python скрипте које генеришу и покрећу тестове API скриптовања.
-| testapigen.py | Python скрипта која генерише скрипте на свим језицима за тестирање API скриптовања.
-| testapi.py | Python скрипта са тестовима API скриптовања, користи је скрипта testapigen.py.
-| unparse.py | Конверзија Python кода у остале језике, користи је скрипта testapigen.py.
| unit/ | Корен unit тестова.
-| test-plugins.cpp | Тестови: plugins.
-| test-plugin-api-info.cpp | Тестови: инфо функције API додатака.
-| test-plugin-config.cpp | Тестови: функције конфигурације додатка.
+| tests.cpp | Програм који се користи за извршавање свих тестова.
+| tests-record.cpp | Бележење и претрага у приказаним порукама.
| core/ | Корен unit тестова језгра.
| test-core-arraylist.cpp | Тестови: arraylists.
| test-core-calc.cpp | Тестови: калкулација израза.
@@ -436,10 +427,10 @@ WeeChat „језгро” се налази у следећим директо
| test-core-secure.cpp | Тестови: обезбеђени подаци.
| test-core-signal.cpp | Тестови: сигнали.
| test-core-string.cpp | Тестови: стрингови.
+| test-core-sys.cpp | Тестови: системске функције.
| test-core-url.cpp | Тестови: URL адресе.
| test-core-utf8.cpp | Тестови: UTF-8.
| test-core-util.cpp | Тестови: помоћне функције.
-| test-core-sys.cpp | Тестови: системске функције.
| hook/ | Корен unit тестова за куке.
| test-hook-command.cpp | Тестови: куке „command”.
| test-hook-command-run.cpp | Тестови: куке „command_run”.
@@ -474,7 +465,16 @@ WeeChat „језгро” се налази у следећим директо
| test-gui-nicklist.cpp | Тестови: функције листе надимака.
| curses/ | Корен unit тестова за Curses интерфејс.
| test-gui-curses-mouse.cpp | Тестови: миш (Curses интерфејс).
+| scripts/ | Корен тестова за API скриптовања.
+| test-scripts.cpp | Програм који се користи за извршавање тестова API скриптовања.
+| python/ | Python скрипте које генеришу и покрећу тестове API скриптовања.
+| testapigen.py | Python скрипта која генерише скрипте на свим језицима за тестирање API скриптовања.
+| testapi.py | Python скрипта са тестовима API скриптовања, користи је скрипта testapigen.py.
+| unparse.py | Конверзија Python кода у остале језике, користи је скрипта testapigen.py.
| plugins/ | Корен unit тестова додатака.
+| test-plugin-config.cpp | Тестови: функције конфигурације додатка.
+| test-plugin-api-info.cpp | Тестови: инфо функције API додатака.
+| test-plugins.cpp | Тестови: plugins.
| irc/ | Корен unit тестова IRC додатка.
| test-irc-batch.cpp | Тестови: IRC пакетни догађаји.
| test-irc-buffer.cpp | Тестови: IRC бафери.
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index b598a715d..333a3beb1 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -19,239 +19,6 @@
# along with WeeChat. If not, see .
#
-enable_language(CXX)
-
-remove_definitions(-DHAVE_CONFIG_H)
-include_directories(${CPPUTEST_INCLUDE_DIRS} ${PROJECT_BINARY_DIR} ${PROJECT_SOURCE_DIR})
-
-if(NOT CYGWIN)
- add_definitions(-fPIC)
+if(ENABLE_TESTS)
+ add_subdirectory(unit)
endif()
-
-if(ENABLE_PYTHON)
- add_definitions(-DHAVE_PYTHON)
-endif()
-if(ENABLE_PERL)
- add_definitions(-DHAVE_PERL)
-endif()
-if(ENABLE_RUBY)
- add_definitions(-DHAVE_RUBY)
-endif()
-if(ENABLE_LUA)
- add_definitions(-DHAVE_LUA)
-endif()
-if(ENABLE_TCL)
- add_definitions(-DHAVE_TCL)
-endif()
-if(ENABLE_GUILE)
- add_definitions(-DHAVE_GUILE)
-endif()
-if(ENABLE_JAVASCRIPT)
- add_definitions(-DHAVE_JAVASCRIPT)
-endif()
-if(ENABLE_PHP)
- add_definitions(-DHAVE_PHP)
-endif()
-
-# unit tests (core)
-set(LIB_WEECHAT_UNIT_TESTS_CORE_SRC
- unit/core/test-core-arraylist.cpp
- unit/core/test-core-calc.cpp
- unit/core/test-core-command.cpp
- unit/core/test-core-config-file.cpp
- unit/core/test-core-crypto.cpp
- unit/core/test-core-dir.cpp
- unit/core/test-core-eval.cpp
- unit/core/test-core-hashtable.cpp
- unit/core/test-core-hdata.cpp
- unit/core/test-core-hook.cpp
- unit/core/test-core-infolist.cpp
- unit/core/test-core-input.cpp
- unit/core/test-core-list.cpp
- unit/core/test-core-network.cpp
- unit/core/test-core-secure.cpp
- unit/core/test-core-signal.cpp
- unit/core/test-core-string.cpp
- unit/core/test-core-url.cpp
- unit/core/test-core-utf8.cpp
- unit/core/test-core-util.cpp
- unit/core/test-core-sys.cpp
- unit/core/hook/test-hook-command.cpp
- unit/core/hook/test-hook-command-run.cpp
- unit/core/hook/test-hook-completion.cpp
- unit/core/hook/test-hook-config.cpp
- unit/core/hook/test-hook-connect.cpp
- unit/core/hook/test-hook-fd.cpp
- unit/core/hook/test-hook-focus.cpp
- unit/core/hook/test-hook-hdata.cpp
- unit/core/hook/test-hook-hsignal.cpp
- unit/core/hook/test-hook-info.cpp
- unit/core/hook/test-hook-info-hashtable.cpp
- unit/core/hook/test-hook-infolist.cpp
- unit/core/hook/test-hook-line.cpp
- unit/core/hook/test-hook-modifier.cpp
- unit/core/hook/test-hook-print.cpp
- unit/core/hook/test-hook-process.cpp
- unit/core/hook/test-hook-signal.cpp
- unit/core/hook/test-hook-timer.cpp
- unit/core/hook/test-hook-url.cpp
- unit/gui/test-gui-bar.cpp
- unit/gui/test-gui-bar-item.cpp
- unit/gui/test-gui-bar-item-custom.cpp
- unit/gui/test-gui-bar-window.cpp
- unit/gui/test-gui-buffer.cpp
- unit/gui/test-gui-chat.cpp
- unit/gui/test-gui-color.cpp
- unit/gui/test-gui-filter.cpp
- unit/gui/test-gui-hotlist.cpp
- unit/gui/test-gui-input.cpp
- unit/gui/test-gui-key.cpp
- unit/gui/test-gui-line.cpp
- unit/gui/test-gui-nick.cpp
- unit/gui/test-gui-nicklist.cpp
- unit/gui/curses/test-gui-curses-mouse.cpp
- scripts/test-scripts.cpp
-)
-add_library(weechat_unit_tests_core STATIC ${LIB_WEECHAT_UNIT_TESTS_CORE_SRC})
-
-# unit tests (plugins)
-set(LIB_WEECHAT_UNIT_TESTS_PLUGINS_SRC
- unit/plugins/test-plugins.cpp
- unit/plugins/test-plugin-api-info.cpp
- unit/plugins/test-plugin-config.cpp
-)
-
-if(ENABLE_ALIAS)
- list(APPEND LIB_WEECHAT_UNIT_TESTS_PLUGINS_SRC
- unit/plugins/alias/test-alias.cpp
- )
-endif()
-
-if(ENABLE_IRC)
- list(APPEND LIB_WEECHAT_UNIT_TESTS_PLUGINS_SRC
- unit/plugins/irc/test-irc-batch.cpp
- unit/plugins/irc/test-irc-buffer.cpp
- unit/plugins/irc/test-irc-channel.cpp
- unit/plugins/irc/test-irc-color.cpp
- unit/plugins/irc/test-irc-command.cpp
- unit/plugins/irc/test-irc-config.cpp
- unit/plugins/irc/test-irc-ctcp.cpp
- unit/plugins/irc/test-irc-info.cpp
- unit/plugins/irc/test-irc-ignore.cpp
- unit/plugins/irc/test-irc-join.cpp
- unit/plugins/irc/test-irc-list.cpp
- unit/plugins/irc/test-irc-message.cpp
- unit/plugins/irc/test-irc-mode.cpp
- unit/plugins/irc/test-irc-nick.cpp
- unit/plugins/irc/test-irc-protocol.cpp
- unit/plugins/irc/test-irc-sasl.cpp
- unit/plugins/irc/test-irc-server.cpp
- unit/plugins/irc/test-irc-tag.cpp
- )
-endif()
-
-if(ENABLE_LOGGER)
- list(APPEND LIB_WEECHAT_UNIT_TESTS_PLUGINS_SRC
- unit/plugins/logger/test-logger.cpp
- unit/plugins/logger/test-logger-backlog.cpp
- unit/plugins/logger/test-logger-tail.cpp
- )
-endif()
-
-if (ENABLE_RELAY)
- list(APPEND LIB_WEECHAT_UNIT_TESTS_PLUGINS_SRC
- unit/plugins/relay/test-relay-auth.cpp
- unit/plugins/relay/test-relay-bar-item.cpp
- unit/plugins/relay/test-relay-http.cpp
- unit/plugins/relay/test-relay-raw.cpp
- unit/plugins/relay/test-relay-remote.cpp
- unit/plugins/relay/test-relay-websocket.cpp
- unit/plugins/relay/irc/test-relay-irc.cpp
- )
- if (ENABLE_CJSON)
- list(APPEND LIB_WEECHAT_UNIT_TESTS_PLUGINS_SRC
- unit/plugins/relay/api/test-relay-api.cpp
- unit/plugins/relay/api/test-relay-api-msg.cpp
- unit/plugins/relay/api/test-relay-api-protocol.cpp
- unit/plugins/relay/api/remote/test-relay-remote-network.cpp
- )
- endif()
-endif()
-
-if(ENABLE_TRIGGER)
- list(APPEND LIB_WEECHAT_UNIT_TESTS_PLUGINS_SRC
- unit/plugins/trigger/test-trigger.cpp
- unit/plugins/trigger/test-trigger-config.cpp
- )
-endif()
-
-if(ENABLE_TYPING)
- list(APPEND LIB_WEECHAT_UNIT_TESTS_PLUGINS_SRC
- unit/plugins/typing/test-typing.cpp
- unit/plugins/typing/test-typing-status.cpp
- )
-endif()
-
-if(ENABLE_XFER)
- list(APPEND LIB_WEECHAT_UNIT_TESTS_PLUGINS_SRC
- unit/plugins/xfer/test-xfer-file.cpp
- unit/plugins/xfer/test-xfer-network.cpp
- )
-endif()
-
-add_library(weechat_unit_tests_plugins MODULE ${LIB_WEECHAT_UNIT_TESTS_PLUGINS_SRC})
-
-if(ICONV_LIBRARY)
- list(APPEND EXTRA_LIBS ${ICONV_LIBRARY})
-endif()
-
-if(${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD" OR ${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD")
- list(APPEND EXTRA_LIBS "intl")
- if(HAVE_BACKTRACE)
- list(APPEND EXTRA_LIBS "execinfo")
- endif()
-endif()
-
-if(NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Haiku")
- list(APPEND EXTRA_LIBS "pthread")
-endif()
-
-# binary to run tests
-set(WEECHAT_TESTS_SRC
- tests.cpp tests.h
- tests-record.cpp tests-record.h
-)
-add_executable(tests ${WEECHAT_TESTS_SRC})
-target_link_libraries(tests
- weechat_core
- weechat_plugins
- weechat_gui_common
- weechat_gui_headless
- weechat_ncurses_fake
- weechat_unit_tests_core
- ${EXTRA_LIBS}
- ${ZLIB_LIBRARY}
- ${LIBZSTD_LDFLAGS}
- ${CPPUTEST_LIBRARIES}
- -rdynamic
-)
-add_dependencies(tests
- weechat_core
- weechat_plugins
- weechat_gui_common
- weechat_gui_headless
- weechat_ncurses_fake
- weechat_unit_tests_core
-)
-
-# test for cmake (ctest)
-add_test(NAME unit
- WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
- COMMAND tests -v
-)
-set_property(TEST unit PROPERTY
- ENVIRONMENT "WEECHAT_TESTS_ARGS=-p;"
- "WEECHAT_EXTRA_LIBDIR=${PROJECT_BINARY_DIR}/src;"
- "WEECHAT_TESTS_SCRIPTS_DIR=${CMAKE_CURRENT_SOURCE_DIR}/scripts/python;"
- "WEECHAT_TESTS_PLUGINS_LIB=${CMAKE_CURRENT_BINARY_DIR}/libweechat_unit_tests_plugins.so"
-)
diff --git a/tests/unit/CMakeLists.txt b/tests/unit/CMakeLists.txt
new file mode 100644
index 000000000..669a4d757
--- /dev/null
+++ b/tests/unit/CMakeLists.txt
@@ -0,0 +1,262 @@
+#
+# SPDX-FileCopyrightText: 2014-2025 Sébastien Helleu
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+#
+# This file is part of WeeChat, the extensible chat client.
+#
+# WeeChat is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# WeeChat is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with WeeChat. If not, see .
+#
+
+enable_language(CXX)
+
+remove_definitions(-DHAVE_CONFIG_H)
+include_directories(
+ ${CPPUTEST_INCLUDE_DIRS}
+ ${PROJECT_BINARY_DIR}
+ ${PROJECT_SOURCE_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+)
+
+if(NOT CYGWIN)
+ add_definitions(-fPIC)
+endif()
+
+if(ENABLE_PYTHON)
+ add_definitions(-DHAVE_PYTHON)
+endif()
+if(ENABLE_PERL)
+ add_definitions(-DHAVE_PERL)
+endif()
+if(ENABLE_RUBY)
+ add_definitions(-DHAVE_RUBY)
+endif()
+if(ENABLE_LUA)
+ add_definitions(-DHAVE_LUA)
+endif()
+if(ENABLE_TCL)
+ add_definitions(-DHAVE_TCL)
+endif()
+if(ENABLE_GUILE)
+ add_definitions(-DHAVE_GUILE)
+endif()
+if(ENABLE_JAVASCRIPT)
+ add_definitions(-DHAVE_JAVASCRIPT)
+endif()
+if(ENABLE_PHP)
+ add_definitions(-DHAVE_PHP)
+endif()
+
+# unit tests (core)
+set(LIB_WEECHAT_UNIT_TESTS_CORE_SRC
+ core/test-core-arraylist.cpp
+ core/test-core-calc.cpp
+ core/test-core-command.cpp
+ core/test-core-config-file.cpp
+ core/test-core-crypto.cpp
+ core/test-core-dir.cpp
+ core/test-core-eval.cpp
+ core/test-core-hashtable.cpp
+ core/test-core-hdata.cpp
+ core/test-core-hook.cpp
+ core/test-core-infolist.cpp
+ core/test-core-input.cpp
+ core/test-core-list.cpp
+ core/test-core-network.cpp
+ core/test-core-secure.cpp
+ core/test-core-signal.cpp
+ core/test-core-string.cpp
+ core/test-core-url.cpp
+ core/test-core-utf8.cpp
+ core/test-core-util.cpp
+ core/test-core-sys.cpp
+ core/hook/test-hook-command.cpp
+ core/hook/test-hook-command-run.cpp
+ core/hook/test-hook-completion.cpp
+ core/hook/test-hook-config.cpp
+ core/hook/test-hook-connect.cpp
+ core/hook/test-hook-fd.cpp
+ core/hook/test-hook-focus.cpp
+ core/hook/test-hook-hdata.cpp
+ core/hook/test-hook-hsignal.cpp
+ core/hook/test-hook-info.cpp
+ core/hook/test-hook-info-hashtable.cpp
+ core/hook/test-hook-infolist.cpp
+ core/hook/test-hook-line.cpp
+ core/hook/test-hook-modifier.cpp
+ core/hook/test-hook-print.cpp
+ core/hook/test-hook-process.cpp
+ core/hook/test-hook-signal.cpp
+ core/hook/test-hook-timer.cpp
+ core/hook/test-hook-url.cpp
+ gui/test-gui-bar.cpp
+ gui/test-gui-bar-item.cpp
+ gui/test-gui-bar-item-custom.cpp
+ gui/test-gui-bar-window.cpp
+ gui/test-gui-buffer.cpp
+ gui/test-gui-chat.cpp
+ gui/test-gui-color.cpp
+ gui/test-gui-filter.cpp
+ gui/test-gui-hotlist.cpp
+ gui/test-gui-input.cpp
+ gui/test-gui-key.cpp
+ gui/test-gui-line.cpp
+ gui/test-gui-nick.cpp
+ gui/test-gui-nicklist.cpp
+ gui/curses/test-gui-curses-mouse.cpp
+ scripts/test-scripts.cpp
+)
+add_library(weechat_unit_tests_core STATIC ${LIB_WEECHAT_UNIT_TESTS_CORE_SRC})
+
+# unit tests (plugins)
+set(LIB_WEECHAT_UNIT_TESTS_PLUGINS_SRC
+ plugins/test-plugins.cpp
+ plugins/test-plugin-api-info.cpp
+ plugins/test-plugin-config.cpp
+)
+
+if(ENABLE_ALIAS)
+ list(APPEND LIB_WEECHAT_UNIT_TESTS_PLUGINS_SRC
+ plugins/alias/test-alias.cpp
+ )
+endif()
+
+if(ENABLE_IRC)
+ list(APPEND LIB_WEECHAT_UNIT_TESTS_PLUGINS_SRC
+ plugins/irc/test-irc-batch.cpp
+ plugins/irc/test-irc-buffer.cpp
+ plugins/irc/test-irc-channel.cpp
+ plugins/irc/test-irc-color.cpp
+ plugins/irc/test-irc-command.cpp
+ plugins/irc/test-irc-config.cpp
+ plugins/irc/test-irc-ctcp.cpp
+ plugins/irc/test-irc-info.cpp
+ plugins/irc/test-irc-ignore.cpp
+ plugins/irc/test-irc-join.cpp
+ plugins/irc/test-irc-list.cpp
+ plugins/irc/test-irc-message.cpp
+ plugins/irc/test-irc-mode.cpp
+ plugins/irc/test-irc-nick.cpp
+ plugins/irc/test-irc-protocol.cpp
+ plugins/irc/test-irc-sasl.cpp
+ plugins/irc/test-irc-server.cpp
+ plugins/irc/test-irc-tag.cpp
+ )
+endif()
+
+if(ENABLE_LOGGER)
+ list(APPEND LIB_WEECHAT_UNIT_TESTS_PLUGINS_SRC
+ plugins/logger/test-logger.cpp
+ plugins/logger/test-logger-backlog.cpp
+ plugins/logger/test-logger-tail.cpp
+ )
+endif()
+
+if (ENABLE_RELAY)
+ list(APPEND LIB_WEECHAT_UNIT_TESTS_PLUGINS_SRC
+ plugins/relay/test-relay-auth.cpp
+ plugins/relay/test-relay-bar-item.cpp
+ plugins/relay/test-relay-http.cpp
+ plugins/relay/test-relay-raw.cpp
+ plugins/relay/test-relay-remote.cpp
+ plugins/relay/test-relay-websocket.cpp
+ plugins/relay/irc/test-relay-irc.cpp
+ )
+ if (ENABLE_CJSON)
+ list(APPEND LIB_WEECHAT_UNIT_TESTS_PLUGINS_SRC
+ plugins/relay/api/test-relay-api.cpp
+ plugins/relay/api/test-relay-api-msg.cpp
+ plugins/relay/api/test-relay-api-protocol.cpp
+ plugins/relay/api/remote/test-relay-remote-network.cpp
+ )
+ endif()
+endif()
+
+if(ENABLE_TRIGGER)
+ list(APPEND LIB_WEECHAT_UNIT_TESTS_PLUGINS_SRC
+ plugins/trigger/test-trigger.cpp
+ plugins/trigger/test-trigger-config.cpp
+ )
+endif()
+
+if(ENABLE_TYPING)
+ list(APPEND LIB_WEECHAT_UNIT_TESTS_PLUGINS_SRC
+ plugins/typing/test-typing.cpp
+ plugins/typing/test-typing-status.cpp
+ )
+endif()
+
+if(ENABLE_XFER)
+ list(APPEND LIB_WEECHAT_UNIT_TESTS_PLUGINS_SRC
+ plugins/xfer/test-xfer-file.cpp
+ plugins/xfer/test-xfer-network.cpp
+ )
+endif()
+
+add_library(weechat_unit_tests_plugins MODULE ${LIB_WEECHAT_UNIT_TESTS_PLUGINS_SRC})
+
+if(ICONV_LIBRARY)
+ list(APPEND EXTRA_LIBS ${ICONV_LIBRARY})
+endif()
+
+if(${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD" OR ${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD")
+ list(APPEND EXTRA_LIBS "intl")
+ if(HAVE_BACKTRACE)
+ list(APPEND EXTRA_LIBS "execinfo")
+ endif()
+endif()
+
+if(NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Haiku")
+ list(APPEND EXTRA_LIBS "pthread")
+endif()
+
+# binary to run tests
+set(WEECHAT_TESTS_SRC
+ tests.cpp tests.h
+ tests-record.cpp tests-record.h
+)
+add_executable(tests ${WEECHAT_TESTS_SRC})
+target_link_libraries(tests
+ weechat_core
+ weechat_plugins
+ weechat_gui_common
+ weechat_gui_headless
+ weechat_ncurses_fake
+ weechat_unit_tests_core
+ ${EXTRA_LIBS}
+ ${ZLIB_LIBRARY}
+ ${LIBZSTD_LDFLAGS}
+ ${CPPUTEST_LIBRARIES}
+ -rdynamic
+)
+add_dependencies(tests
+ weechat_core
+ weechat_plugins
+ weechat_gui_common
+ weechat_gui_headless
+ weechat_ncurses_fake
+ weechat_unit_tests_core
+)
+
+# test for cmake (ctest)
+add_test(NAME unit
+ WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
+ COMMAND tests -v
+)
+set_property(TEST unit PROPERTY
+ ENVIRONMENT "WEECHAT_TESTS_ARGS=-p;"
+ "WEECHAT_EXTRA_LIBDIR=${PROJECT_BINARY_DIR}/src;"
+ "WEECHAT_TESTS_SCRIPTS_DIR=${CMAKE_CURRENT_SOURCE_DIR}/scripts/python;"
+ "WEECHAT_TESTS_PLUGINS_LIB=${CMAKE_CURRENT_BINARY_DIR}/libweechat_unit_tests_plugins.so"
+)
diff --git a/tests/unit/core/hook/test-hook-command-run.cpp b/tests/unit/core/hook/test-hook-command-run.cpp
index d44916d4b..c9fc72343 100644
--- a/tests/unit/core/hook/test-hook-command-run.cpp
+++ b/tests/unit/core/hook/test-hook-command-run.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/core/hook/test-hook-command.cpp b/tests/unit/core/hook/test-hook-command.cpp
index fbe4e461c..8279390fd 100644
--- a/tests/unit/core/hook/test-hook-command.cpp
+++ b/tests/unit/core/hook/test-hook-command.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/core/hook/test-hook-completion.cpp b/tests/unit/core/hook/test-hook-completion.cpp
index ec1960e16..94fb540ef 100644
--- a/tests/unit/core/hook/test-hook-completion.cpp
+++ b/tests/unit/core/hook/test-hook-completion.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/core/hook/test-hook-config.cpp b/tests/unit/core/hook/test-hook-config.cpp
index 406e0232b..0cf65206d 100644
--- a/tests/unit/core/hook/test-hook-config.cpp
+++ b/tests/unit/core/hook/test-hook-config.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/core/hook/test-hook-connect.cpp b/tests/unit/core/hook/test-hook-connect.cpp
index 49f6afd21..69856982d 100644
--- a/tests/unit/core/hook/test-hook-connect.cpp
+++ b/tests/unit/core/hook/test-hook-connect.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/core/hook/test-hook-fd.cpp b/tests/unit/core/hook/test-hook-fd.cpp
index 062fb41ea..897707303 100644
--- a/tests/unit/core/hook/test-hook-fd.cpp
+++ b/tests/unit/core/hook/test-hook-fd.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/core/hook/test-hook-focus.cpp b/tests/unit/core/hook/test-hook-focus.cpp
index e60f9224c..aca62fc9b 100644
--- a/tests/unit/core/hook/test-hook-focus.cpp
+++ b/tests/unit/core/hook/test-hook-focus.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/core/hook/test-hook-hdata.cpp b/tests/unit/core/hook/test-hook-hdata.cpp
index 80dc15423..f497a8131 100644
--- a/tests/unit/core/hook/test-hook-hdata.cpp
+++ b/tests/unit/core/hook/test-hook-hdata.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/core/hook/test-hook-hsignal.cpp b/tests/unit/core/hook/test-hook-hsignal.cpp
index 351dbacd2..0d1b66192 100644
--- a/tests/unit/core/hook/test-hook-hsignal.cpp
+++ b/tests/unit/core/hook/test-hook-hsignal.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/core/hook/test-hook-info-hashtable.cpp b/tests/unit/core/hook/test-hook-info-hashtable.cpp
index 1edaa97d3..330b4957a 100644
--- a/tests/unit/core/hook/test-hook-info-hashtable.cpp
+++ b/tests/unit/core/hook/test-hook-info-hashtable.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/core/hook/test-hook-info.cpp b/tests/unit/core/hook/test-hook-info.cpp
index 6640c78fd..5aecc9f64 100644
--- a/tests/unit/core/hook/test-hook-info.cpp
+++ b/tests/unit/core/hook/test-hook-info.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/core/hook/test-hook-infolist.cpp b/tests/unit/core/hook/test-hook-infolist.cpp
index f39cc2712..7ee0b00d8 100644
--- a/tests/unit/core/hook/test-hook-infolist.cpp
+++ b/tests/unit/core/hook/test-hook-infolist.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/core/hook/test-hook-line.cpp b/tests/unit/core/hook/test-hook-line.cpp
index 724975432..91d3234cc 100644
--- a/tests/unit/core/hook/test-hook-line.cpp
+++ b/tests/unit/core/hook/test-hook-line.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/core/hook/test-hook-modifier.cpp b/tests/unit/core/hook/test-hook-modifier.cpp
index f4a82f037..24c919222 100644
--- a/tests/unit/core/hook/test-hook-modifier.cpp
+++ b/tests/unit/core/hook/test-hook-modifier.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/core/hook/test-hook-print.cpp b/tests/unit/core/hook/test-hook-print.cpp
index 64f58f8da..c25771a8c 100644
--- a/tests/unit/core/hook/test-hook-print.cpp
+++ b/tests/unit/core/hook/test-hook-print.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/core/hook/test-hook-process.cpp b/tests/unit/core/hook/test-hook-process.cpp
index 98ae3567d..10fe90dae 100644
--- a/tests/unit/core/hook/test-hook-process.cpp
+++ b/tests/unit/core/hook/test-hook-process.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/core/hook/test-hook-signal.cpp b/tests/unit/core/hook/test-hook-signal.cpp
index 435d0f413..47242c5fa 100644
--- a/tests/unit/core/hook/test-hook-signal.cpp
+++ b/tests/unit/core/hook/test-hook-signal.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/core/hook/test-hook-timer.cpp b/tests/unit/core/hook/test-hook-timer.cpp
index 6f49f669f..987d73dfc 100644
--- a/tests/unit/core/hook/test-hook-timer.cpp
+++ b/tests/unit/core/hook/test-hook-timer.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/core/hook/test-hook-url.cpp b/tests/unit/core/hook/test-hook-url.cpp
index 38219b701..bc38f4a84 100644
--- a/tests/unit/core/hook/test-hook-url.cpp
+++ b/tests/unit/core/hook/test-hook-url.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/core/test-core-command.cpp b/tests/unit/core/test-core-command.cpp
index 5dbcce8ee..9c72fd06c 100644
--- a/tests/unit/core/test-core-command.cpp
+++ b/tests/unit/core/test-core-command.cpp
@@ -23,8 +23,8 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
-#include "tests/tests-record.h"
+#include "tests.h"
+#include "tests-record.h"
extern "C"
{
diff --git a/tests/unit/core/test-core-config-file.cpp b/tests/unit/core/test-core-config-file.cpp
index 487e4139a..0f2ea4c74 100644
--- a/tests/unit/core/test-core-config-file.cpp
+++ b/tests/unit/core/test-core-config-file.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/core/test-core-input.cpp b/tests/unit/core/test-core-input.cpp
index 5dd4a3356..f30001f76 100644
--- a/tests/unit/core/test-core-input.cpp
+++ b/tests/unit/core/test-core-input.cpp
@@ -23,8 +23,8 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
-#include "tests/tests-record.h"
+#include "tests.h"
+#include "tests-record.h"
#define TEST_INPUT_DATA(__rc, __buffer, __data, __commands_allowed, \
__split_newline, __user_data) \
diff --git a/tests/unit/core/test-core-signal.cpp b/tests/unit/core/test-core-signal.cpp
index a5c82ea3c..c69ffaf78 100644
--- a/tests/unit/core/test-core-signal.cpp
+++ b/tests/unit/core/test-core-signal.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/core/test-core-string.cpp b/tests/unit/core/test-core-string.cpp
index ec61c93e8..53d10f1eb 100644
--- a/tests/unit/core/test-core-string.cpp
+++ b/tests/unit/core/test-core-string.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/core/test-core-sys.cpp b/tests/unit/core/test-core-sys.cpp
index c13437d69..2b0d7bea7 100644
--- a/tests/unit/core/test-core-sys.cpp
+++ b/tests/unit/core/test-core-sys.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/core/test-core-utf8.cpp b/tests/unit/core/test-core-utf8.cpp
index 9fae7f992..4080cf82a 100644
--- a/tests/unit/core/test-core-utf8.cpp
+++ b/tests/unit/core/test-core-utf8.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/core/test-core-util.cpp b/tests/unit/core/test-core-util.cpp
index a4b0713da..f17f14cef 100644
--- a/tests/unit/core/test-core-util.cpp
+++ b/tests/unit/core/test-core-util.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/gui/test-gui-chat.cpp b/tests/unit/gui/test-gui-chat.cpp
index 616c7ae8a..5c2866a4b 100644
--- a/tests/unit/gui/test-gui-chat.cpp
+++ b/tests/unit/gui/test-gui-chat.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/gui/test-gui-key.cpp b/tests/unit/gui/test-gui-key.cpp
index 3f59456cf..37aadc01b 100644
--- a/tests/unit/gui/test-gui-key.cpp
+++ b/tests/unit/gui/test-gui-key.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/gui/test-gui-line.cpp b/tests/unit/gui/test-gui-line.cpp
index f7ec6198e..7703b728d 100644
--- a/tests/unit/gui/test-gui-line.cpp
+++ b/tests/unit/gui/test-gui-line.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/plugins/alias/test-alias.cpp b/tests/unit/plugins/alias/test-alias.cpp
index c91da3c7f..3097df82e 100644
--- a/tests/unit/plugins/alias/test-alias.cpp
+++ b/tests/unit/plugins/alias/test-alias.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/plugins/irc/test-irc-batch.cpp b/tests/unit/plugins/irc/test-irc-batch.cpp
index 012dbdc4d..069e4a90b 100644
--- a/tests/unit/plugins/irc/test-irc-batch.cpp
+++ b/tests/unit/plugins/irc/test-irc-batch.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/plugins/irc/test-irc-buffer.cpp b/tests/unit/plugins/irc/test-irc-buffer.cpp
index 460a32fa3..0d60d8ea6 100644
--- a/tests/unit/plugins/irc/test-irc-buffer.cpp
+++ b/tests/unit/plugins/irc/test-irc-buffer.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/plugins/irc/test-irc-ctcp.cpp b/tests/unit/plugins/irc/test-irc-ctcp.cpp
index 0745cab66..5300e44af 100644
--- a/tests/unit/plugins/irc/test-irc-ctcp.cpp
+++ b/tests/unit/plugins/irc/test-irc-ctcp.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/plugins/irc/test-irc-info.cpp b/tests/unit/plugins/irc/test-irc-info.cpp
index cd5bfafe6..3175e9f3c 100644
--- a/tests/unit/plugins/irc/test-irc-info.cpp
+++ b/tests/unit/plugins/irc/test-irc-info.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/plugins/irc/test-irc-join.cpp b/tests/unit/plugins/irc/test-irc-join.cpp
index 8a91bdc81..55151866d 100644
--- a/tests/unit/plugins/irc/test-irc-join.cpp
+++ b/tests/unit/plugins/irc/test-irc-join.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/plugins/irc/test-irc-list.cpp b/tests/unit/plugins/irc/test-irc-list.cpp
index 9d2221bc3..8bd87bf23 100644
--- a/tests/unit/plugins/irc/test-irc-list.cpp
+++ b/tests/unit/plugins/irc/test-irc-list.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/plugins/irc/test-irc-message.cpp b/tests/unit/plugins/irc/test-irc-message.cpp
index 8c796a392..8d3d2f714 100644
--- a/tests/unit/plugins/irc/test-irc-message.cpp
+++ b/tests/unit/plugins/irc/test-irc-message.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/plugins/irc/test-irc-nick.cpp b/tests/unit/plugins/irc/test-irc-nick.cpp
index 1cfc91ae2..5ce8f32b7 100644
--- a/tests/unit/plugins/irc/test-irc-nick.cpp
+++ b/tests/unit/plugins/irc/test-irc-nick.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/plugins/irc/test-irc-protocol.cpp b/tests/unit/plugins/irc/test-irc-protocol.cpp
index bd756609e..1764a1ce4 100644
--- a/tests/unit/plugins/irc/test-irc-protocol.cpp
+++ b/tests/unit/plugins/irc/test-irc-protocol.cpp
@@ -23,8 +23,8 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
-#include "tests/tests-record.h"
+#include "tests.h"
+#include "tests-record.h"
extern "C"
{
diff --git a/tests/unit/plugins/irc/test-irc-server.cpp b/tests/unit/plugins/irc/test-irc-server.cpp
index c486bd1e4..27fa3fc23 100644
--- a/tests/unit/plugins/irc/test-irc-server.cpp
+++ b/tests/unit/plugins/irc/test-irc-server.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/plugins/irc/test-irc-tag.cpp b/tests/unit/plugins/irc/test-irc-tag.cpp
index d9b70968e..993db5e7b 100644
--- a/tests/unit/plugins/irc/test-irc-tag.cpp
+++ b/tests/unit/plugins/irc/test-irc-tag.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/plugins/logger/test-logger-backlog.cpp b/tests/unit/plugins/logger/test-logger-backlog.cpp
index b45df5b4c..410fef124 100644
--- a/tests/unit/plugins/logger/test-logger-backlog.cpp
+++ b/tests/unit/plugins/logger/test-logger-backlog.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/plugins/logger/test-logger-tail.cpp b/tests/unit/plugins/logger/test-logger-tail.cpp
index 4969c1966..9d7b11b4f 100644
--- a/tests/unit/plugins/logger/test-logger-tail.cpp
+++ b/tests/unit/plugins/logger/test-logger-tail.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/plugins/logger/test-logger.cpp b/tests/unit/plugins/logger/test-logger.cpp
index 2a3a13449..1446b4177 100644
--- a/tests/unit/plugins/logger/test-logger.cpp
+++ b/tests/unit/plugins/logger/test-logger.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/plugins/relay/api/remote/test-relay-remote-event.cpp b/tests/unit/plugins/relay/api/remote/test-relay-remote-event.cpp
index edc425f74..e4330148b 100644
--- a/tests/unit/plugins/relay/api/remote/test-relay-remote-event.cpp
+++ b/tests/unit/plugins/relay/api/remote/test-relay-remote-event.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/plugins/relay/api/remote/test-relay-remote-network.cpp b/tests/unit/plugins/relay/api/remote/test-relay-remote-network.cpp
index 0d11080fb..6f6003158 100644
--- a/tests/unit/plugins/relay/api/remote/test-relay-remote-network.cpp
+++ b/tests/unit/plugins/relay/api/remote/test-relay-remote-network.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/plugins/relay/api/test-relay-api-protocol.cpp b/tests/unit/plugins/relay/api/test-relay-api-protocol.cpp
index b0b8c5b3a..afa77de01 100644
--- a/tests/unit/plugins/relay/api/test-relay-api-protocol.cpp
+++ b/tests/unit/plugins/relay/api/test-relay-api-protocol.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests-record.h"
+#include "tests-record.h"
extern "C"
{
diff --git a/tests/unit/plugins/relay/irc/test-relay-irc.cpp b/tests/unit/plugins/relay/irc/test-relay-irc.cpp
index b536f009c..36ea585d7 100644
--- a/tests/unit/plugins/relay/irc/test-relay-irc.cpp
+++ b/tests/unit/plugins/relay/irc/test-relay-irc.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/plugins/relay/test-relay-http.cpp b/tests/unit/plugins/relay/test-relay-http.cpp
index 1a3686669..bf0700ee4 100644
--- a/tests/unit/plugins/relay/test-relay-http.cpp
+++ b/tests/unit/plugins/relay/test-relay-http.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/plugins/relay/test-relay-raw.cpp b/tests/unit/plugins/relay/test-relay-raw.cpp
index 4db3d334b..9d5df8ad0 100644
--- a/tests/unit/plugins/relay/test-relay-raw.cpp
+++ b/tests/unit/plugins/relay/test-relay-raw.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/plugins/relay/test-relay-remote.cpp b/tests/unit/plugins/relay/test-relay-remote.cpp
index 2bdd1b395..38066c066 100644
--- a/tests/unit/plugins/relay/test-relay-remote.cpp
+++ b/tests/unit/plugins/relay/test-relay-remote.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/plugins/relay/test-relay-websocket.cpp b/tests/unit/plugins/relay/test-relay-websocket.cpp
index 4000032ae..e15f3907c 100644
--- a/tests/unit/plugins/relay/test-relay-websocket.cpp
+++ b/tests/unit/plugins/relay/test-relay-websocket.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/plugins/test-plugin-api-info.cpp b/tests/unit/plugins/test-plugin-api-info.cpp
index c4685633b..e5979dc7b 100644
--- a/tests/unit/plugins/test-plugin-api-info.cpp
+++ b/tests/unit/plugins/test-plugin-api-info.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/plugins/test-plugin-config.cpp b/tests/unit/plugins/test-plugin-config.cpp
index 1252dd498..faa3306fb 100644
--- a/tests/unit/plugins/test-plugin-config.cpp
+++ b/tests/unit/plugins/test-plugin-config.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/plugins/trigger/test-trigger-config.cpp b/tests/unit/plugins/trigger/test-trigger-config.cpp
index 300583767..2fe3acce3 100644
--- a/tests/unit/plugins/trigger/test-trigger-config.cpp
+++ b/tests/unit/plugins/trigger/test-trigger-config.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/plugins/trigger/test-trigger.cpp b/tests/unit/plugins/trigger/test-trigger.cpp
index 3fb9ded66..9ad941c17 100644
--- a/tests/unit/plugins/trigger/test-trigger.cpp
+++ b/tests/unit/plugins/trigger/test-trigger.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/plugins/typing/test-typing-status.cpp b/tests/unit/plugins/typing/test-typing-status.cpp
index c0cf8a578..1d2859002 100644
--- a/tests/unit/plugins/typing/test-typing-status.cpp
+++ b/tests/unit/plugins/typing/test-typing-status.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/plugins/typing/test-typing.cpp b/tests/unit/plugins/typing/test-typing.cpp
index e7b8085bf..c34b63635 100644
--- a/tests/unit/plugins/typing/test-typing.cpp
+++ b/tests/unit/plugins/typing/test-typing.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/unit/plugins/xfer/test-xfer-network.cpp b/tests/unit/plugins/xfer/test-xfer-network.cpp
index a74bdc1b1..bec2f5072 100644
--- a/tests/unit/plugins/xfer/test-xfer-network.cpp
+++ b/tests/unit/plugins/xfer/test-xfer-network.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
diff --git a/tests/scripts/python/testapi.py b/tests/unit/scripts/python/testapi.py
similarity index 100%
rename from tests/scripts/python/testapi.py
rename to tests/unit/scripts/python/testapi.py
diff --git a/tests/scripts/python/testapigen.py b/tests/unit/scripts/python/testapigen.py
similarity index 100%
rename from tests/scripts/python/testapigen.py
rename to tests/unit/scripts/python/testapigen.py
diff --git a/tests/scripts/python/unparse.py b/tests/unit/scripts/python/unparse.py
similarity index 100%
rename from tests/scripts/python/unparse.py
rename to tests/unit/scripts/python/unparse.py
diff --git a/tests/scripts/test-scripts.cpp b/tests/unit/scripts/test-scripts.cpp
similarity index 99%
rename from tests/scripts/test-scripts.cpp
rename to tests/unit/scripts/test-scripts.cpp
index f18a9820b..a277813dc 100644
--- a/tests/scripts/test-scripts.cpp
+++ b/tests/unit/scripts/test-scripts.cpp
@@ -23,7 +23,7 @@
#include "CppUTest/TestHarness.h"
-#include "tests/tests.h"
+#include "tests.h"
extern "C"
{
@@ -169,7 +169,7 @@ TEST(Scripts, API)
ptr_test_scripts_dir = getenv ("WEECHAT_TESTS_SCRIPTS_DIR");
test_scripts_dir = strdup (
(ptr_test_scripts_dir) ?
- ptr_test_scripts_dir : "../tests/scripts/python");
+ ptr_test_scripts_dir : "./scripts/python");
/* build paths for scripting API tests */
snprintf (path_testapigen, sizeof (path_testapigen),
diff --git a/tests/tests-record.cpp b/tests/unit/tests-record.cpp
similarity index 100%
rename from tests/tests-record.cpp
rename to tests/unit/tests-record.cpp
diff --git a/tests/tests-record.h b/tests/unit/tests-record.h
similarity index 100%
rename from tests/tests-record.h
rename to tests/unit/tests-record.h
diff --git a/tests/tests.cpp b/tests/unit/tests.cpp
similarity index 100%
rename from tests/tests.cpp
rename to tests/unit/tests.cpp
diff --git a/tests/tests.h b/tests/unit/tests.h
similarity index 100%
rename from tests/tests.h
rename to tests/unit/tests.h