mirror of
https://github.com/altlinux/admc.git
synced 2025-03-31 18:50:14 +03:00
speed up tests build
build admc as lib and link all tests to that lib
This commit is contained in:
parent
9c2037bf73
commit
bee2a3c8af
@ -15,8 +15,22 @@ set(ADMC_ORGANIZATION "BaseALT")
|
||||
set(ADMC_ORGANIZATION_DOMAIN "basealt.ru")
|
||||
configure_file("config.h.in" "config.h")
|
||||
|
||||
add_executable(admc
|
||||
main.cpp
|
||||
include_directories(
|
||||
PRIVATE
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${PROJECT_SOURCE_DIR}/src/adldap
|
||||
)
|
||||
|
||||
link_libraries(
|
||||
Qt5::Core
|
||||
Qt5::Widgets
|
||||
Qt5::Help
|
||||
adldap
|
||||
resolv
|
||||
)
|
||||
|
||||
set(ADMC_SOURCES
|
||||
properties_dialog.cpp
|
||||
main_window.cpp
|
||||
status.cpp
|
||||
@ -111,19 +125,15 @@ add_executable(admc
|
||||
admc.qrc
|
||||
)
|
||||
|
||||
target_include_directories(admc
|
||||
PRIVATE
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${PROJECT_SOURCE_DIR}/src/adldap
|
||||
add_executable(admc
|
||||
main.cpp
|
||||
${ADMC_SOURCES}
|
||||
)
|
||||
|
||||
target_link_libraries(admc
|
||||
Qt5::Core
|
||||
Qt5::Widgets
|
||||
Qt5::Help
|
||||
adldap
|
||||
resolv
|
||||
# NOTE: build admc as library to streamline building tests.
|
||||
# Tests just link to this lib and use all of admc's code.
|
||||
add_library(libadmc SHARED
|
||||
${ADMC_SOURCES}
|
||||
)
|
||||
|
||||
set(TS_FILES
|
||||
|
@ -10,111 +10,22 @@ find_package(Qt5 REQUIRED
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTORCC ON)
|
||||
|
||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
link_libraries(
|
||||
Qt5::Core
|
||||
Qt5::Widgets
|
||||
Qt5::Test
|
||||
Qt5::Help
|
||||
adldap
|
||||
libadmc
|
||||
)
|
||||
|
||||
set(ADMC_APPLICATION_NAME "ADMC")
|
||||
set(ADMC_APPLICATION_DISPLAY_NAME "ADMC")
|
||||
set(ADMC_ORGANIZATION "BaseALT")
|
||||
set(ADMC_ORGANIZATION_DOMAIN "basealt.ru")
|
||||
|
||||
# TODO: configure_file() call in admc's cmakelists is much cleaner, but doesn't work here. Fix this.
|
||||
configure_file(${PROJECT_SOURCE_DIR}/src/admc/config.h.in "config.h")
|
||||
|
||||
set(TEST_SOURCES
|
||||
admc_test.cpp
|
||||
|
||||
${PROJECT_SOURCE_DIR}/src/admc/properties_dialog.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/main_window.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/status.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/select_object_dialog.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/console_actions.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/password_dialog.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/find_results.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/filter_dialog.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/find_widget.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/tab_widget.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/central_widget.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/search_thread.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/help_browser.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/globals.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/utils.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/settings.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/policy_results_widget.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/gplink.cpp
|
||||
|
||||
${PROJECT_SOURCE_DIR}/src/admc/console_types/console_object.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/console_types/console_policy.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/console_types/console_query.cpp
|
||||
|
||||
${PROJECT_SOURCE_DIR}/src/admc/move_object_dialog.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/rename_object_dialog.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/rename_policy_dialog.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/create_object_dialog.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/find_object_dialog.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/find_select_object_dialog.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/select_container_dialog.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/about_dialog.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/manual_dialog.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/select_policy_dialog.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/create_policy_dialog.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/create_query_dialog.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/create_query_folder_dialog.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/edit_query_folder_dialog.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/move_query_dialog.cpp
|
||||
|
||||
${PROJECT_SOURCE_DIR}/src/admc/filter_widget/filter_widget.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/filter_widget/filter_widget_simple_tab.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/filter_widget/filter_widget_normal_tab.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/filter_widget/filter_widget_advanced_tab.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/filter_widget/select_classes_widget.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/filter_widget/filter_builder.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/filter_widget/search_base_widget.cpp
|
||||
|
||||
${PROJECT_SOURCE_DIR}/src/admc/tabs/properties_tab.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/tabs/general_tab.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/tabs/object_tab.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/tabs/attributes_tab.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/tabs/account_tab.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/tabs/membership_tab.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/tabs/address_tab.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/tabs/group_policy_tab.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/tabs/gpo_links_tab.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/tabs/organization_tab.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/tabs/telephones_tab.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/tabs/profile_tab.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/tabs/managed_by_tab.cpp
|
||||
|
||||
${PROJECT_SOURCE_DIR}/src/admc/editors/attribute_editor.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/editors/multi_editor.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/editors/string_editor.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/editors/octet_editor.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/editors/bool_editor.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/editors/datetime_editor.cpp
|
||||
|
||||
${PROJECT_SOURCE_DIR}/src/admc/edits/attribute_edit.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/edits/string_edit.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/edits/string_other_edit.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/edits/string_large_edit.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/edits/country_edit.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/edits/expiry_edit.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/edits/unlock_edit.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/edits/group_scope_edit.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/edits/group_type_edit.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/edits/account_option_edit.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/edits/password_edit.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/edits/datetime_edit.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/edits/gpoptions_edit.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/edits/manager_edit.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/edits/upn_edit.cpp
|
||||
|
||||
${PROJECT_SOURCE_DIR}/src/admc/console_widget/console_widget.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/console_widget/scope_model.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/console_widget/customize_columns_dialog.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/console_widget/results_description.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/console_widget/results_view.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/admc/console_widget/console_drag_model.cpp
|
||||
|
||||
${PROJECT_SOURCE_DIR}/src/admc/admc.qrc
|
||||
include_directories(
|
||||
PRIVATE
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${PROJECT_SOURCE_DIR}/src/admc
|
||||
${PROJECT_SOURCE_DIR}/src/adldap
|
||||
${PROJECT_SOURCE_DIR}/tests
|
||||
)
|
||||
|
||||
# NOTE: ADD ALL TESTS TO THIS LIST
|
||||
@ -132,32 +43,13 @@ set(TEST_TARGETS
|
||||
|
||||
foreach(target ${TEST_TARGETS})
|
||||
add_executable(${target}
|
||||
admc_test.cpp
|
||||
${target}.cpp
|
||||
|
||||
${TEST_SOURCES}
|
||||
)
|
||||
|
||||
add_test(${target}
|
||||
${PROJECT_BINARY_DIR}/${target}
|
||||
)
|
||||
|
||||
target_include_directories(${target}
|
||||
PRIVATE
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${PROJECT_SOURCE_DIR}/src/admc
|
||||
${PROJECT_SOURCE_DIR}/tests
|
||||
${PROJECT_SOURCE_DIR}/src/adldap
|
||||
)
|
||||
|
||||
target_link_libraries(${target}
|
||||
Qt5::Core
|
||||
Qt5::Widgets
|
||||
Qt5::Test
|
||||
Qt5::Help
|
||||
adldap
|
||||
resolv
|
||||
)
|
||||
|
||||
install(TARGETS ${target})
|
||||
endforeach()
|
||||
|
@ -38,7 +38,10 @@ void ADMCTest::initTestCase() {
|
||||
QVERIFY2(ad.is_connected(), "Failed to connect to AD server");
|
||||
|
||||
// TODO: check for load failure
|
||||
g_adconfig->load(ad, QLocale(QLocale::English));
|
||||
ad_config = new AdConfig();
|
||||
ad_config->load(ad, QLocale(QLocale::English));
|
||||
|
||||
AdInterface::set_permanent_adconfig(ad_config);
|
||||
|
||||
// Cleanup before all tests in-case this test suite was
|
||||
// previously interrupted and a cleanup wasn't performed
|
||||
@ -90,7 +93,7 @@ void ADMCTest::cleanup() {
|
||||
}
|
||||
|
||||
QString ADMCTest::test_arena_dn() {
|
||||
const QString head_dn = g_adconfig->domain_head();
|
||||
const QString head_dn = ad_config->domain_head();
|
||||
const QString dn = QString("OU=test-arena,%1").arg(head_dn);
|
||||
|
||||
return dn;
|
||||
|
@ -34,6 +34,7 @@
|
||||
|
||||
class QString;
|
||||
class QTreeView;
|
||||
class AdConfig;
|
||||
|
||||
#define TEST_USER "test-user"
|
||||
#define TEST_USER_LOGON "test-user-logon"
|
||||
@ -94,6 +95,8 @@ protected:
|
||||
void close_message_box_later();
|
||||
|
||||
private:
|
||||
AdConfig *ad_config;
|
||||
|
||||
void close_message_box_slot();
|
||||
|
||||
};
|
||||
|
@ -19,28 +19,7 @@
|
||||
|
||||
#include "admc_test_ad_interface.h"
|
||||
|
||||
#include "adldap.h"
|
||||
#include "create_object_dialog.h"
|
||||
#include "utils.h"
|
||||
#include "status.h"
|
||||
#include "console_types/console_object.h"
|
||||
#include "select_container_dialog.h"
|
||||
#include "select_object_dialog.h"
|
||||
#include "find_select_object_dialog.h"
|
||||
#include "settings.h"
|
||||
#include "rename_object_dialog.h"
|
||||
#include "find_object_dialog.h"
|
||||
#include "move_object_dialog.h"
|
||||
#include "password_dialog.h"
|
||||
#include "find_widget.h"
|
||||
#include "console_actions.h"
|
||||
|
||||
#include <QTest>
|
||||
#include <QDebug>
|
||||
#include <QModelIndex>
|
||||
#include <QTreeView>
|
||||
#include <QPushButton>
|
||||
#include <QComboBox>
|
||||
|
||||
void ADMCTestAdInterface::object_add() {
|
||||
const QString dn = test_object_dn(TEST_USER, CLASS_USER);
|
||||
|
@ -19,7 +19,6 @@
|
||||
|
||||
#include "admc_test_country_edit.h"
|
||||
|
||||
#include "adldap.h"
|
||||
#include "edits/country_edit.h"
|
||||
|
||||
#include <QFormLayout>
|
||||
|
@ -22,18 +22,15 @@
|
||||
#include "adldap.h"
|
||||
#include "create_object_dialog.h"
|
||||
#include "utils.h"
|
||||
#include "status.h"
|
||||
#include "console_types/console_object.h"
|
||||
#include "select_container_dialog.h"
|
||||
#include "select_object_dialog.h"
|
||||
#include "find_select_object_dialog.h"
|
||||
#include "settings.h"
|
||||
#include "rename_object_dialog.h"
|
||||
#include "find_object_dialog.h"
|
||||
#include "move_object_dialog.h"
|
||||
#include "password_dialog.h"
|
||||
#include "find_widget.h"
|
||||
#include "console_actions.h"
|
||||
|
||||
#include <QTest>
|
||||
#include <QDebug>
|
||||
|
@ -19,7 +19,6 @@
|
||||
|
||||
#include "admc_test_string_edit.h"
|
||||
|
||||
#include "adldap.h"
|
||||
#include "edits/string_edit.h"
|
||||
|
||||
#include <QFormLayout>
|
||||
|
@ -19,7 +19,6 @@
|
||||
|
||||
#include "admc_test_unlock_edit.h"
|
||||
|
||||
#include "adldap.h"
|
||||
#include "edits/unlock_edit.h"
|
||||
|
||||
#include <QFormLayout>
|
||||
|
@ -19,7 +19,6 @@
|
||||
|
||||
#include "admc_test_upn_edit.h"
|
||||
|
||||
#include "adldap.h"
|
||||
#include "edits/upn_edit.h"
|
||||
|
||||
#include <QFormLayout>
|
||||
|
Loading…
x
Reference in New Issue
Block a user