Merge lp:~laney/dbus-test-runner/no-werror into lp:dbus-test-runner

Proposed by Iain Lane
Status: Superseded
Proposed branch: lp:~laney/dbus-test-runner/no-werror
Merge into: lp:dbus-test-runner
Diff against target: 384 lines (+118/-20)
9 files modified
build.sh (+1/-1)
debian/changelog (+6/-0)
debian/libdbustest1.symbols (+1/-0)
libdbustest/Makefile.am (+2/-2)
libdbustest/service.c (+41/-7)
libdbustest/task.c (+59/-4)
libdbustest/task.h (+2/-0)
src/Makefile.am (+1/-1)
tests/Makefile.am (+5/-5)
To merge this branch: bzr merge lp:~laney/dbus-test-runner/no-werror
Reviewer Review Type Date Requested Status
Indicator Applet Developers Pending
Review via email: mp+352238@code.launchpad.net

This proposal has been superseded by a proposal from 2019-01-14.

Commit message

Don't build with -Werror, it causes unnecessary build failures

To post a comment you must log in.

Unmerged revisions

101. By Iain Lane

Don't build with -Werror

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'build.sh'
2--- build.sh 2009-04-23 19:56:27 +0000
3+++ build.sh 2018-08-03 06:42:33 +0000
4@@ -1,3 +1,3 @@
5 #!/bin/sh
6
7-gcc -o dbus-test-runner `pkg-config --cflags --libs glib-2.0 gobject-2.0` dbus-test-runner.c -Wall -Werror
8+gcc -o dbus-test-runner `pkg-config --cflags --libs glib-2.0 gobject-2.0` dbus-test-runner.c -Wall
9
10=== modified file 'debian/changelog'
11--- debian/changelog 2016-09-06 14:33:59 +0000
12+++ debian/changelog 2018-08-03 06:42:33 +0000
13@@ -1,3 +1,9 @@
14+dbus-test-runner (15.04.0+16.10.20160906-0ubuntu2) UNRELEASED; urgency=medium
15+
16+ * Don't build with -Werror
17+
18+ -- Iain Lane <iain.lane@canonical.com> Fri, 03 Aug 2018 07:27:32 +0100
19+
20 dbus-test-runner (15.04.0+16.10.20160906-0ubuntu1) yakkety; urgency=medium
21
22 * Adjusting all the waits to be 60 seconds
23
24=== modified file 'debian/libdbustest1.symbols'
25--- debian/libdbustest1.symbols 2015-02-18 03:44:59 +0000
26+++ debian/libdbustest1.symbols 2018-08-03 06:42:33 +0000
27@@ -22,6 +22,7 @@
28 dbus_test_service_new@Base 15.04.0+15.04.20141209
29 dbus_test_service_remove_task@Base 15.04.0+15.04.20150218
30 dbus_test_service_run@Base 15.04.0+15.04.20141209
31+ dbus_test_task_prepare@Base 15.04.0+15.04.20150218
32 dbus_test_service_set_bus@Base 15.04.0+15.04.20141209
33 dbus_test_service_set_conf_file@Base 15.04.0+15.04.20141209
34 dbus_test_service_set_daemon@Base 15.04.0+15.04.20141209
35
36=== modified file 'libdbustest/Makefile.am'
37--- libdbustest/Makefile.am 2014-11-06 19:51:07 +0000
38+++ libdbustest/Makefile.am 2018-08-03 06:42:33 +0000
39@@ -40,7 +40,7 @@
40 -DBUSTLE_DUAL_MONITOR="\"$(pkgdatadir)/dbus-test-bustle-handler\"" \
41 -DWATCHDOG="\"$(pkglibexecdir)/dbus-test-watchdog\"" \
42 -DG_LOG_DOMAIN=\"libdbustest\" \
43- -Wall -Werror -Wextra
44+ -Wall -Wextra
45
46 libdbustest_la_LIBADD = \
47 libdbustest-generated.la \
48@@ -59,7 +59,7 @@
49 $(DBUS_TEST_RUNNER_CFLAGS) \
50 -I$(builddir) \
51 -DG_LOG_DOMAIN=\"libdbustest\" \
52- -Wall -Werror
53+ -Wall
54
55 libdbustest_generated_la_SOURCES = \
56 dbus-mock-iface.h \
57
58=== modified file 'libdbustest/service.c'
59--- libdbustest/service.c 2015-02-13 17:19:17 +0000
60+++ libdbustest/service.c 2018-08-03 06:42:33 +0000
61@@ -37,6 +37,7 @@
62 STATE_DAEMON_STARTING,
63 STATE_DAEMON_STARTED,
64 STATE_DAEMON_FAILED,
65+ STATE_PREPARING,
66 STATE_STARTING,
67 STATE_STARTED,
68 STATE_RUNNING,
69@@ -263,7 +264,7 @@
70 {
71 DbusTestTaskState state = dbus_test_task_get_state(task);
72
73- if (state == DBUS_TEST_TASK_STATE_INIT || state == DBUS_TEST_TASK_STATE_WAITING) {
74+ if (state == DBUS_TEST_TASK_STATE_INIT || state == DBUS_TEST_TASK_STATE_WAITING || state == DBUS_TEST_TASK_STATE_PREPARED) {
75 return FALSE;
76 }
77
78@@ -271,6 +272,30 @@
79 }
80
81 static gboolean
82+all_tasks_prepared_helper (G_GNUC_UNUSED DbusTestService * service, DbusTestTask * task, G_GNUC_UNUSED gpointer user_data)
83+{
84+ DbusTestTaskState state = dbus_test_task_get_state(task);
85+ g_debug("all_tasks_prepared_helper");
86+
87+ if (state == DBUS_TEST_TASK_STATE_INIT || state == DBUS_TEST_TASK_STATE_PREPARED) {
88+ return TRUE;
89+ }
90+
91+ return FALSE;
92+}
93+
94+static gboolean
95+all_tasks_start_tasks_helper (G_GNUC_UNUSED DbusTestService * service, DbusTestTask * task, G_GNUC_UNUSED gpointer user_data)
96+
97+{
98+ dbus_test_task_run(task);
99+
100+ return TRUE;
101+}
102+
103+
104+
105+static gboolean
106 all_tasks_bus_match (DbusTestService * service, DbusTestTask * task, G_GNUC_UNUSED gpointer user_data)
107 {
108 return service->priv->bus_type == DBUS_TEST_SERVICE_BUS_BOTH ||
109@@ -368,11 +393,11 @@
110 }
111
112 static void
113-task_starter (gpointer data, G_GNUC_UNUSED gpointer user_data)
114+task_preparer (gpointer data, G_GNUC_UNUSED gpointer user_data)
115 {
116 DbusTestTask * task = DBUS_TEST_TASK(data);
117
118- dbus_test_task_run(task);
119+ dbus_test_task_prepare(task);
120
121 return;
122 }
123@@ -548,20 +573,21 @@
124
125 normalize_name_lengths(service);
126
127- g_queue_foreach(&service->priv->tasks_first, task_starter, NULL);
128+ service->priv->state = STATE_PREPARING;
129+ g_queue_foreach(&service->priv->tasks_first, task_preparer, NULL);
130 if (!g_queue_is_empty(&service->priv->tasks_first)) {
131 g_usleep(100000);
132 }
133
134- g_queue_foreach(&service->priv->tasks_normal, task_starter, NULL);
135+ g_queue_foreach(&service->priv->tasks_normal, task_preparer, NULL);
136
137 if (!g_queue_is_empty(&service->priv->tasks_last)) {
138 g_usleep(100000);
139 }
140- g_queue_foreach(&service->priv->tasks_last, task_starter, NULL);
141+ g_queue_foreach(&service->priv->tasks_last, task_preparer, NULL);
142
143 if (!all_tasks(service, all_tasks_started_helper, NULL)) {
144- service->priv->state = STATE_STARTING;
145+ g_debug("starting?");
146 g_main_loop_run(service->priv->mainloop);
147
148 /* This should never happen, but let's be sure */
149@@ -620,6 +646,14 @@
150 {
151 g_return_if_fail(DBUS_TEST_IS_SERVICE(user_data));
152 DbusTestService * service = DBUS_TEST_SERVICE(user_data);
153+ g_debug("task_state_changed");
154+
155+ /* Once they're all prepared, we can start them */
156+ if (service->priv->state == STATE_PREPARING && all_tasks(service, all_tasks_prepared_helper, NULL)) {
157+ service->priv->state = STATE_STARTING;
158+ g_debug("starting tasks");
159+ all_tasks(service, all_tasks_start_tasks_helper, NULL);
160+ }
161
162 if (service->priv->state == STATE_STARTING && all_tasks(service, all_tasks_started_helper, NULL)) {
163 g_main_loop_quit(service->priv->mainloop);
164
165=== modified file 'libdbustest/task.c'
166--- libdbustest/task.c 2015-01-30 02:36:45 +0000
167+++ libdbustest/task.c 2018-08-03 06:42:33 +0000
168@@ -39,6 +39,8 @@
169 gboolean wait_until_complete;
170
171 DbusTestServiceBus preferred_bus;
172+
173+ gboolean watch_established;
174 };
175
176 /* Signals */
177@@ -106,6 +108,8 @@
178
179 self->priv->preferred_bus = DBUS_TEST_SERVICE_BUS_BOTH;
180
181+ self->priv->watch_established = FALSE;
182+
183 return;
184 }
185
186@@ -249,13 +253,21 @@
187 dbus_test_task_get_state (DbusTestTask * task)
188 {
189 g_return_val_if_fail(DBUS_TEST_IS_TASK(task), DBUS_TEST_TASK_STATE_FINISHED);
190+ g_debug("get_state");
191
192- if (task->priv->wait_task != 0) {
193+ if (task->priv->wait_task != 0 && !task->priv->watch_established) {
194+ g_debug("waiting");
195 return DBUS_TEST_TASK_STATE_WAITING;
196 }
197
198+ if (task->priv->wait_task != 0 && task->priv->watch_established && !task->priv->been_run) {
199+ g_debug("prepared");
200+ return DBUS_TEST_TASK_STATE_PREPARED;
201+ }
202+
203 DbusTestTaskClass * klass = DBUS_TEST_TASK_GET_CLASS(task);
204 if (klass->get_state != NULL) {
205+ g_debug("ret");
206 return klass->get_state(task);
207 }
208
209@@ -278,7 +290,9 @@
210 wait_for_found (G_GNUC_UNUSED GDBusConnection * connection, G_GNUC_UNUSED const gchar * name, G_GNUC_UNUSED const gchar * name_owner, gpointer user_data)
211 {
212 g_return_if_fail(DBUS_TEST_IS_TASK(user_data));
213+
214 DbusTestTask * task = DBUS_TEST_TASK(user_data);
215+ g_debug("wait_for_found");
216
217 g_bus_unwatch_name(task->priv->wait_task);
218 task->priv->wait_task = 0;
219@@ -288,16 +302,33 @@
220 if (klass->run != NULL) {
221 klass->run(task);
222 } else {
223+ g_debug("finished");
224 g_signal_emit(G_OBJECT(task), signals[STATE_CHANGED], 0, DBUS_TEST_TASK_STATE_FINISHED, NULL);
225 }
226
227 return;
228 }
229
230+static void watch_established (GDBusConnection * connection G_GNUC_UNUSED,
231+ const gchar * name,
232+ gpointer user_data)
233+{
234+ g_return_if_fail(DBUS_TEST_IS_TASK(user_data));
235+ DbusTestTask * task = DBUS_TEST_TASK(user_data);
236+ task->priv->watch_established = TRUE;
237+ g_debug("Watch established");
238+
239+ g_return_if_fail(g_strcmp0(task->priv->wait_for, name) == 0);
240+
241+ g_debug("emit prepared 2");
242+ g_signal_emit(G_OBJECT(task), signals[STATE_CHANGED], 0, DBUS_TEST_TASK_STATE_PREPARED, NULL);
243+}
244+
245 void
246-dbus_test_task_run (DbusTestTask * task)
247+dbus_test_task_prepare (DbusTestTask * task)
248 {
249 g_return_if_fail(DBUS_TEST_IS_TASK(task));
250+ g_debug("Preparing");
251
252 /* We're going to process the waiting at this level if we've been
253 asked to do so */
254@@ -308,22 +339,46 @@
255 bustype = G_BUS_TYPE_SYSTEM;
256 }
257
258+ /* We start the process that will own the name on our private bus, so
259+ * we will always get watch_established first */
260 task->priv->wait_task = g_bus_watch_name(bustype,
261 task->priv->wait_for,
262 G_BUS_NAME_WATCHER_FLAGS_NONE,
263 wait_for_found,
264- NULL,
265+ watch_established,
266 task,
267 NULL);
268- g_signal_emit(G_OBJECT(task), signals[STATE_CHANGED], 0, DBUS_TEST_TASK_STATE_WAITING, NULL);
269 return;
270 }
271
272+ g_debug("emit prepared");
273+ task->priv->watch_established = TRUE; /* no watch needed */
274+ g_signal_emit(G_OBJECT(task), signals[STATE_CHANGED], 0, DBUS_TEST_TASK_STATE_PREPARED, NULL);
275+
276+ return;
277+}
278+
279+void
280+dbus_test_task_run (DbusTestTask * task)
281+{
282+ g_return_if_fail(DBUS_TEST_IS_TASK(task));
283+
284 DbusTestTaskClass * klass = DBUS_TEST_TASK_GET_CLASS(task);
285 task->priv->been_run = TRUE;
286+
287+
288+ /* We're waiting for a name */
289+ if (task->priv->wait_for != NULL) {
290+ if (dbus_test_task_get_state(task) == DBUS_TEST_TASK_STATE_PREPARED) {
291+ g_critical("task is not prepared: run dbus_test_task_prepare() first");
292+ }
293+ return;
294+ }
295+
296 if (klass->run != NULL) {
297 klass->run(task);
298 } else {
299+ g_debug("finished");
300 g_signal_emit(G_OBJECT(task), signals[STATE_CHANGED], 0, DBUS_TEST_TASK_STATE_FINISHED, NULL);
301 }
302
303
304=== modified file 'libdbustest/task.h'
305--- libdbustest/task.h 2015-01-30 02:36:45 +0000
306+++ libdbustest/task.h 2018-08-03 06:42:33 +0000
307@@ -45,6 +45,7 @@
308 typedef enum
309 {
310 DBUS_TEST_TASK_STATE_INIT,
311+ DBUS_TEST_TASK_STATE_PREPARED,
312 DBUS_TEST_TASK_STATE_WAITING,
313 DBUS_TEST_TASK_STATE_RUNNING,
314 DBUS_TEST_TASK_STATE_FINISHED
315@@ -96,6 +97,7 @@
316 gboolean dbus_test_task_get_wait_finished (DbusTestTask * task);
317 DbusTestServiceBus dbus_test_task_get_bus (DbusTestTask * task);
318
319+void dbus_test_task_prepare (DbusTestTask * task);
320 void dbus_test_task_run (DbusTestTask * task);
321
322 gboolean dbus_test_task_passed (DbusTestTask * task);
323
324=== modified file 'src/Makefile.am'
325--- src/Makefile.am 2012-10-02 03:15:57 +0000
326+++ src/Makefile.am 2018-08-03 06:42:33 +0000
327@@ -6,7 +6,7 @@
328 $(COVERAGE_CFLAGS) \
329 -I$(top_srcdir) \
330 -DDEFAULT_SESSION_CONF="\"$(datadir)/dbus-test-runner/session.conf\"" \
331- -Wall -Werror -Wextra
332+ -Wall -Wextra
333 dbus_test_runner_LDADD = $(DBUS_TEST_RUNNER_LIBS) \
334 $(top_builddir)/libdbustest/libdbustest.la
335 dbus_test_runner_LDFLAGS = $(COVERAGE_LDFLAGS)
336
337=== modified file 'tests/Makefile.am'
338--- tests/Makefile.am 2015-09-08 22:05:14 +0000
339+++ tests/Makefile.am 2018-08-03 06:42:33 +0000
340@@ -245,7 +245,7 @@
341 test-own-name.c
342 test_own_name_CFLAGS = \
343 $(DBUS_TEST_RUNNER_CFLAGS) \
344- -Wall -Werror
345+ -Wall
346 test_own_name_LDADD = \
347 $(DBUS_TEST_RUNNER_LIBS)
348
349@@ -253,7 +253,7 @@
350 test-check-name.c
351 test_check_name_CFLAGS = \
352 $(DBUS_TEST_RUNNER_CFLAGS) \
353- -Wall -Werror
354+ -Wall
355 test_check_name_LDADD = \
356 $(DBUS_TEST_RUNNER_LIBS)
357
358@@ -351,7 +351,7 @@
359 -I$(top_srcdir) \
360 -DSESSION_CONF="\"$(top_srcdir)/data/session.conf\"" \
361 -DGETNAME_PATH="\"$(abs_builddir)/test-libdbustest-getname\"" \
362- -Wall -Werror
363+ -Wall
364 test_libdbustest_LDADD = \
365 $(DBUS_TEST_RUNNER_LIBS) \
366 $(top_builddir)/libdbustest/libdbustest.la
367@@ -360,7 +360,7 @@
368 test-libdbustest-getname.c
369 test_libdbustest_getname_CFLAGS = \
370 $(DBUS_TEST_RUNNER_CFLAGS) \
371- -Wall -Werror
372+ -Wall
373 test_libdbustest_getname_LDADD = \
374 $(DBUS_TEST_RUNNER_LIBS)
375
376@@ -389,7 +389,7 @@
377 -I$(top_srcdir) \
378 -DSESSION_CONF="\"$(top_srcdir)/data/session.conf\"" \
379 -DGETNAME_PATH="\"$(abs_builddir)/test-libdbustest-getname\"" \
380- -Wall -Werror
381+ -Wall
382 test_libdbustest_mock_LDADD = \
383 $(DBUS_TEST_RUNNER_LIBS) \
384 $(top_builddir)/libdbustest/libdbustest.la

Subscribers

People subscribed via source and target branches