[Libreoffice-commits] core.git: onlineupdate/Executable_test_updater_dialog.mk onlineupdate/Module_onlineupdate.mk onlineupdate/workben Repository.mk

Markus Mohrhard markus.mohrhard at googlemail.com
Mon Aug 21 07:40:46 UTC 2017


 Repository.mk                                  |    4 +
 onlineupdate/Executable_test_updater_dialog.mk |   72 +++++++++++++++++++++++++
 onlineupdate/Module_onlineupdate.mk            |    1 
 onlineupdate/workben/test_dialog.cxx           |   34 +++++++++++
 4 files changed, 111 insertions(+)

New commits:
commit 12b3725aeff5d016d11853c9c8d5077f7e8f7b71
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Mon Aug 21 09:32:02 2017 +0200

    updater: add a way to test the dialog code of the updater
    
    Change-Id: I7436edc85f87d1f68b50d39bf29564ff498c9ab9

diff --git a/Repository.mk b/Repository.mk
index d133131551a0..736e13370503 100644
--- a/Repository.mk
+++ b/Repository.mk
@@ -56,6 +56,10 @@ $(eval $(call gb_Helper_register_executables,NONE, \
 	sp2bv \
 	svg2odf \
 	svidl \
+	$(if $(ENABLE_ONLINE_UPDATE_MAR),\
+		$(if $(filter WNT,$(OS)), \
+			test_updater_dialog \
+	)) \
 	treex \
 	ulfex \
 	unoidl-read \
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;
+}


More information about the Libreoffice-commits mailing list