diff options
author | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2017-08-21 09:32:02 +0200 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2017-08-21 09:37:13 +0200 |
commit | 12b3725aeff5d016d11853c9c8d5077f7e8f7b71 (patch) | |
tree | 8c00dedc9445f5860f9787c5783a5bec895d175e /onlineupdate | |
parent | 8eb8e427d1e0757fe0add304cfdbe2d6aae4d9c9 (diff) |
updater: add a way to test the dialog code of the updater
Change-Id: I7436edc85f87d1f68b50d39bf29564ff498c9ab9
Diffstat (limited to 'onlineupdate')
-rw-r--r-- | onlineupdate/Executable_test_updater_dialog.mk | 72 | ||||
-rw-r--r-- | onlineupdate/Module_onlineupdate.mk | 1 | ||||
-rw-r--r-- | onlineupdate/workben/test_dialog.cxx | 34 |
3 files changed, 107 insertions, 0 deletions
diff --git a/onlineupdate/Executable_test_updater_dialog.mk b/onlineupdate/Executable_test_updater_dialog.mk new file mode 100644 index 000000000000..92e70dfae337 --- /dev/null +++ b/onlineupdate/Executable_test_updater_dialog.mk @@ -0,0 +1,72 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +$(eval $(call gb_Executable_Executable,test_updater_dialog)) + +$(eval $(call gb_Executable_set_include,test_updater_dialog,\ + -I$(SRCDIR)/onlineupdate/inc \ + -I$(SRCDIR)/onlineupdate/source/update/common \ + -I$(SRCDIR)/onlineupdate/source/update/updater/xpcom/glue \ + -I$(SRCDIR)/onlineupdate/source/update/updater \ + $$(INCLUDE) \ +)) + +$(eval $(call gb_Executable_use_static_libraries,test_updater_dialog,\ + updatehelper \ +)) + +ifeq ($(OS),WNT) +$(eval $(call gb_Executable_add_libs,test_updater_dialog,\ + Ws2_32.lib \ + Gdi32.lib \ + Comctl32.lib \ + Shell32.lib \ + Shlwapi.lib \ + Crypt32.lib \ +)) + +$(eval $(call gb_Executable_set_targettype_gui,test_updater_dialog,YES)) + +$(eval $(call gb_Executable_add_nativeres,test_updater_dialog,updaterres)) + +$(eval $(call gb_Executable_add_ldflags,test_updater_dialog,\ + /ENTRY:wmainCRTStartup \ +)) + +$(eval $(call gb_Executable_add_defs,test_updater_dialog,\ + -DUNICODE \ +)) + +else + +$(eval $(call gb_Executable_add_defs,test_updater_dialog,\ + -DVERIFY_MAR_SIGNATURE \ + -DNSS3 \ +)) + +$(eval $(call gb_Executable_use_externals,test_updater_dialog,\ + nss3 \ + gtk \ +)) + +$(eval $(call gb_Executable_add_libs,test_updater_dialog,\ + -lX11 \ + -lXext \ + -lXrender \ + -lSM \ + -lICE \ + -lpthread \ +)) +endif + +$(eval $(call gb_Executable_add_exception_objects,test_updater_dialog,\ + onlineupdate/workben/test_dialog \ +)) + +# vim:set shiftwidth=4 tabstop=4 noexpandtab: */ diff --git a/onlineupdate/Module_onlineupdate.mk b/onlineupdate/Module_onlineupdate.mk index a900e631a877..a343506e351d 100644 --- a/onlineupdate/Module_onlineupdate.mk +++ b/onlineupdate/Module_onlineupdate.mk @@ -17,6 +17,7 @@ $(eval $(call gb_Module_add_targets,onlineupdate,\ StaticLibrary_updatehelper \ $(if $(filter WNT,$(OS)),\ Executable_update_service \ + Executable_test_updater_dialog \ WinResTarget_updater )\ Executable_mar \ Executable_updater \ diff --git a/onlineupdate/workben/test_dialog.cxx b/onlineupdate/workben/test_dialog.cxx new file mode 100644 index 000000000000..113ec07eebbd --- /dev/null +++ b/onlineupdate/workben/test_dialog.cxx @@ -0,0 +1,34 @@ +#include "progressui.h" +#include "progressui_win.cxx" + +#include <thread> +#include <chrono> +#include <iostream> + +void func() +{ + for (int i = 0; i <= 100; ++i) + { + std::this_thread::sleep_for(std::chrono::milliseconds(200)); + UpdateProgressUI(i); + } + QuitProgressUI(); +} + +int wmain(int argc, wchar_t** argv) +{ + InitProgressUI(&argc, &argv); + std::thread a(func); + /* + volatile bool b = false; + do + { + std::this_thread::sleep_for(std::chrono::seconds(1)); + } + while (!b); + */ + int result = ShowProgressUI(); + std::cout << result << std::endl; + a.join(); + return 0; +} |