Merge branch 'wip/g-test-path' into 'master'

gtestutils: Add g_test_get_path() API

See merge request GNOME/glib!1898
This commit is contained in:
Philip Withnall 2021-01-26 11:05:31 +00:00
commit 9e5b9a8f70
4 changed files with 40 additions and 0 deletions

View File

@ -3508,6 +3508,7 @@ GTestDataFunc
g_test_add_data_func
g_test_add_data_func_full
g_test_add
g_test_get_path
GTestFileType
g_test_build_filename

View File

@ -4230,3 +4230,23 @@ g_test_get_filename (GTestFileType file_type,
return result;
}
/**
* g_test_get_path:
*
* Gets the test path for the test currently being run.
*
* In essence, it will be the same string passed as the first argument to
* e.g. g_test_add() when the test was added.
*
* This function returns a valid string only within a test function.
*
* Returns: the test path for the test currently being run
*
* Since: 2.68
**/
const char *
g_test_get_path (void)
{
return test_run_name;
}

View File

@ -338,6 +338,10 @@ void g_test_add_data_func_full (const char *testpath,
GTestDataFunc test_func,
GDestroyNotify data_free_func);
/* tell about currently run test */
GLIB_AVAILABLE_IN_2_68
const char * g_test_get_path (void);
/* tell about failure */
GLIB_AVAILABLE_IN_2_30
void g_test_fail (void);

View File

@ -843,6 +843,18 @@ test_subprocess_timed_out (void)
g_assert_true (g_test_trap_reached_timeout ());
}
static void
test_path_first (void)
{
g_assert_cmpstr (g_test_get_path (), ==, "/misc/path/first");
}
static void
test_path_second (void)
{
g_assert_cmpstr (g_test_get_path (), ==, "/misc/path/second");
}
static const char *argv0;
static void
@ -1595,6 +1607,9 @@ main (int argc,
g_test_add_func ("/misc/incomplete", test_incomplete);
g_test_add_func ("/misc/timeout", test_subprocess_timed_out);
g_test_add_func ("/misc/path/first", test_path_first);
g_test_add_func ("/misc/path/second", test_path_second);
g_test_add_func ("/tap", test_tap);
g_test_add_func ("/tap/summary", test_tap_summary);