gtestutils: Allow g_test_bug() to be used without g_test_bug_base()

Since we transitioned from Bugzilla to GitLab, we have two forms of bug
references in the GLib source code: old (but still relevant) Bugzilla
links, and newer GitLab links. We can’t use a single base for the two,
so have to either build incorrect URIs, or provide the full URI in
g_test_bug().

It’s always seemed a bit of an over-optimisation to provide the bug base
separately from the bug ID, so relax the assertions and documentation
around g_test_bug_base() so that g_test_bug() can be used on its own.

The old usage patterns are still supported unchanged.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
This commit is contained in:
Philip Withnall 2019-08-21 19:39:01 +03:00
parent 10be2c12ab
commit e7b857a44a

View File

@ -150,7 +150,6 @@
* setlocale (LC_ALL, "");
*
* g_test_init (&argc, &argv, NULL);
* g_test_bug_base ("http://bugzilla.gnome.org/show_bug.cgi?id=");
*
* // Define the tests.
* g_test_add ("/my-object/test1", MyObjectFixture, "some-user-data",
@ -1887,6 +1886,9 @@ g_test_message (const char *format,
* portion to @uri_pattern, or by replacing the special string
* '\%s' within @uri_pattern if that is present.
*
* If g_test_bug_base() is not called, bug URIs are formed solely
* from the value provided by g_test_bug().
*
* Since: 2.16
*/
void
@ -1903,7 +1905,9 @@ g_test_bug_base (const char *uri_pattern)
* This function adds a message to test reports that
* associates a bug URI with a test case.
* Bug URIs are constructed from a base URI set with g_test_bug_base()
* and @bug_uri_snippet.
* and @bug_uri_snippet. If g_test_bug_base() has not been called, it is
* assumed to be the empty string, so a full URI can be provided to
* g_test_bug() instead.
*
* Since: 2.16
* See also: g_test_summary()
@ -1911,12 +1915,12 @@ g_test_bug_base (const char *uri_pattern)
void
g_test_bug (const char *bug_uri_snippet)
{
char *c;
const char *c = NULL;
g_return_if_fail (test_uri_base != NULL);
g_return_if_fail (bug_uri_snippet != NULL);
c = strstr (test_uri_base, "%s");
if (test_uri_base != NULL)
c = strstr (test_uri_base, "%s");
if (c)
{
char *b = g_strndup (test_uri_base, c - test_uri_base);
@ -1926,7 +1930,8 @@ g_test_bug (const char *bug_uri_snippet)
g_free (s);
}
else
g_test_message ("Bug Reference: %s%s", test_uri_base, bug_uri_snippet);
g_test_message ("Bug Reference: %s%s",
test_uri_base ? test_uri_base : "", bug_uri_snippet);
}
/**