1b5975d6bSopenharmony_ciFrom de8672fe0b9f55047fbaee6f425e330cdfc8189f Mon Sep 17 00:00:00 2001
2b5975d6bSopenharmony_ciFrom: Simon McVittie <smcv@collabora.com>
3b5975d6bSopenharmony_ciDate: Thu, 31 Mar 2022 14:30:43 +0100
4b5975d6bSopenharmony_ciSubject: [PATCH] gtestutils: Add G_TEST_SUBPROCESS_DEFAULT,
5b5975d6bSopenharmony_ci G_TEST_TRAP_DEFAULT
6b5975d6bSopenharmony_ci
7b5975d6bSopenharmony_ciThis makes calls to test subprocesses with default behaviour more
8b5975d6bSopenharmony_ciself-documenting.
9b5975d6bSopenharmony_ci
10b5975d6bSopenharmony_ciSigned-off-by: Simon McVittie <smcv@collabora.com>
11b5975d6bSopenharmony_ci
12b5975d6bSopenharmony_ciConflict:NA
13b5975d6bSopenharmony_ciReference:https://gitlab.gnome.org/GNOME/glib/-/commit/de8672fe0b9f55047fbaee6f425e330cdfc8189f
14b5975d6bSopenharmony_ci
15b5975d6bSopenharmony_ci---
16b5975d6bSopenharmony_ci gio/tests/gapplication.c              |   2 +-
17b5975d6bSopenharmony_ci gio/tests/gdbus-address-get-session.c |   6 +-
18b5975d6bSopenharmony_ci gio/tests/gdbus-non-socket.c          |   2 +-
19b5975d6bSopenharmony_ci gio/tests/gdbus-peer.c                |  10 +--
20b5975d6bSopenharmony_ci gio/tests/glistmodel.c                |   2 +-
21b5975d6bSopenharmony_ci gio/tests/gschema-compile.c           |   2 +-
22b5975d6bSopenharmony_ci gio/tests/gsettings.c                 |  55 +++++++++-----
23b5975d6bSopenharmony_ci gio/tests/task.c                      |   8 +-
24b5975d6bSopenharmony_ci gio/tests/tls-bindings.c              |   4 +-
25b5975d6bSopenharmony_ci gio/tests/win32-appinfo.c             |   6 +-
26b5975d6bSopenharmony_ci glib/gtestutils.c                     |   3 +-
27b5975d6bSopenharmony_ci glib/gtestutils.h                     |   3 +
28b5975d6bSopenharmony_ci glib/tests/array-test.c               |   4 +-
29b5975d6bSopenharmony_ci glib/tests/convert.c                  |  24 ++++--
30b5975d6bSopenharmony_ci glib/tests/dataset.c                  |   2 +-
31b5975d6bSopenharmony_ci glib/tests/error.c                    |   2 +-
32b5975d6bSopenharmony_ci glib/tests/gvariant.c                 |   2 +-
33b5975d6bSopenharmony_ci glib/tests/hash.c                     |   3 +-
34b5975d6bSopenharmony_ci glib/tests/list.c                     |   2 +-
35b5975d6bSopenharmony_ci glib/tests/logging.c                  |  37 ++++++----
36b5975d6bSopenharmony_ci glib/tests/mem-overflow.c             |   9 ++-
37b5975d6bSopenharmony_ci glib/tests/refcount.c                 |   4 +-
38b5975d6bSopenharmony_ci glib/tests/scannerapi.c               |   2 +-
39b5975d6bSopenharmony_ci glib/tests/slice.c                    |   4 +-
40b5975d6bSopenharmony_ci glib/tests/test-printf.c              |  10 ++-
41b5975d6bSopenharmony_ci glib/tests/testing.c                  | 102 ++++++++++++++++----------
42b5975d6bSopenharmony_ci glib/tests/thread-pool.c              |   2 +-
43b5975d6bSopenharmony_ci glib/tests/utils.c                    |   9 ++-
44b5975d6bSopenharmony_ci glib/tests/win32.c                    |   9 ++-
45b5975d6bSopenharmony_ci gobject/tests/param.c                 |   5 +-
46b5975d6bSopenharmony_ci gobject/tests/properties.c            |   4 +-
47b5975d6bSopenharmony_ci gobject/tests/signals.c               |   4 +-
48b5975d6bSopenharmony_ci gobject/tests/testing.c               |   3 +-
49b5975d6bSopenharmony_ci 33 files changed, 213 insertions(+), 133 deletions(-)
50b5975d6bSopenharmony_ci
51b5975d6bSopenharmony_cidiff --git a/gio/tests/gapplication.c b/gio/tests/gapplication.c
52b5975d6bSopenharmony_ciindex 6f1a27e..b017e43 100644
53b5975d6bSopenharmony_ci--- a/gio/tests/gapplication.c
54b5975d6bSopenharmony_ci+++ b/gio/tests/gapplication.c
55b5975d6bSopenharmony_ci@@ -827,7 +827,7 @@ test_help (void)
56b5975d6bSopenharmony_ci       return;
57b5975d6bSopenharmony_ci     }
58b5975d6bSopenharmony_ci 
59b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 0, 0);
60b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
61b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
62b5975d6bSopenharmony_ci   g_test_trap_assert_stdout ("*Application options*");
63b5975d6bSopenharmony_ci }
64b5975d6bSopenharmony_cidiff --git a/gio/tests/gdbus-address-get-session.c b/gio/tests/gdbus-address-get-session.c
65b5975d6bSopenharmony_ciindex 72de2c7..4758c8c 100644
66b5975d6bSopenharmony_ci--- a/gio/tests/gdbus-address-get-session.c
67b5975d6bSopenharmony_ci+++ b/gio/tests/gdbus-address-get-session.c
68b5975d6bSopenharmony_ci@@ -142,7 +142,7 @@ test_x11_autolaunch (void)
69b5975d6bSopenharmony_ci       return;
70b5975d6bSopenharmony_ci     }
71b5975d6bSopenharmony_ci 
72b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 0, 0);
73b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
74b5975d6bSopenharmony_ci   g_test_trap_assert_stderr_unmatched ("?*");
75b5975d6bSopenharmony_ci   g_test_trap_assert_stdout ("hello:this=address-is-from-the,mock=dbus-launch\n");
76b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
77b5975d6bSopenharmony_ci@@ -165,7 +165,7 @@ test_xdg_runtime (void)
78b5975d6bSopenharmony_ci       return;
79b5975d6bSopenharmony_ci     }
80b5975d6bSopenharmony_ci 
81b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 0, 0);
82b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
83b5975d6bSopenharmony_ci   g_test_trap_assert_stderr_unmatched ("?*");
84b5975d6bSopenharmony_ci   g_test_trap_assert_stdout ("unix:path=/tmp/gdbus%2Cunix%2Ctest.*/bus\n");
85b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
86b5975d6bSopenharmony_ci@@ -201,7 +201,7 @@ test_win32_autolaunch (void)
87b5975d6bSopenharmony_ci       return;
88b5975d6bSopenharmony_ci     }
89b5975d6bSopenharmony_ci 
90b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 0, 0);
91b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
92b5975d6bSopenharmony_ci   /* stderr is not checked: coverage prints warnings there */
93b5975d6bSopenharmony_ci   g_test_trap_assert_stdout ("nonce-tcp:host=localhost,port=*,noncefile=*\\gdbus-nonce-file-*\n");
94b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
95b5975d6bSopenharmony_cidiff --git a/gio/tests/gdbus-non-socket.c b/gio/tests/gdbus-non-socket.c
96b5975d6bSopenharmony_ciindex 7ddb55b..c246aea 100644
97b5975d6bSopenharmony_ci--- a/gio/tests/gdbus-non-socket.c
98b5975d6bSopenharmony_ci+++ b/gio/tests/gdbus-non-socket.c
99b5975d6bSopenharmony_ci@@ -220,7 +220,7 @@ test_non_socket (void)
100b5975d6bSopenharmony_ci 
101b5975d6bSopenharmony_ci   /* This is #ifdef G_OS_UNIX anyway, so just use g_test_trap_fork() */
102b5975d6bSopenharmony_ci   G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
103b5975d6bSopenharmony_ci-  if (!g_test_trap_fork (0, 0))
104b5975d6bSopenharmony_ci+  if (!g_test_trap_fork (0, G_TEST_TRAP_DEFAULT))
105b5975d6bSopenharmony_ci     {
106b5975d6bSopenharmony_ci       /* parent */
107b5975d6bSopenharmony_ci       g_object_unref (streams[0]);
108b5975d6bSopenharmony_cidiff --git a/gio/tests/gdbus-peer.c b/gio/tests/gdbus-peer.c
109b5975d6bSopenharmony_ciindex 2f2caf7..dff47d4 100644
110b5975d6bSopenharmony_ci--- a/gio/tests/gdbus-peer.c
111b5975d6bSopenharmony_ci+++ b/gio/tests/gdbus-peer.c
112b5975d6bSopenharmony_ci@@ -1164,7 +1164,7 @@ test_peer_invalid_server (void)
113b5975d6bSopenharmony_ci     }
114b5975d6bSopenharmony_ci   else
115b5975d6bSopenharmony_ci     {
116b5975d6bSopenharmony_ci-      g_test_trap_subprocess (NULL, 0, 0);
117b5975d6bSopenharmony_ci+      g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
118b5975d6bSopenharmony_ci       g_test_trap_assert_failed ();
119b5975d6bSopenharmony_ci       g_test_trap_assert_stderr ("*CRITICAL*G_DBUS_SERVER_FLAGS_ALL*");
120b5975d6bSopenharmony_ci     }
121b5975d6bSopenharmony_ci@@ -1211,7 +1211,7 @@ test_peer_invalid_conn_stream_sync (void)
122b5975d6bSopenharmony_ci     }
123b5975d6bSopenharmony_ci   else
124b5975d6bSopenharmony_ci     {
125b5975d6bSopenharmony_ci-      g_test_trap_subprocess (NULL, 0, 0);
126b5975d6bSopenharmony_ci+      g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
127b5975d6bSopenharmony_ci       g_test_trap_assert_failed ();
128b5975d6bSopenharmony_ci       g_test_trap_assert_stderr ("*CRITICAL*G_DBUS_CONNECTION_FLAGS_ALL*");
129b5975d6bSopenharmony_ci     }
130b5975d6bSopenharmony_ci@@ -1257,7 +1257,7 @@ test_peer_invalid_conn_stream_async (void)
131b5975d6bSopenharmony_ci     }
132b5975d6bSopenharmony_ci   else
133b5975d6bSopenharmony_ci     {
134b5975d6bSopenharmony_ci-      g_test_trap_subprocess (NULL, 0, 0);
135b5975d6bSopenharmony_ci+      g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
136b5975d6bSopenharmony_ci       g_test_trap_assert_failed ();
137b5975d6bSopenharmony_ci       g_test_trap_assert_stderr ("*CRITICAL*G_DBUS_CONNECTION_FLAGS_ALL*");
138b5975d6bSopenharmony_ci     }
139b5975d6bSopenharmony_ci@@ -1286,7 +1286,7 @@ test_peer_invalid_conn_addr_sync (void)
140b5975d6bSopenharmony_ci     }
141b5975d6bSopenharmony_ci   else
142b5975d6bSopenharmony_ci     {
143b5975d6bSopenharmony_ci-      g_test_trap_subprocess (NULL, 0, 0);
144b5975d6bSopenharmony_ci+      g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
145b5975d6bSopenharmony_ci       g_test_trap_assert_failed ();
146b5975d6bSopenharmony_ci       g_test_trap_assert_stderr ("*CRITICAL*G_DBUS_CONNECTION_FLAGS_ALL*");
147b5975d6bSopenharmony_ci     }
148b5975d6bSopenharmony_ci@@ -1309,7 +1309,7 @@ test_peer_invalid_conn_addr_async (void)
149b5975d6bSopenharmony_ci     }
150b5975d6bSopenharmony_ci   else
151b5975d6bSopenharmony_ci     {
152b5975d6bSopenharmony_ci-      g_test_trap_subprocess (NULL, 0, 0);
153b5975d6bSopenharmony_ci+      g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
154b5975d6bSopenharmony_ci       g_test_trap_assert_failed ();
155b5975d6bSopenharmony_ci       g_test_trap_assert_stderr ("*CRITICAL*G_DBUS_CONNECTION_FLAGS_ALL*");
156b5975d6bSopenharmony_ci     }
157b5975d6bSopenharmony_cidiff --git a/gio/tests/glistmodel.c b/gio/tests/glistmodel.c
158b5975d6bSopenharmony_ciindex e50969e..62986d7 100644
159b5975d6bSopenharmony_ci--- a/gio/tests/glistmodel.c
160b5975d6bSopenharmony_ci+++ b/gio/tests/glistmodel.c
161b5975d6bSopenharmony_ci@@ -62,7 +62,7 @@ test_store_non_gobjects (void)
162b5975d6bSopenharmony_ci       return;
163b5975d6bSopenharmony_ci     }
164b5975d6bSopenharmony_ci 
165b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 0, 0);
166b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
167b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
168b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*WARNING*value * of type 'GType' is invalid or "
169b5975d6bSopenharmony_ci                              "out of range for property 'item-type'*");
170b5975d6bSopenharmony_cidiff --git a/gio/tests/gschema-compile.c b/gio/tests/gschema-compile.c
171b5975d6bSopenharmony_ciindex 8dc4985..6a51e42 100644
172b5975d6bSopenharmony_ci--- a/gio/tests/gschema-compile.c
173b5975d6bSopenharmony_ci+++ b/gio/tests/gschema-compile.c
174b5975d6bSopenharmony_ci@@ -38,7 +38,7 @@ test_schema (gpointer data)
175b5975d6bSopenharmony_ci   gchar *child_name;
176b5975d6bSopenharmony_ci 
177b5975d6bSopenharmony_ci   child_name = g_strdup_printf ("/gschema/%s%s/subprocess/do_compile", test->name, test->opt ? "/opt" : "");
178b5975d6bSopenharmony_ci-  g_test_trap_subprocess (child_name, 0, 0);
179b5975d6bSopenharmony_ci+  g_test_trap_subprocess (child_name, 0, G_TEST_SUBPROCESS_DEFAULT);
180b5975d6bSopenharmony_ci   g_free (child_name);
181b5975d6bSopenharmony_ci 
182b5975d6bSopenharmony_ci   if (test->err)
183b5975d6bSopenharmony_cidiff --git a/gio/tests/gsettings.c b/gio/tests/gsettings.c
184b5975d6bSopenharmony_ciindex 35d958e..1956ac5 100644
185b5975d6bSopenharmony_ci--- a/gio/tests/gsettings.c
186b5975d6bSopenharmony_ci+++ b/gio/tests/gsettings.c
187b5975d6bSopenharmony_ci@@ -147,7 +147,7 @@ test_unknown_key (void)
188b5975d6bSopenharmony_ci       g_object_unref (settings);
189b5975d6bSopenharmony_ci       return;
190b5975d6bSopenharmony_ci     }
191b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 0, 0);
192b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
193b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
194b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*does not contain*");
195b5975d6bSopenharmony_ci }
196b5975d6bSopenharmony_ci@@ -170,7 +170,7 @@ test_no_schema (void)
197b5975d6bSopenharmony_ci       g_assert_null (settings);
198b5975d6bSopenharmony_ci       return;
199b5975d6bSopenharmony_ci     }
200b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 0, 0);
201b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
202b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
203b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*Settings schema 'no.such.schema' is not installed*");
204b5975d6bSopenharmony_ci }
205b5975d6bSopenharmony_ci@@ -220,7 +220,7 @@ test_wrong_path (void)
206b5975d6bSopenharmony_ci       settings = g_settings_new_with_path ("org.gtk.test", "/wrong-path/");
207b5975d6bSopenharmony_ci       return;
208b5975d6bSopenharmony_ci     }
209b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 0, 0);
210b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
211b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
212b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*but path * specified by schema*");
213b5975d6bSopenharmony_ci }
214b5975d6bSopenharmony_ci@@ -238,7 +238,7 @@ test_no_path (void)
215b5975d6bSopenharmony_ci       settings = g_settings_new ("org.gtk.test.no-path");
216b5975d6bSopenharmony_ci       return;
217b5975d6bSopenharmony_ci     }
218b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 0, 0);
219b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
220b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
221b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*attempting to create schema * without a path**");
222b5975d6bSopenharmony_ci }
223b5975d6bSopenharmony_ci@@ -1507,7 +1507,7 @@ test_typesafe_binding (void)
224b5975d6bSopenharmony_ci       g_object_unref (settings);
225b5975d6bSopenharmony_ci       return;
226b5975d6bSopenharmony_ci     }
227b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 0, 0);
228b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
229b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
230b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*not compatible*");
231b5975d6bSopenharmony_ci }
232b5975d6bSopenharmony_ci@@ -1665,12 +1665,14 @@ test_no_read_binding (void)
233b5975d6bSopenharmony_ci {
234b5975d6bSopenharmony_ci   if (g_test_undefined ())
235b5975d6bSopenharmony_ci     {
236b5975d6bSopenharmony_ci-      g_test_trap_subprocess ("/gsettings/no-read-binding/subprocess/fail", 0, 0);
237b5975d6bSopenharmony_ci+      g_test_trap_subprocess ("/gsettings/no-read-binding/subprocess/fail", 0,
238b5975d6bSopenharmony_ci+                              G_TEST_SUBPROCESS_DEFAULT);
239b5975d6bSopenharmony_ci       g_test_trap_assert_failed ();
240b5975d6bSopenharmony_ci       g_test_trap_assert_stderr ("*property*is not readable*");
241b5975d6bSopenharmony_ci     }
242b5975d6bSopenharmony_ci 
243b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/gsettings/no-read-binding/subprocess/pass", 0, 0);
244b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/gsettings/no-read-binding/subprocess/pass", 0,
245b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
246b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
247b5975d6bSopenharmony_ci }
248b5975d6bSopenharmony_ci 
249b5975d6bSopenharmony_ci@@ -1708,12 +1710,14 @@ test_no_write_binding (void)
250b5975d6bSopenharmony_ci {
251b5975d6bSopenharmony_ci   if (g_test_undefined ())
252b5975d6bSopenharmony_ci     {
253b5975d6bSopenharmony_ci-      g_test_trap_subprocess ("/gsettings/no-write-binding/subprocess/fail", 0, 0);
254b5975d6bSopenharmony_ci+      g_test_trap_subprocess ("/gsettings/no-write-binding/subprocess/fail", 0,
255b5975d6bSopenharmony_ci+                              G_TEST_SUBPROCESS_DEFAULT);
256b5975d6bSopenharmony_ci       g_test_trap_assert_failed ();
257b5975d6bSopenharmony_ci       g_test_trap_assert_stderr ("*property*is not writable*");
258b5975d6bSopenharmony_ci     }
259b5975d6bSopenharmony_ci 
260b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/gsettings/no-write-binding/subprocess/pass", 0, 0);
261b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/gsettings/no-write-binding/subprocess/pass", 0,
262b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
263b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
264b5975d6bSopenharmony_ci }
265b5975d6bSopenharmony_ci 
266b5975d6bSopenharmony_ci@@ -2141,19 +2145,23 @@ test_enums (void)
267b5975d6bSopenharmony_ci 
268b5975d6bSopenharmony_ci   if (g_test_undefined () && !backend_set)
269b5975d6bSopenharmony_ci     {
270b5975d6bSopenharmony_ci-      g_test_trap_subprocess ("/gsettings/enums/subprocess/non-enum-key", 0, 0);
271b5975d6bSopenharmony_ci+      g_test_trap_subprocess ("/gsettings/enums/subprocess/non-enum-key", 0,
272b5975d6bSopenharmony_ci+                              G_TEST_SUBPROCESS_DEFAULT);
273b5975d6bSopenharmony_ci       g_test_trap_assert_failed ();
274b5975d6bSopenharmony_ci       g_test_trap_assert_stderr ("*not associated with an enum*");
275b5975d6bSopenharmony_ci 
276b5975d6bSopenharmony_ci-      g_test_trap_subprocess ("/gsettings/enums/subprocess/non-enum-value", 0, 0);
277b5975d6bSopenharmony_ci+      g_test_trap_subprocess ("/gsettings/enums/subprocess/non-enum-value", 0,
278b5975d6bSopenharmony_ci+                              G_TEST_SUBPROCESS_DEFAULT);
279b5975d6bSopenharmony_ci       g_test_trap_assert_failed ();
280b5975d6bSopenharmony_ci       g_test_trap_assert_stderr ("*invalid enum value 42*");
281b5975d6bSopenharmony_ci 
282b5975d6bSopenharmony_ci-      g_test_trap_subprocess ("/gsettings/enums/subprocess/range", 0, 0);
283b5975d6bSopenharmony_ci+      g_test_trap_subprocess ("/gsettings/enums/subprocess/range", 0,
284b5975d6bSopenharmony_ci+                              G_TEST_SUBPROCESS_DEFAULT);
285b5975d6bSopenharmony_ci       g_test_trap_assert_failed ();
286b5975d6bSopenharmony_ci       g_test_trap_assert_stderr ("*g_settings_set_value*valid range*");
287b5975d6bSopenharmony_ci 
288b5975d6bSopenharmony_ci-      g_test_trap_subprocess ("/gsettings/enums/subprocess/non-flags", 0, 0);
289b5975d6bSopenharmony_ci+      g_test_trap_subprocess ("/gsettings/enums/subprocess/non-flags", 0,
290b5975d6bSopenharmony_ci+                              G_TEST_SUBPROCESS_DEFAULT);
291b5975d6bSopenharmony_ci       g_test_trap_assert_failed ();
292b5975d6bSopenharmony_ci       g_test_trap_assert_stderr ("*not associated with a flags*");
293b5975d6bSopenharmony_ci     }
294b5975d6bSopenharmony_ci@@ -2239,19 +2247,23 @@ test_flags (void)
295b5975d6bSopenharmony_ci 
296b5975d6bSopenharmony_ci   if (g_test_undefined () && !backend_set)
297b5975d6bSopenharmony_ci     {
298b5975d6bSopenharmony_ci-      g_test_trap_subprocess ("/gsettings/flags/subprocess/non-flags-key", 0, 0);
299b5975d6bSopenharmony_ci+      g_test_trap_subprocess ("/gsettings/flags/subprocess/non-flags-key", 0,
300b5975d6bSopenharmony_ci+                              G_TEST_SUBPROCESS_DEFAULT);
301b5975d6bSopenharmony_ci       g_test_trap_assert_failed ();
302b5975d6bSopenharmony_ci       g_test_trap_assert_stderr ("*not associated with a flags*");
303b5975d6bSopenharmony_ci 
304b5975d6bSopenharmony_ci-      g_test_trap_subprocess ("/gsettings/flags/subprocess/non-flags-value", 0, 0);
305b5975d6bSopenharmony_ci+      g_test_trap_subprocess ("/gsettings/flags/subprocess/non-flags-value", 0,
306b5975d6bSopenharmony_ci+                              G_TEST_SUBPROCESS_DEFAULT);
307b5975d6bSopenharmony_ci       g_test_trap_assert_failed ();
308b5975d6bSopenharmony_ci       g_test_trap_assert_stderr ("*invalid flags value 0x00000042*");
309b5975d6bSopenharmony_ci 
310b5975d6bSopenharmony_ci-      g_test_trap_subprocess ("/gsettings/flags/subprocess/range", 0, 0);
311b5975d6bSopenharmony_ci+      g_test_trap_subprocess ("/gsettings/flags/subprocess/range", 0,
312b5975d6bSopenharmony_ci+                              G_TEST_SUBPROCESS_DEFAULT);
313b5975d6bSopenharmony_ci       g_test_trap_assert_failed ();
314b5975d6bSopenharmony_ci       g_test_trap_assert_stderr ("*g_settings_set_value*valid range*");
315b5975d6bSopenharmony_ci 
316b5975d6bSopenharmony_ci-      g_test_trap_subprocess ("/gsettings/flags/subprocess/non-enum", 0, 0);
317b5975d6bSopenharmony_ci+      g_test_trap_subprocess ("/gsettings/flags/subprocess/non-enum", 0,
318b5975d6bSopenharmony_ci+                              G_TEST_SUBPROCESS_DEFAULT);
319b5975d6bSopenharmony_ci       g_test_trap_assert_failed ();
320b5975d6bSopenharmony_ci       g_test_trap_assert_stderr ("*not associated with an enum*");
321b5975d6bSopenharmony_ci     }
322b5975d6bSopenharmony_ci@@ -2328,11 +2340,13 @@ test_range (void)
323b5975d6bSopenharmony_ci 
324b5975d6bSopenharmony_ci   if (g_test_undefined () && !backend_set)
325b5975d6bSopenharmony_ci     {
326b5975d6bSopenharmony_ci-      g_test_trap_subprocess ("/gsettings/range/subprocess/high", 0, 0);
327b5975d6bSopenharmony_ci+      g_test_trap_subprocess ("/gsettings/range/subprocess/high", 0,
328b5975d6bSopenharmony_ci+                              G_TEST_SUBPROCESS_DEFAULT);
329b5975d6bSopenharmony_ci       g_test_trap_assert_failed ();
330b5975d6bSopenharmony_ci       g_test_trap_assert_stderr ("*g_settings_set_value*valid range*");
331b5975d6bSopenharmony_ci 
332b5975d6bSopenharmony_ci-      g_test_trap_subprocess ("/gsettings/range/subprocess/low", 0, 0);
333b5975d6bSopenharmony_ci+      g_test_trap_subprocess ("/gsettings/range/subprocess/low", 0,
334b5975d6bSopenharmony_ci+                              G_TEST_SUBPROCESS_DEFAULT);
335b5975d6bSopenharmony_ci       g_test_trap_assert_failed ();
336b5975d6bSopenharmony_ci       g_test_trap_assert_stderr ("*g_settings_set_value*valid range*");
337b5975d6bSopenharmony_ci     }
338b5975d6bSopenharmony_ci@@ -2881,7 +2895,8 @@ test_per_desktop (void)
339b5975d6bSopenharmony_ci 
340b5975d6bSopenharmony_ci   if (!g_test_subprocess ())
341b5975d6bSopenharmony_ci     {
342b5975d6bSopenharmony_ci-      g_test_trap_subprocess ("/gsettings/per-desktop/subprocess", 0, 0);
343b5975d6bSopenharmony_ci+      g_test_trap_subprocess ("/gsettings/per-desktop/subprocess", 0,
344b5975d6bSopenharmony_ci+                              G_TEST_SUBPROCESS_DEFAULT);
345b5975d6bSopenharmony_ci       g_test_trap_assert_passed ();
346b5975d6bSopenharmony_ci     }
347b5975d6bSopenharmony_ci 
348b5975d6bSopenharmony_cidiff --git a/gio/tests/task.c b/gio/tests/task.c
349b5975d6bSopenharmony_ciindex 7ce8438..d9e9148 100644
350b5975d6bSopenharmony_ci--- a/gio/tests/task.c
351b5975d6bSopenharmony_ci+++ b/gio/tests/task.c
352b5975d6bSopenharmony_ci@@ -2303,7 +2303,7 @@ test_return_in_idle_error_first (void)
353b5975d6bSopenharmony_ci       return;
354b5975d6bSopenharmony_ci     }
355b5975d6bSopenharmony_ci 
356b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 0, 0);
357b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
358b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
359b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*CRITICAL*assertion '!task->ever_returned' failed*");
360b5975d6bSopenharmony_ci }
361b5975d6bSopenharmony_ci@@ -2319,7 +2319,7 @@ test_return_in_idle_value_first (void)
362b5975d6bSopenharmony_ci       return;
363b5975d6bSopenharmony_ci     }
364b5975d6bSopenharmony_ci 
365b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 0, 0);
366b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
367b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
368b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*CRITICAL*assertion '!task->ever_returned' failed*");
369b5975d6bSopenharmony_ci }
370b5975d6bSopenharmony_ci@@ -2335,7 +2335,7 @@ test_return_error_first (void)
371b5975d6bSopenharmony_ci       return;
372b5975d6bSopenharmony_ci     }
373b5975d6bSopenharmony_ci 
374b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 0, 0);
375b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
376b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
377b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*CRITICAL*assertion '!task->ever_returned' failed*");
378b5975d6bSopenharmony_ci }
379b5975d6bSopenharmony_ci@@ -2351,7 +2351,7 @@ test_return_value_first (void)
380b5975d6bSopenharmony_ci       return;
381b5975d6bSopenharmony_ci     }
382b5975d6bSopenharmony_ci 
383b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 0, 0);
384b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
385b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
386b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*CRITICAL*assertion '!task->ever_returned' failed*");
387b5975d6bSopenharmony_ci }
388b5975d6bSopenharmony_cidiff --git a/gio/tests/tls-bindings.c b/gio/tests/tls-bindings.c
389b5975d6bSopenharmony_ciindex 681b658..81b3189 100644
390b5975d6bSopenharmony_ci--- a/gio/tests/tls-bindings.c
391b5975d6bSopenharmony_ci+++ b/gio/tests/tls-bindings.c
392b5975d6bSopenharmony_ci@@ -40,7 +40,7 @@ get_tls_channel_binding (void)
393b5975d6bSopenharmony_ci             G_TLS_CHANNEL_BINDING_TLS_UNIQUE, NULL, (GError **)&not_null));
394b5975d6bSopenharmony_ci 
395b5975d6bSopenharmony_ci   g_object_unref (tls);
396b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 0, 0);
397b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
398b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
399b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*GLib-GIO-CRITICAL*");
400b5975d6bSopenharmony_ci }
401b5975d6bSopenharmony_ci@@ -75,7 +75,7 @@ get_dtls_channel_binding (void)
402b5975d6bSopenharmony_ci             G_TLS_CHANNEL_BINDING_TLS_UNIQUE, NULL, (GError **)&not_null));
403b5975d6bSopenharmony_ci 
404b5975d6bSopenharmony_ci   g_object_unref (dtls);
405b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 0, 0);
406b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
407b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
408b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*GLib-GIO-CRITICAL*");
409b5975d6bSopenharmony_ci }
410b5975d6bSopenharmony_cidiff --git a/gio/tests/win32-appinfo.c b/gio/tests/win32-appinfo.c
411b5975d6bSopenharmony_ciindex fa8aa2a..8402a20 100644
412b5975d6bSopenharmony_ci--- a/gio/tests/win32-appinfo.c
413b5975d6bSopenharmony_ci+++ b/gio/tests/win32-appinfo.c
414b5975d6bSopenharmony_ci@@ -442,10 +442,12 @@ do_fail_on_broken_utf16_2 (void)
415b5975d6bSopenharmony_ci static void
416b5975d6bSopenharmony_ci test_fail_on_broken_utf16 (void)
417b5975d6bSopenharmony_ci {
418b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/appinfo/subprocess/win32-assert-broken-utf16_1", 0, 0);
419b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/appinfo/subprocess/win32-assert-broken-utf16_1", 0,
420b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
421b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
422b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*GLib-GIO:ERROR:*giowin32-private.c:*:_g_win32_extract_executable: assertion failed: (folded)*");
423b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/appinfo/subprocess/win32-assert-broken-utf16_2", 0, 0);
424b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/appinfo/subprocess/win32-assert-broken-utf16_2", 0,
425b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
426b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
427b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*GLib-GIO:ERROR:*giowin32-private.c:*:_g_win32_extract_executable: assertion failed: (folded)*");
428b5975d6bSopenharmony_ci }
429b5975d6bSopenharmony_cidiff --git a/glib/gtestutils.c b/glib/gtestutils.c
430b5975d6bSopenharmony_ciindex dca4bad..c9c65e6 100644
431b5975d6bSopenharmony_ci--- a/glib/gtestutils.c
432b5975d6bSopenharmony_ci+++ b/glib/gtestutils.c
433b5975d6bSopenharmony_ci@@ -355,6 +355,7 @@
434b5975d6bSopenharmony_ci 
435b5975d6bSopenharmony_ci /**
436b5975d6bSopenharmony_ci  * GTestSubprocessFlags:
437b5975d6bSopenharmony_ci+ * @G_TEST_SUBPROCESS_DEFAULT: Default behaviour. Since: 2.74
438b5975d6bSopenharmony_ci  * @G_TEST_SUBPROCESS_INHERIT_STDIN: If this flag is given, the child
439b5975d6bSopenharmony_ci  *     process will inherit the parent's stdin. Otherwise, the child's
440b5975d6bSopenharmony_ci  *     stdin is redirected to `/dev/null`.
441b5975d6bSopenharmony_ci@@ -3780,7 +3781,7 @@ G_GNUC_END_IGNORE_DEPRECATIONS
442b5975d6bSopenharmony_ci  *       }
443b5975d6bSopenharmony_ci  *
444b5975d6bSopenharmony_ci  *     // Reruns this same test in a subprocess
445b5975d6bSopenharmony_ci- *     g_test_trap_subprocess (NULL, 0, 0);
446b5975d6bSopenharmony_ci+ *     g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
447b5975d6bSopenharmony_ci  *     g_test_trap_assert_failed ();
448b5975d6bSopenharmony_ci  *     g_test_trap_assert_stderr ("*ERROR*too large*");
449b5975d6bSopenharmony_ci  *   }
450b5975d6bSopenharmony_cidiff --git a/glib/gtestutils.h b/glib/gtestutils.h
451b5975d6bSopenharmony_ciindex 7dee482..794da05 100644
452b5975d6bSopenharmony_ci--- a/glib/gtestutils.h
453b5975d6bSopenharmony_ci+++ b/glib/gtestutils.h
454b5975d6bSopenharmony_ci@@ -423,6 +423,7 @@ void    g_test_queue_destroy            (GDestroyNotify destroy_func,
455b5975d6bSopenharmony_ci 
456b5975d6bSopenharmony_ci /**
457b5975d6bSopenharmony_ci  * GTestTrapFlags:
458b5975d6bSopenharmony_ci+ * @G_TEST_TRAP_DEFAULT: Default behaviour. Since: 2.74
459b5975d6bSopenharmony_ci  * @G_TEST_TRAP_SILENCE_STDOUT: Redirect stdout of the test child to
460b5975d6bSopenharmony_ci  *     `/dev/null` so it cannot be observed on the console during test
461b5975d6bSopenharmony_ci  *     runs. The actual output is still captured though to allow later
462b5975d6bSopenharmony_ci@@ -443,6 +444,7 @@ void    g_test_queue_destroy            (GDestroyNotify destroy_func,
463b5975d6bSopenharmony_ci  * #GTestSubprocessFlags.
464b5975d6bSopenharmony_ci  */
465b5975d6bSopenharmony_ci typedef enum {
466b5975d6bSopenharmony_ci+  G_TEST_TRAP_DEFAULT GLIB_AVAILABLE_ENUMERATOR_IN_2_74 = 0,
467b5975d6bSopenharmony_ci   G_TEST_TRAP_SILENCE_STDOUT    = 1 << 7,
468b5975d6bSopenharmony_ci   G_TEST_TRAP_SILENCE_STDERR    = 1 << 8,
469b5975d6bSopenharmony_ci   G_TEST_TRAP_INHERIT_STDIN     = 1 << 9
470b5975d6bSopenharmony_ci@@ -457,6 +459,7 @@ gboolean g_test_trap_fork               (guint64              usec_timeout,
471b5975d6bSopenharmony_ci G_GNUC_END_IGNORE_DEPRECATIONS
472b5975d6bSopenharmony_ci 
473b5975d6bSopenharmony_ci typedef enum {
474b5975d6bSopenharmony_ci+  G_TEST_SUBPROCESS_DEFAULT GLIB_AVAILABLE_ENUMERATOR_IN_2_74 = 0,
475b5975d6bSopenharmony_ci   G_TEST_SUBPROCESS_INHERIT_STDIN  = 1 << 0,
476b5975d6bSopenharmony_ci   G_TEST_SUBPROCESS_INHERIT_STDOUT = 1 << 1,
477b5975d6bSopenharmony_ci   G_TEST_SUBPROCESS_INHERIT_STDERR = 1 << 2
478b5975d6bSopenharmony_cidiff --git a/glib/tests/array-test.c b/glib/tests/array-test.c
479b5975d6bSopenharmony_ciindex 284ac08..f2736dd 100644
480b5975d6bSopenharmony_ci--- a/glib/tests/array-test.c
481b5975d6bSopenharmony_ci+++ b/glib/tests/array-test.c
482b5975d6bSopenharmony_ci@@ -859,7 +859,7 @@ array_overflow_append_vals (void)
483b5975d6bSopenharmony_ci     }
484b5975d6bSopenharmony_ci   else
485b5975d6bSopenharmony_ci     {
486b5975d6bSopenharmony_ci-      g_test_trap_subprocess (NULL, 0, 0);
487b5975d6bSopenharmony_ci+      g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
488b5975d6bSopenharmony_ci       g_test_trap_assert_failed ();
489b5975d6bSopenharmony_ci       g_test_trap_assert_stderr ("*adding 4294967295 to array would overflow*");
490b5975d6bSopenharmony_ci     }
491b5975d6bSopenharmony_ci@@ -878,7 +878,7 @@ array_overflow_set_size (void)
492b5975d6bSopenharmony_ci     }
493b5975d6bSopenharmony_ci   else
494b5975d6bSopenharmony_ci     {
495b5975d6bSopenharmony_ci-      g_test_trap_subprocess (NULL, 0, 0);
496b5975d6bSopenharmony_ci+      g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
497b5975d6bSopenharmony_ci       g_test_trap_assert_failed ();
498b5975d6bSopenharmony_ci       g_test_trap_assert_stderr ("*adding 4294967295 to array would overflow*");
499b5975d6bSopenharmony_ci     }
500b5975d6bSopenharmony_cidiff --git a/glib/tests/convert.c b/glib/tests/convert.c
501b5975d6bSopenharmony_ciindex de6c8a7..81b8bbe 100644
502b5975d6bSopenharmony_ci--- a/glib/tests/convert.c
503b5975d6bSopenharmony_ci+++ b/glib/tests/convert.c
504b5975d6bSopenharmony_ci@@ -707,9 +707,11 @@ test_convert_embedded_nul (void)
505b5975d6bSopenharmony_ci static void
506b5975d6bSopenharmony_ci test_locale_to_utf8_embedded_nul (void)
507b5975d6bSopenharmony_ci {
508b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/conversion/locale-to-utf8/embedded-nul/subprocess/utf8", 0, 0);
509b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/conversion/locale-to-utf8/embedded-nul/subprocess/utf8",
510b5975d6bSopenharmony_ci+                          0, G_TEST_SUBPROCESS_DEFAULT);
511b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
512b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/conversion/locale-to-utf8/embedded-nul/subprocess/iconv", 0, 0);
513b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/conversion/locale-to-utf8/embedded-nul/subprocess/iconv",
514b5975d6bSopenharmony_ci+                          0, G_TEST_SUBPROCESS_DEFAULT);
515b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
516b5975d6bSopenharmony_ci }
517b5975d6bSopenharmony_ci 
518b5975d6bSopenharmony_ci@@ -758,9 +760,11 @@ test_locale_to_utf8_embedded_nul_iconv (void)
519b5975d6bSopenharmony_ci static void
520b5975d6bSopenharmony_ci test_locale_from_utf8_embedded_nul (void)
521b5975d6bSopenharmony_ci {
522b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/conversion/locale-from-utf8/embedded-nul/subprocess/utf8", 0, 0);
523b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/conversion/locale-from-utf8/embedded-nul/subprocess/utf8",
524b5975d6bSopenharmony_ci+                          0, G_TEST_SUBPROCESS_DEFAULT);
525b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
526b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/conversion/locale-from-utf8/embedded-nul/subprocess/iconv", 0, 0);
527b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/conversion/locale-from-utf8/embedded-nul/subprocess/iconv",
528b5975d6bSopenharmony_ci+                          0, G_TEST_SUBPROCESS_DEFAULT);
529b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
530b5975d6bSopenharmony_ci }
531b5975d6bSopenharmony_ci 
532b5975d6bSopenharmony_ci@@ -811,9 +815,11 @@ test_locale_from_utf8_embedded_nul_iconv (void)
533b5975d6bSopenharmony_ci static void
534b5975d6bSopenharmony_ci test_filename_to_utf8_embedded_nul (void)
535b5975d6bSopenharmony_ci {
536b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/conversion/filename-to-utf8/embedded-nul/subprocess/utf8", 0, 0);
537b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/conversion/filename-to-utf8/embedded-nul/subprocess/utf8",
538b5975d6bSopenharmony_ci+                          0, G_TEST_SUBPROCESS_DEFAULT);
539b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
540b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/conversion/filename-to-utf8/embedded-nul/subprocess/iconv", 0, 0);
541b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/conversion/filename-to-utf8/embedded-nul/subprocess/iconv",
542b5975d6bSopenharmony_ci+                          0, G_TEST_SUBPROCESS_DEFAULT);
543b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
544b5975d6bSopenharmony_ci }
545b5975d6bSopenharmony_ci 
546b5975d6bSopenharmony_ci@@ -868,9 +874,11 @@ test_filename_to_utf8_embedded_nul_iconv (void)
547b5975d6bSopenharmony_ci static void
548b5975d6bSopenharmony_ci test_filename_from_utf8_embedded_nul (void)
549b5975d6bSopenharmony_ci {
550b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/conversion/filename-from-utf8/embedded-nul/subprocess/utf8", 0, 0);
551b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/conversion/filename-from-utf8/embedded-nul/subprocess/utf8",
552b5975d6bSopenharmony_ci+                          0, G_TEST_SUBPROCESS_DEFAULT);
553b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
554b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/conversion/filename-from-utf8/embedded-nul/subprocess/iconv", 0, 0);
555b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/conversion/filename-from-utf8/embedded-nul/subprocess/iconv",
556b5975d6bSopenharmony_ci+                          0, G_TEST_SUBPROCESS_DEFAULT);
557b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
558b5975d6bSopenharmony_ci }
559b5975d6bSopenharmony_ci 
560b5975d6bSopenharmony_cidiff --git a/glib/tests/dataset.c b/glib/tests/dataset.c
561b5975d6bSopenharmony_ciindex b02b3e4..3b96b42 100644
562b5975d6bSopenharmony_ci--- a/glib/tests/dataset.c
563b5975d6bSopenharmony_ci+++ b/glib/tests/dataset.c
564b5975d6bSopenharmony_ci@@ -202,7 +202,7 @@ test_datalist_clear (void)
565b5975d6bSopenharmony_ci       return;
566b5975d6bSopenharmony_ci     }
567b5975d6bSopenharmony_ci 
568b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 500000, 0);
569b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 500000, G_TEST_SUBPROCESS_DEFAULT);
570b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
571b5975d6bSopenharmony_ci }
572b5975d6bSopenharmony_ci 
573b5975d6bSopenharmony_cidiff --git a/glib/tests/error.c b/glib/tests/error.c
574b5975d6bSopenharmony_ciindex 51a0c35..7ea04ea 100644
575b5975d6bSopenharmony_ci--- a/glib/tests/error.c
576b5975d6bSopenharmony_ci+++ b/glib/tests/error.c
577b5975d6bSopenharmony_ci@@ -336,7 +336,7 @@ test_extended_duplicate (void)
578b5975d6bSopenharmony_ci   if (!g_test_subprocess ())
579b5975d6bSopenharmony_ci     {
580b5975d6bSopenharmony_ci       /* Spawn a subprocess and expect it to fail. */
581b5975d6bSopenharmony_ci-      g_test_trap_subprocess (NULL, 0, 0);
582b5975d6bSopenharmony_ci+      g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
583b5975d6bSopenharmony_ci       g_test_trap_assert_failed ();
584b5975d6bSopenharmony_ci       g_test_trap_assert_stderr ("*CRITICAL*Attempted to register an extended error domain for TestError more than once*");
585b5975d6bSopenharmony_ci     }
586b5975d6bSopenharmony_cidiff --git a/glib/tests/gvariant.c b/glib/tests/gvariant.c
587b5975d6bSopenharmony_ciindex 0110f26..89dc914 100644
588b5975d6bSopenharmony_ci--- a/glib/tests/gvariant.c
589b5975d6bSopenharmony_ci+++ b/glib/tests/gvariant.c
590b5975d6bSopenharmony_ci@@ -2934,7 +2934,7 @@ static void
591b5975d6bSopenharmony_ci do_failed_test (const char *test,
592b5975d6bSopenharmony_ci                 const gchar *pattern)
593b5975d6bSopenharmony_ci {
594b5975d6bSopenharmony_ci-  g_test_trap_subprocess (test, 1000000, 0);
595b5975d6bSopenharmony_ci+  g_test_trap_subprocess (test, 1000000, G_TEST_SUBPROCESS_DEFAULT);
596b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
597b5975d6bSopenharmony_ci   g_test_trap_assert_stderr (pattern);
598b5975d6bSopenharmony_ci }
599b5975d6bSopenharmony_cidiff --git a/glib/tests/hash.c b/glib/tests/hash.c
600b5975d6bSopenharmony_ciindex 114b6a2..6d718a7 100644
601b5975d6bSopenharmony_ci--- a/glib/tests/hash.c
602b5975d6bSopenharmony_ci+++ b/glib/tests/hash.c
603b5975d6bSopenharmony_ci@@ -873,7 +873,8 @@ test_recursive_remove_all_subprocess (void)
604b5975d6bSopenharmony_ci static void
605b5975d6bSopenharmony_ci test_recursive_remove_all (void)
606b5975d6bSopenharmony_ci {
607b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/hash/recursive-remove-all/subprocess", 1000000, 0);
608b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/hash/recursive-remove-all/subprocess", 1000000,
609b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
610b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
611b5975d6bSopenharmony_ci }
612b5975d6bSopenharmony_ci 
613b5975d6bSopenharmony_cidiff --git a/glib/tests/list.c b/glib/tests/list.c
614b5975d6bSopenharmony_ciindex 4efd8b6..20d01db 100644
615b5975d6bSopenharmony_ci--- a/glib/tests/list.c
616b5975d6bSopenharmony_ci+++ b/glib/tests/list.c
617b5975d6bSopenharmony_ci@@ -552,7 +552,7 @@ test_double_free (void)
618b5975d6bSopenharmony_ci       return;
619b5975d6bSopenharmony_ci     }
620b5975d6bSopenharmony_ci 
621b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 0, 0);
622b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
623b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
624b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*corrupted double-linked list detected*");
625b5975d6bSopenharmony_ci }
626b5975d6bSopenharmony_cidiff --git a/glib/tests/logging.c b/glib/tests/logging.c
627b5975d6bSopenharmony_ciindex e9c4e39..a65ba7c 100644
628b5975d6bSopenharmony_ci--- a/glib/tests/logging.c
629b5975d6bSopenharmony_ci+++ b/glib/tests/logging.c
630b5975d6bSopenharmony_ci@@ -200,48 +200,59 @@ test_default_handler_0x400 (void)
631b5975d6bSopenharmony_ci static void
632b5975d6bSopenharmony_ci test_default_handler (void)
633b5975d6bSopenharmony_ci {
634b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/logging/default-handler/subprocess/error", 0, 0);
635b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/logging/default-handler/subprocess/error", 0,
636b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
637b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
638b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*ERROR*message1*");
639b5975d6bSopenharmony_ci 
640b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/logging/default-handler/subprocess/critical", 0, 0);
641b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/logging/default-handler/subprocess/critical", 0,
642b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
643b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
644b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*CRITICAL*message2*");
645b5975d6bSopenharmony_ci 
646b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/logging/default-handler/subprocess/warning", 0, 0);
647b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/logging/default-handler/subprocess/warning", 0,
648b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
649b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
650b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*WARNING*message3*");
651b5975d6bSopenharmony_ci 
652b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/logging/default-handler/subprocess/message", 0, 0);
653b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/logging/default-handler/subprocess/message", 0,
654b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
655b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
656b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*Message*message4*");
657b5975d6bSopenharmony_ci 
658b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/logging/default-handler/subprocess/info", 0, 0);
659b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/logging/default-handler/subprocess/info", 0,
660b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
661b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
662b5975d6bSopenharmony_ci   g_test_trap_assert_stdout_unmatched ("*INFO*message5*");
663b5975d6bSopenharmony_ci 
664b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/logging/default-handler/subprocess/bar-info", 0, 0);
665b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/logging/default-handler/subprocess/bar-info", 0,
666b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
667b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
668b5975d6bSopenharmony_ci   g_test_trap_assert_stdout ("*INFO*message5*");
669b5975d6bSopenharmony_ci 
670b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/logging/default-handler/subprocess/baz-debug", 0, 0);
671b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/logging/default-handler/subprocess/baz-debug", 0,
672b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
673b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
674b5975d6bSopenharmony_ci   g_test_trap_assert_stdout ("*DEBUG*message6*");
675b5975d6bSopenharmony_ci 
676b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/logging/default-handler/subprocess/debug", 0, 0);
677b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/logging/default-handler/subprocess/debug", 0,
678b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
679b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
680b5975d6bSopenharmony_ci   g_test_trap_assert_stdout ("*DEBUG*6*6*6*");
681b5975d6bSopenharmony_ci 
682b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/logging/default-handler/subprocess/debug-stderr", 0, 0);
683b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/logging/default-handler/subprocess/debug-stderr", 0,
684b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
685b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
686b5975d6bSopenharmony_ci   g_test_trap_assert_stdout_unmatched ("DEBUG");
687b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*DEBUG*6*6*6*");
688b5975d6bSopenharmony_ci 
689b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/logging/default-handler/subprocess/0x400", 0, 0);
690b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/logging/default-handler/subprocess/0x400", 0,
691b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
692b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
693b5975d6bSopenharmony_ci   g_test_trap_assert_stdout ("*LOG-0x400*message7*");
694b5975d6bSopenharmony_ci 
695b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/logging/default-handler/subprocess/would-drop", 0, 0);
696b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/logging/default-handler/subprocess/would-drop", 0,
697b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
698b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
699b5975d6bSopenharmony_ci }
700b5975d6bSopenharmony_ci 
701b5975d6bSopenharmony_ci@@ -254,7 +265,7 @@ test_fatal_log_mask (void)
702b5975d6bSopenharmony_ci       g_log ("bu", G_LOG_LEVEL_INFO, "fatal");
703b5975d6bSopenharmony_ci       return;
704b5975d6bSopenharmony_ci     }
705b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 0, 0);
706b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
707b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
708b5975d6bSopenharmony_ci   /* G_LOG_LEVEL_INFO isn't printed by default */
709b5975d6bSopenharmony_ci   g_test_trap_assert_stdout_unmatched ("*fatal*");
710b5975d6bSopenharmony_ci@@ -361,7 +372,7 @@ test_gibberish (void)
711b5975d6bSopenharmony_ci       g_warning ("bla bla \236\237\190");
712b5975d6bSopenharmony_ci       return;
713b5975d6bSopenharmony_ci     }
714b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 0, 0);
715b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
716b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
717b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*bla bla \\x9e\\x9f\\u000190*");
718b5975d6bSopenharmony_ci }
719b5975d6bSopenharmony_cidiff --git a/glib/tests/mem-overflow.c b/glib/tests/mem-overflow.c
720b5975d6bSopenharmony_ciindex fd92685..66a0056 100644
721b5975d6bSopenharmony_ci--- a/glib/tests/mem-overflow.c
722b5975d6bSopenharmony_ci+++ b/glib/tests/mem-overflow.c
723b5975d6bSopenharmony_ci@@ -139,7 +139,8 @@ mem_overflow (void)
724b5975d6bSopenharmony_ci #define CHECK_SUBPROCESS_FAIL(name) do { \
725b5975d6bSopenharmony_ci       if (g_test_undefined ()) \
726b5975d6bSopenharmony_ci         { \
727b5975d6bSopenharmony_ci-          g_test_trap_subprocess ("/mem/overflow/subprocess/" #name, 0, 0); \
728b5975d6bSopenharmony_ci+          g_test_trap_subprocess ("/mem/overflow/subprocess/" #name, 0, \
729b5975d6bSopenharmony_ci+                                  G_TEST_SUBPROCESS_DEFAULT); \
730b5975d6bSopenharmony_ci           g_test_trap_assert_failed(); \
731b5975d6bSopenharmony_ci         } \
732b5975d6bSopenharmony_ci     } while (0)
733b5975d6bSopenharmony_ci@@ -147,7 +148,8 @@ mem_overflow (void)
734b5975d6bSopenharmony_ci #define CHECK_SUBPROCESS_PASS(name) do { \
735b5975d6bSopenharmony_ci       if (g_test_undefined ()) \
736b5975d6bSopenharmony_ci         { \
737b5975d6bSopenharmony_ci-          g_test_trap_subprocess ("/mem/overflow/subprocess/" #name, 0, 0); \
738b5975d6bSopenharmony_ci+          g_test_trap_subprocess ("/mem/overflow/subprocess/" #name, 0, \
739b5975d6bSopenharmony_ci+                                  G_TEST_SUBPROCESS_DEFAULT); \
740b5975d6bSopenharmony_ci           g_test_trap_assert_passed(); \
741b5975d6bSopenharmony_ci         } \
742b5975d6bSopenharmony_ci     } while (0)
743b5975d6bSopenharmony_ci@@ -208,7 +210,8 @@ empty_alloc (void)
744b5975d6bSopenharmony_ci 
745b5975d6bSopenharmony_ci   g_assert_cmpint (sizeof (Empty), ==, 0);
746b5975d6bSopenharmony_ci 
747b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/mem/empty-alloc/subprocess", 0, 0);
748b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/mem/empty-alloc/subprocess", 0,
749b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
750b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
751b5975d6bSopenharmony_ci }
752b5975d6bSopenharmony_ci #endif
753b5975d6bSopenharmony_cidiff --git a/glib/tests/refcount.c b/glib/tests/refcount.c
754b5975d6bSopenharmony_ciindex e19a2d7..2c527cf 100644
755b5975d6bSopenharmony_ci--- a/glib/tests/refcount.c
756b5975d6bSopenharmony_ci+++ b/glib/tests/refcount.c
757b5975d6bSopenharmony_ci@@ -98,7 +98,7 @@ test_grefcount_saturation (void)
758b5975d6bSopenharmony_ci       exit (0);
759b5975d6bSopenharmony_ci     }
760b5975d6bSopenharmony_ci 
761b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 0, 0);
762b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
763b5975d6bSopenharmony_ci 
764b5975d6bSopenharmony_ci #if defined (G_DISABLE_CHECKS) && defined (__GNUC__)
765b5975d6bSopenharmony_ci   /* With checks disabled we don't get any warning */
766b5975d6bSopenharmony_ci@@ -191,7 +191,7 @@ test_gatomicrefcount_saturation (void)
767b5975d6bSopenharmony_ci       exit (0);
768b5975d6bSopenharmony_ci     }
769b5975d6bSopenharmony_ci 
770b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 0, 0);
771b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
772b5975d6bSopenharmony_ci 
773b5975d6bSopenharmony_ci #if defined (G_DISABLE_CHECKS) && defined (__GNUC__)
774b5975d6bSopenharmony_ci   /* With checks disabled we don't get any warning */
775b5975d6bSopenharmony_cidiff --git a/glib/tests/scannerapi.c b/glib/tests/scannerapi.c
776b5975d6bSopenharmony_ciindex 6813184..21b01bf 100644
777b5975d6bSopenharmony_ci--- a/glib/tests/scannerapi.c
778b5975d6bSopenharmony_ci+++ b/glib/tests/scannerapi.c
779b5975d6bSopenharmony_ci@@ -68,7 +68,7 @@ test_scanner_error (ScannerFixture *fix,
780b5975d6bSopenharmony_ci       exit (0);
781b5975d6bSopenharmony_ci     }
782b5975d6bSopenharmony_ci 
783b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 0, 0);
784b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
785b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
786b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*scanner-error-message-test*");
787b5975d6bSopenharmony_ci }
788b5975d6bSopenharmony_cidiff --git a/glib/tests/slice.c b/glib/tests/slice.c
789b5975d6bSopenharmony_ciindex a566280..7cf53b4 100644
790b5975d6bSopenharmony_ci--- a/glib/tests/slice.c
791b5975d6bSopenharmony_ci+++ b/glib/tests/slice.c
792b5975d6bSopenharmony_ci@@ -25,7 +25,7 @@ test_slice_nodebug (void)
793b5975d6bSopenharmony_ci       g_slice_debug_tree_statistics ();
794b5975d6bSopenharmony_ci       return;
795b5975d6bSopenharmony_ci     }
796b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 1000000, 0);
797b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 1000000, G_TEST_SUBPROCESS_DEFAULT);
798b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
799b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*GSlice: MemChecker: root=NULL*");
800b5975d6bSopenharmony_ci 
801b5975d6bSopenharmony_ci@@ -53,7 +53,7 @@ test_slice_debug (void)
802b5975d6bSopenharmony_ci       g_slice_debug_tree_statistics ();
803b5975d6bSopenharmony_ci       return;
804b5975d6bSopenharmony_ci     }
805b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 1000000, 0);
806b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 1000000, G_TEST_SUBPROCESS_DEFAULT);
807b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
808b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*GSlice: MemChecker: * trunks, * branches, * old branches*");
809b5975d6bSopenharmony_ci 
810b5975d6bSopenharmony_cidiff --git a/glib/tests/test-printf.c b/glib/tests/test-printf.c
811b5975d6bSopenharmony_ciindex 6eadf1e..9aca97f 100644
812b5975d6bSopenharmony_ci--- a/glib/tests/test-printf.c
813b5975d6bSopenharmony_ci+++ b/glib/tests/test-printf.c
814b5975d6bSopenharmony_ci@@ -639,7 +639,7 @@ test_positional_params2 (void)
815b5975d6bSopenharmony_ci       g_assert_cmpint (res, ==, 7);
816b5975d6bSopenharmony_ci       return;
817b5975d6bSopenharmony_ci     }
818b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 0, 0);
819b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
820b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
821b5975d6bSopenharmony_ci   g_test_trap_assert_stdout ("a b\n   ab\nabcabc\n");
822b5975d6bSopenharmony_ci }
823b5975d6bSopenharmony_ci@@ -674,7 +674,7 @@ test_percent2 (void)
824b5975d6bSopenharmony_ci       g_assert_cmpint (res, ==, 1);
825b5975d6bSopenharmony_ci       return;
826b5975d6bSopenharmony_ci     }
827b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 0, 0);
828b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
829b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
830b5975d6bSopenharmony_ci   g_test_trap_assert_stdout ("*%*");
831b5975d6bSopenharmony_ci }
832b5975d6bSopenharmony_ci@@ -858,13 +858,15 @@ _Pragma ("GCC diagnostic pop")
833b5975d6bSopenharmony_ci static void
834b5975d6bSopenharmony_ci test_64bit2 (void)
835b5975d6bSopenharmony_ci {
836b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/printf/test-64bit/subprocess/base", 0, 0);
837b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/printf/test-64bit/subprocess/base", 0,
838b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
839b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
840b5975d6bSopenharmony_ci   g_test_trap_assert_stdout ("123456\n-123456\n123456\n"
841b5975d6bSopenharmony_ci                              "361100\n0361100\n1e240\n"
842b5975d6bSopenharmony_ci                              "0x1e240\n1E240\n");
843b5975d6bSopenharmony_ci #ifdef G_OS_WIN32
844b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/printf/test-64bit/subprocess/win32", 0, 0);
845b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/printf/test-64bit/subprocess/win32", 0,
846b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
847b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
848b5975d6bSopenharmony_ci   g_test_trap_assert_stdout ("123456\n-123456\n123456\n"
849b5975d6bSopenharmony_ci                              "361100\n0361100\n1e240\n"
850b5975d6bSopenharmony_cidiff --git a/glib/tests/testing.c b/glib/tests/testing.c
851b5975d6bSopenharmony_ciindex accd5db..60fdb4c 100644
852b5975d6bSopenharmony_ci--- a/glib/tests/testing.c
853b5975d6bSopenharmony_ci+++ b/glib/tests/testing.c
854b5975d6bSopenharmony_ci@@ -208,56 +208,69 @@ test_assertions (void)
855b5975d6bSopenharmony_ci   g_variant_unref (v2);
856b5975d6bSopenharmony_ci   g_variant_unref (v1);
857b5975d6bSopenharmony_ci 
858b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/misc/assertions/subprocess/bad_cmpvariant_types", 0, 0);
859b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/misc/assertions/subprocess/bad_cmpvariant_types", 0,
860b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
861b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
862b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*assertion failed*");
863b5975d6bSopenharmony_ci 
864b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/misc/assertions/subprocess/bad_cmpvariant_values", 0, 0);
865b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/misc/assertions/subprocess/bad_cmpvariant_values", 0,
866b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
867b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
868b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*assertion failed*");
869b5975d6bSopenharmony_ci 
870b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/misc/assertions/subprocess/bad_cmpstr", 0, 0);
871b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/misc/assertions/subprocess/bad_cmpstr", 0,
872b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
873b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
874b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*assertion failed*");
875b5975d6bSopenharmony_ci 
876b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/misc/assertions/subprocess/bad_cmpstrv_null1", 0, 0);
877b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/misc/assertions/subprocess/bad_cmpstrv_null1", 0,
878b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
879b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
880b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*assertion failed*");
881b5975d6bSopenharmony_ci 
882b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/misc/assertions/subprocess/bad_cmpstrv_null2", 0, 0);
883b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/misc/assertions/subprocess/bad_cmpstrv_null2", 0,
884b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
885b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
886b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*assertion failed*");
887b5975d6bSopenharmony_ci 
888b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/misc/assertions/subprocess/bad_cmpstrv_length", 0, 0);
889b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/misc/assertions/subprocess/bad_cmpstrv_length", 0,
890b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
891b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
892b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*assertion failed*");
893b5975d6bSopenharmony_ci 
894b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/misc/assertions/subprocess/bad_cmpstrv_values", 0, 0);
895b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/misc/assertions/subprocess/bad_cmpstrv_values", 0,
896b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
897b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
898b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*assertion failed*");
899b5975d6bSopenharmony_ci 
900b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/misc/assertions/subprocess/bad_cmpint", 0, 0);
901b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/misc/assertions/subprocess/bad_cmpint", 0,
902b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
903b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
904b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*assertion failed*");
905b5975d6bSopenharmony_ci 
906b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/misc/assertions/subprocess/bad_cmpmem_len", 0, 0);
907b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/misc/assertions/subprocess/bad_cmpmem_len", 0,
908b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
909b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
910b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*assertion failed*len*");
911b5975d6bSopenharmony_ci 
912b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/misc/assertions/subprocess/bad_cmpmem_data", 0, 0);
913b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/misc/assertions/subprocess/bad_cmpmem_data", 0,
914b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
915b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
916b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*assertion failed*");
917b5975d6bSopenharmony_ci   g_test_trap_assert_stderr_unmatched ("*assertion failed*len*");
918b5975d6bSopenharmony_ci 
919b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/misc/assertions/subprocess/bad_cmpmem_null", 0, 0);
920b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/misc/assertions/subprocess/bad_cmpmem_null", 0,
921b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
922b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
923b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*assertion failed*NULL*");
924b5975d6bSopenharmony_ci 
925b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/misc/assertions/subprocess/bad_cmpfloat_epsilon", 0, 0);
926b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/misc/assertions/subprocess/bad_cmpfloat_epsilon", 0,
927b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
928b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
929b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*assertion failed*");
930b5975d6bSopenharmony_ci 
931b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/misc/assertions/subprocess/bad_no_errno", 0, 0);
932b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/misc/assertions/subprocess/bad_no_errno", 0,
933b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
934b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
935b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*assertion failed*");
936b5975d6bSopenharmony_ci }
937b5975d6bSopenharmony_ci@@ -312,7 +325,7 @@ static void
938b5975d6bSopenharmony_ci test_fork_timeout (void)
939b5975d6bSopenharmony_ci {
940b5975d6bSopenharmony_ci   /* allow child to run for only a fraction of a second */
941b5975d6bSopenharmony_ci-  if (g_test_trap_fork (0.11 * 1000000, 0))
942b5975d6bSopenharmony_ci+  if (g_test_trap_fork (0.11 * 1000000, G_TEST_TRAP_DEFAULT))
943b5975d6bSopenharmony_ci     {
944b5975d6bSopenharmony_ci       /* loop and sleep forever */
945b5975d6bSopenharmony_ci       while (TRUE)
946b5975d6bSopenharmony_ci@@ -334,7 +347,7 @@ test_subprocess_fail (void)
947b5975d6bSopenharmony_ci       return;
948b5975d6bSopenharmony_ci     }
949b5975d6bSopenharmony_ci 
950b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 0, 0);
951b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
952b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
953b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*ERROR*test_subprocess_fail*should not be reached*");
954b5975d6bSopenharmony_ci }
955b5975d6bSopenharmony_ci@@ -344,11 +357,12 @@ test_subprocess_no_such_test (void)
956b5975d6bSopenharmony_ci {
957b5975d6bSopenharmony_ci   if (g_test_subprocess ())
958b5975d6bSopenharmony_ci     {
959b5975d6bSopenharmony_ci-      g_test_trap_subprocess ("/trap_subprocess/this-test-does-not-exist", 0, 0);
960b5975d6bSopenharmony_ci+      g_test_trap_subprocess ("/trap_subprocess/this-test-does-not-exist", 0,
961b5975d6bSopenharmony_ci+                              G_TEST_SUBPROCESS_DEFAULT);
962b5975d6bSopenharmony_ci       g_assert_not_reached ();
963b5975d6bSopenharmony_ci       return;
964b5975d6bSopenharmony_ci     }
965b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 0, 0);
966b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
967b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
968b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*test does not exist*");
969b5975d6bSopenharmony_ci   g_test_trap_assert_stderr_unmatched ("*should not be reached*");
970b5975d6bSopenharmony_ci@@ -363,7 +377,7 @@ test_subprocess_patterns (void)
971b5975d6bSopenharmony_ci       g_printerr ("some stderr text: semagic43\n");
972b5975d6bSopenharmony_ci       exit (0);
973b5975d6bSopenharmony_ci     }
974b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 0,  0);
975b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
976b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
977b5975d6bSopenharmony_ci   g_test_trap_assert_stdout ("*somagic17*");
978b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*semagic43*");
979b5975d6bSopenharmony_ci@@ -380,7 +394,7 @@ test_subprocess_timeout (void)
980b5975d6bSopenharmony_ci       return;
981b5975d6bSopenharmony_ci     }
982b5975d6bSopenharmony_ci   /* allow child to run for only a fraction of a second */
983b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 0.11 * 1000000, 0);
984b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 0.11 * 1000000, G_TEST_SUBPROCESS_DEFAULT);
985b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
986b5975d6bSopenharmony_ci   g_assert_true (g_test_trap_reached_timeout ());
987b5975d6bSopenharmony_ci }
988b5975d6bSopenharmony_ci@@ -508,16 +522,19 @@ test_fatal_log_handler_critical_fail (void)
989b5975d6bSopenharmony_ci static void
990b5975d6bSopenharmony_ci test_fatal_log_handler (void)
991b5975d6bSopenharmony_ci {
992b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/misc/fatal-log-handler/subprocess/critical-pass", 0, 0);
993b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/misc/fatal-log-handler/subprocess/critical-pass", 0,
994b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
995b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
996b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*CRITICAL*g_str_has_prefix*");
997b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*CRITICAL*Test passing*");
998b5975d6bSopenharmony_ci 
999b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/misc/fatal-log-handler/subprocess/error-fail", 0, 0);
1000b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/misc/fatal-log-handler/subprocess/error-fail", 0,
1001b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
1002b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
1003b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*ERROR*Test failing*");
1004b5975d6bSopenharmony_ci 
1005b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/misc/fatal-log-handler/subprocess/critical-fail", 0, 0);
1006b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/misc/fatal-log-handler/subprocess/critical-fail", 0,
1007b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
1008b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
1009b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*CRITICAL*g_str_has_prefix*");
1010b5975d6bSopenharmony_ci   g_test_trap_assert_stderr_unmatched ("*CRITICAL*Test passing*");
1011b5975d6bSopenharmony_ci@@ -612,34 +629,41 @@ test_expected_messages_unexpected_extra_warning (void)
1012b5975d6bSopenharmony_ci static void
1013b5975d6bSopenharmony_ci test_expected_messages (void)
1014b5975d6bSopenharmony_ci {
1015b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/misc/expected-messages/subprocess/warning", 0, 0);
1016b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/misc/expected-messages/subprocess/warning", 0,
1017b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
1018b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
1019b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*This is a * warning*");
1020b5975d6bSopenharmony_ci   g_test_trap_assert_stderr_unmatched ("*should not be reached*");
1021b5975d6bSopenharmony_ci 
1022b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/misc/expected-messages/subprocess/expect-warning", 0, 0);
1023b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/misc/expected-messages/subprocess/expect-warning", 0,
1024b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
1025b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
1026b5975d6bSopenharmony_ci   g_test_trap_assert_stderr_unmatched ("*This is a * warning*");
1027b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*should not be reached*");
1028b5975d6bSopenharmony_ci 
1029b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/misc/expected-messages/subprocess/wrong-warning", 0, 0);
1030b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/misc/expected-messages/subprocess/wrong-warning", 0,
1031b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
1032b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
1033b5975d6bSopenharmony_ci   g_test_trap_assert_stderr_unmatched ("*should not be reached*");
1034b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*GLib-CRITICAL*Did not see expected message testing-CRITICAL*should not be *WARNING*This is a * warning*");
1035b5975d6bSopenharmony_ci 
1036b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/misc/expected-messages/subprocess/expected", 0, 0);
1037b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/misc/expected-messages/subprocess/expected", 0,
1038b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
1039b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
1040b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("");
1041b5975d6bSopenharmony_ci 
1042b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/misc/expected-messages/subprocess/null-domain", 0, 0);
1043b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/misc/expected-messages/subprocess/null-domain", 0,
1044b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
1045b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
1046b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("");
1047b5975d6bSopenharmony_ci 
1048b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/misc/expected-messages/subprocess/extra-warning", 0, 0);
1049b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/misc/expected-messages/subprocess/extra-warning", 0,
1050b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
1051b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
1052b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("");
1053b5975d6bSopenharmony_ci 
1054b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/misc/expected-messages/subprocess/unexpected-extra-warning", 0, 0);
1055b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/misc/expected-messages/subprocess/unexpected-extra-warning", 0,
1056b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
1057b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
1058b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*GLib:ERROR*Did not see expected message testing-CRITICAL*nope*");
1059b5975d6bSopenharmony_ci }
1060b5975d6bSopenharmony_ci@@ -718,7 +742,8 @@ test_dash_p_child_sub_child (void)
1061b5975d6bSopenharmony_ci static void
1062b5975d6bSopenharmony_ci test_dash_p (void)
1063b5975d6bSopenharmony_ci {
1064b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/misc/dash-p/subprocess/hidden", 0, 0);
1065b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/misc/dash-p/subprocess/hidden", 0,
1066b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
1067b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
1068b5975d6bSopenharmony_ci   g_test_trap_assert_stdout ("*Test /misc/dash-p/subprocess/hidden ran*");
1069b5975d6bSopenharmony_ci   g_test_trap_assert_stdout_unmatched ("*Test /misc/dash-p/subprocess/hidden/sub ran*");
1070b5975d6bSopenharmony_ci@@ -726,7 +751,8 @@ test_dash_p (void)
1071b5975d6bSopenharmony_ci   g_test_trap_assert_stdout_unmatched ("*Test /misc/dash-p/subprocess/hidden/sub/subprocess ran*");
1072b5975d6bSopenharmony_ci   g_test_trap_assert_stdout_unmatched ("*Test /misc/dash-p/child*");
1073b5975d6bSopenharmony_ci 
1074b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/misc/dash-p/subprocess/hidden/sub", 0, 0);
1075b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/misc/dash-p/subprocess/hidden/sub", 0,
1076b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
1077b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
1078b5975d6bSopenharmony_ci   g_test_trap_assert_stdout ("*Test /misc/dash-p/subprocess/hidden/sub ran*");
1079b5975d6bSopenharmony_ci   g_test_trap_assert_stdout_unmatched ("*Test /misc/dash-p/subprocess/hidden ran*");
1080b5975d6bSopenharmony_ci@@ -734,7 +760,8 @@ test_dash_p (void)
1081b5975d6bSopenharmony_ci   g_test_trap_assert_stdout_unmatched ("*Test /misc/dash-p/subprocess/hidden/subprocess ran*");
1082b5975d6bSopenharmony_ci   g_test_trap_assert_stdout_unmatched ("*Test /misc/dash-p/child*");
1083b5975d6bSopenharmony_ci 
1084b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/misc/dash-p/child", 0, 0);
1085b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/misc/dash-p/child", 0,
1086b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
1087b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
1088b5975d6bSopenharmony_ci   g_test_trap_assert_stdout ("*Test /misc/dash-p/child ran*");
1089b5975d6bSopenharmony_ci   g_test_trap_assert_stdout ("*Test /misc/dash-p/child/sub ran*");
1090b5975d6bSopenharmony_ci@@ -742,7 +769,8 @@ test_dash_p (void)
1091b5975d6bSopenharmony_ci   g_test_trap_assert_stdout_unmatched ("*Test /misc/dash-p/child/subprocess ran*");
1092b5975d6bSopenharmony_ci   g_test_trap_assert_stdout_unmatched ("*Test /misc/dash-p/subprocess/hidden*");
1093b5975d6bSopenharmony_ci 
1094b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/misc/dash-p/child/sub", 0, 0);
1095b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/misc/dash-p/child/sub", 0,
1096b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
1097b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
1098b5975d6bSopenharmony_ci   g_test_trap_assert_stdout ("*Test /misc/dash-p/child/sub ran*");
1099b5975d6bSopenharmony_ci   g_test_trap_assert_stdout_unmatched ("*Test /misc/dash-p/child ran*");
1100b5975d6bSopenharmony_ci@@ -761,7 +789,7 @@ test_nonfatal (void)
1101b5975d6bSopenharmony_ci       g_print ("The End\n");
1102b5975d6bSopenharmony_ci       return;
1103b5975d6bSopenharmony_ci     }
1104b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 0, 0);
1105b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
1106b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
1107b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*assertion failed*4 == 5*");
1108b5975d6bSopenharmony_ci   g_test_trap_assert_stdout ("*The End*");
1109b5975d6bSopenharmony_ci@@ -800,7 +828,7 @@ test_fail (void)
1110b5975d6bSopenharmony_ci       subprocess_fail ();
1111b5975d6bSopenharmony_ci       return;
1112b5975d6bSopenharmony_ci     }
1113b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 0, 0);
1114b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
1115b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
1116b5975d6bSopenharmony_ci }
1117b5975d6bSopenharmony_ci 
1118b5975d6bSopenharmony_ci@@ -822,7 +850,7 @@ test_incomplete (void)
1119b5975d6bSopenharmony_ci       subprocess_incomplete ();
1120b5975d6bSopenharmony_ci       return;
1121b5975d6bSopenharmony_ci     }
1122b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 0, 0);
1123b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
1124b5975d6bSopenharmony_ci   /* An incomplete test represents functionality that is known not to be
1125b5975d6bSopenharmony_ci    * implemented yet (an expected failure), so it does not cause test
1126b5975d6bSopenharmony_ci    * failure; but it does count as the test having been skipped, which
1127b5975d6bSopenharmony_ci@@ -839,7 +867,7 @@ test_subprocess_timed_out (void)
1128b5975d6bSopenharmony_ci       g_usleep (1000000);
1129b5975d6bSopenharmony_ci       return;
1130b5975d6bSopenharmony_ci     }
1131b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 50000, 0);
1132b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 50000, G_TEST_SUBPROCESS_DEFAULT);
1133b5975d6bSopenharmony_ci   g_assert_true (g_test_trap_reached_timeout ());
1134b5975d6bSopenharmony_ci }
1135b5975d6bSopenharmony_ci 
1136b5975d6bSopenharmony_cidiff --git a/glib/tests/thread-pool.c b/glib/tests/thread-pool.c
1137b5975d6bSopenharmony_ciindex 5c70815..23ee27e 100644
1138b5975d6bSopenharmony_ci--- a/glib/tests/thread-pool.c
1139b5975d6bSopenharmony_ci+++ b/glib/tests/thread-pool.c
1140b5975d6bSopenharmony_ci@@ -108,7 +108,7 @@ test_create_first_pool (gconstpointer shared_first)
1141b5975d6bSopenharmony_ci 
1142b5975d6bSopenharmony_ci   if (!g_test_subprocess ())
1143b5975d6bSopenharmony_ci     {
1144b5975d6bSopenharmony_ci-      g_test_trap_subprocess (NULL, 0, 0);
1145b5975d6bSopenharmony_ci+      g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
1146b5975d6bSopenharmony_ci       g_test_trap_assert_passed ();
1147b5975d6bSopenharmony_ci       return;
1148b5975d6bSopenharmony_ci     }
1149b5975d6bSopenharmony_cidiff --git a/glib/tests/utils.c b/glib/tests/utils.c
1150b5975d6bSopenharmony_ciindex 11fed55..dcdc5a6 100644
1151b5975d6bSopenharmony_ci--- a/glib/tests/utils.c
1152b5975d6bSopenharmony_ci+++ b/glib/tests/utils.c
1153b5975d6bSopenharmony_ci@@ -523,7 +523,7 @@ test_debug (void)
1154b5975d6bSopenharmony_ci       g_assert_cmpint (res, ==, 0);
1155b5975d6bSopenharmony_ci       return;
1156b5975d6bSopenharmony_ci     }
1157b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 0, 0);
1158b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
1159b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
1160b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*Supported debug values: key1 key2 key3 all help*");
1161b5975d6bSopenharmony_ci }
1162b5975d6bSopenharmony_ci@@ -553,7 +553,7 @@ test_codeset2 (void)
1163b5975d6bSopenharmony_ci       g_assert_cmpstr (c, ==, "UTF-8");
1164b5975d6bSopenharmony_ci       return;
1165b5975d6bSopenharmony_ci     }
1166b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 0, 0);
1167b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
1168b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
1169b5975d6bSopenharmony_ci }
1170b5975d6bSopenharmony_ci 
1171b5975d6bSopenharmony_ci@@ -957,7 +957,8 @@ test_aligned_mem (void)
1172b5975d6bSopenharmony_ci       if (g_test_undefined ()) \
1173b5975d6bSopenharmony_ci         { \
1174b5975d6bSopenharmony_ci           g_test_message (msg); \
1175b5975d6bSopenharmony_ci-          g_test_trap_subprocess ("/utils/aligned-mem/subprocess/" #name, 0, 0); \
1176b5975d6bSopenharmony_ci+          g_test_trap_subprocess ("/utils/aligned-mem/subprocess/" #name, 0, \
1177b5975d6bSopenharmony_ci+                                  G_TEST_SUBPROCESS_DEFAULT); \
1178b5975d6bSopenharmony_ci           g_test_trap_assert_failed (); \
1179b5975d6bSopenharmony_ci         } \
1180b5975d6bSopenharmony_ci     } while (0)
1181b5975d6bSopenharmony_ci@@ -1025,7 +1026,7 @@ test_atexit (void)
1182b5975d6bSopenharmony_ci       g_atexit (atexit_func);
1183b5975d6bSopenharmony_ci       return;
1184b5975d6bSopenharmony_ci     }
1185b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 0, 0);
1186b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
1187b5975d6bSopenharmony_ci   g_test_trap_assert_passed ();
1188b5975d6bSopenharmony_ci   g_test_trap_assert_stdout ("*atexit called*");
1189b5975d6bSopenharmony_ci }
1190b5975d6bSopenharmony_cidiff --git a/glib/tests/win32.c b/glib/tests/win32.c
1191b5975d6bSopenharmony_ciindex 1219973..3181657 100644
1192b5975d6bSopenharmony_ci--- a/glib/tests/win32.c
1193b5975d6bSopenharmony_ci+++ b/glib/tests/win32.c
1194b5975d6bSopenharmony_ci@@ -99,7 +99,8 @@ test_veh_crash_access_violation (void)
1195b5975d6bSopenharmony_ci {
1196b5975d6bSopenharmony_ci   g_unsetenv ("G_DEBUGGER");
1197b5975d6bSopenharmony_ci   /* Run a test that crashes */
1198b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/win32/subprocess/access_violation", 0, 0);
1199b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/win32/subprocess/access_violation", 0,
1200b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
1201b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
1202b5975d6bSopenharmony_ci }
1203b5975d6bSopenharmony_ci 
1204b5975d6bSopenharmony_ci@@ -108,7 +109,8 @@ test_veh_crash_illegal_instruction (void)
1205b5975d6bSopenharmony_ci {
1206b5975d6bSopenharmony_ci   g_unsetenv ("G_DEBUGGER");
1207b5975d6bSopenharmony_ci   /* Run a test that crashes */
1208b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/win32/subprocess/illegal_instruction", 0, 0);
1209b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/win32/subprocess/illegal_instruction", 0,
1210b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
1211b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
1212b5975d6bSopenharmony_ci }
1213b5975d6bSopenharmony_ci 
1214b5975d6bSopenharmony_ci@@ -125,7 +127,8 @@ test_veh_debug (void)
1215b5975d6bSopenharmony_ci   g_setenv ("G_DEBUGGER_OLD_CONSOLE", "1", TRUE);
1216b5975d6bSopenharmony_ci   g_free (command);
1217b5975d6bSopenharmony_ci   /* Run a test that crashes and runs a debugger */
1218b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/win32/subprocess/debuggee", 0, 0);
1219b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/win32/subprocess/debuggee", 0,
1220b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
1221b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
1222b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("Debugger invoked, attaching to*");
1223b5975d6bSopenharmony_ci }
1224b5975d6bSopenharmony_cidiff --git a/gobject/tests/param.c b/gobject/tests/param.c
1225b5975d6bSopenharmony_ciindex 692f07d..69401ba 100644
1226b5975d6bSopenharmony_ci--- a/gobject/tests/param.c
1227b5975d6bSopenharmony_ci+++ b/gobject/tests/param.c
1228b5975d6bSopenharmony_ci@@ -470,7 +470,7 @@ test_param_invalid_name (gconstpointer test_data)
1229b5975d6bSopenharmony_ci       return;
1230b5975d6bSopenharmony_ci     }
1231b5975d6bSopenharmony_ci 
1232b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 0, 0);
1233b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
1234b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
1235b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*CRITICAL*g_param_spec_is_valid_name (name)*");
1236b5975d6bSopenharmony_ci }
1237b5975d6bSopenharmony_ci@@ -1115,7 +1115,8 @@ test_param_implement (void)
1238b5975d6bSopenharmony_ci             test_path = g_strdup_printf ("/param/implement/subprocess/%d-%d-%d-%d",
1239b5975d6bSopenharmony_ci                                          change_this_flag, change_this_type,
1240b5975d6bSopenharmony_ci                                          use_this_flag, use_this_type);
1241b5975d6bSopenharmony_ci-            g_test_trap_subprocess (test_path, G_TIME_SPAN_SECOND, 0);
1242b5975d6bSopenharmony_ci+            g_test_trap_subprocess (test_path, G_TIME_SPAN_SECOND,
1243b5975d6bSopenharmony_ci+                                    G_TEST_SUBPROCESS_DEFAULT);
1244b5975d6bSopenharmony_ci             g_free (test_path);
1245b5975d6bSopenharmony_ci 
1246b5975d6bSopenharmony_ci             /* We want to ensure that any flags mismatch problems are reported first. */
1247b5975d6bSopenharmony_cidiff --git a/gobject/tests/properties.c b/gobject/tests/properties.c
1248b5975d6bSopenharmony_ciindex 3695ee1..1760030 100644
1249b5975d6bSopenharmony_ci--- a/gobject/tests/properties.c
1250b5975d6bSopenharmony_ci+++ b/gobject/tests/properties.c
1251b5975d6bSopenharmony_ci@@ -457,7 +457,7 @@ properties_testv_with_invalid_property_type (void)
1252b5975d6bSopenharmony_ci 
1253b5975d6bSopenharmony_ci       g_object_unref (test_obj);
1254b5975d6bSopenharmony_ci     }
1255b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 0, 0);
1256b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
1257b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
1258b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*WARNING*foo*gint*gchararray*");
1259b5975d6bSopenharmony_ci }
1260b5975d6bSopenharmony_ci@@ -495,7 +495,7 @@ properties_testv_with_invalid_property_names (void)
1261b5975d6bSopenharmony_ci       g_object_unref (test_obj);
1262b5975d6bSopenharmony_ci     }
1263b5975d6bSopenharmony_ci 
1264b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 0, 0);
1265b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
1266b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
1267b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*CRITICAL*g_object_new_is_valid_property*boo*");
1268b5975d6bSopenharmony_ci }
1269b5975d6bSopenharmony_cidiff --git a/gobject/tests/signals.c b/gobject/tests/signals.c
1270b5975d6bSopenharmony_ciindex ea9a778..8ae3c33 100644
1271b5975d6bSopenharmony_ci--- a/gobject/tests/signals.c
1272b5975d6bSopenharmony_ci+++ b/gobject/tests/signals.c
1273b5975d6bSopenharmony_ci@@ -1638,7 +1638,7 @@ test_lookup_invalid (void)
1274b5975d6bSopenharmony_ci       return;
1275b5975d6bSopenharmony_ci     }
1276b5975d6bSopenharmony_ci 
1277b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 0, 0);
1278b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
1279b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
1280b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*WARNING*unable to look up invalid signal name*");
1281b5975d6bSopenharmony_ci }
1282b5975d6bSopenharmony_ci@@ -1755,7 +1755,7 @@ test_signals_invalid_name (gconstpointer test_data)
1283b5975d6bSopenharmony_ci       return;
1284b5975d6bSopenharmony_ci     }
1285b5975d6bSopenharmony_ci 
1286b5975d6bSopenharmony_ci-  g_test_trap_subprocess (NULL, 0, 0);
1287b5975d6bSopenharmony_ci+  g_test_trap_subprocess (NULL, 0, G_TEST_SUBPROCESS_DEFAULT);
1288b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
1289b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*CRITICAL*g_signal_is_valid_name (signal_name)*");
1290b5975d6bSopenharmony_ci }
1291b5975d6bSopenharmony_cidiff --git a/gobject/tests/testing.c b/gobject/tests/testing.c
1292b5975d6bSopenharmony_ciindex 5c7e663..929ed07 100644
1293b5975d6bSopenharmony_ci--- a/gobject/tests/testing.c
1294b5975d6bSopenharmony_ci+++ b/gobject/tests/testing.c
1295b5975d6bSopenharmony_ci@@ -52,7 +52,8 @@ test_assert_finalize_object (void)
1296b5975d6bSopenharmony_ci 
1297b5975d6bSopenharmony_ci   g_assert_finalize_object (obj);
1298b5975d6bSopenharmony_ci 
1299b5975d6bSopenharmony_ci-  g_test_trap_subprocess ("/assert/finalize_object/subprocess/bad", 0, 0);
1300b5975d6bSopenharmony_ci+  g_test_trap_subprocess ("/assert/finalize_object/subprocess/bad", 0,
1301b5975d6bSopenharmony_ci+                          G_TEST_SUBPROCESS_DEFAULT);
1302b5975d6bSopenharmony_ci   g_test_trap_assert_failed ();
1303b5975d6bSopenharmony_ci   g_test_trap_assert_stderr ("*g_assert_finalize_object:*'weak_pointer' should be NULL*");
1304b5975d6bSopenharmony_ci }
1305b5975d6bSopenharmony_ci-- 
1306b5975d6bSopenharmony_ci2.33.0
1307b5975d6bSopenharmony_ci
1308