gtestutils: add g_test_trap_subprocess()
authorDan Winship <danw@gnome.org>
Sat, 24 Nov 2012 20:58:27 +0000 (15:58 -0500)
committerDan Winship <danw@gnome.org>
Mon, 13 May 2013 16:10:52 +0000 (12:10 -0400)
commit960f5500e22d505a5dccbff51ccbc8ab969f0851
tree075e93bc5bd36c83496651d1024a563c1574e277
parent38859e8e2930f12bc5885c1ce9191aa3f73b8110
gtestutils: add g_test_trap_subprocess()

g_test_trap_fork() doesn't work on Windows and is potentially flaky on
unix anyway given the fork-but-don't-exec. Replace it with
g_test_trap_subprocess(), which re-spawns the same program with
arguments telling it to run a specific (otherwise-ignored) test case.

Make the existing g_test_trap_fork() unit tests be unix-only (they
never passed on Windows anyway), and add a parallel set of
g_test_trap_subprocess() tests.

Also fix the logic of gtestutils's "-p" argument (which is used by the
subprocess tests); previously if you had tests "/foo/bar" and
"/foo/bar/baz", and ran the test program with "-p /foo/bar/baz", it
would run "/foo/bar" too. Fix that and add tests.

https://bugzilla.gnome.org/show_bug.cgi?id=679683
docs/reference/glib/glib-sections.txt
glib/gmessages.c
glib/gtestutils.c
glib/gtestutils.h
glib/tests/testing.c