mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-03-28 02:20:04 +01:00
Test that g_slice_set_config() works
For a while it didn't work, due to the ctor-based initialisation of gslice. https://bugzilla.gnome.org/show_bug.cgi?id=660887
This commit is contained in:
parent
5bfb64d507
commit
bb5d90a768
1
glib/tests/.gitignore
vendored
1
glib/tests/.gitignore
vendored
@ -45,6 +45,7 @@ rwlock
|
||||
scannerapi
|
||||
sequence
|
||||
shell
|
||||
slice
|
||||
slist
|
||||
sort
|
||||
strfuncs
|
||||
|
@ -212,6 +212,9 @@ private_LDADD = $(progs_ldadd)
|
||||
TEST_PROGS += thread
|
||||
thread_LDADD = $(progs_ldadd)
|
||||
|
||||
TEST_PROGS += slice
|
||||
slice_LDADD = $(progs_ldadd)
|
||||
|
||||
if OS_UNIX
|
||||
|
||||
TEST_PROGS += unix
|
||||
|
28
glib/tests/slice.c
Normal file
28
glib/tests/slice.c
Normal file
@ -0,0 +1,28 @@
|
||||
#include <glib.h>
|
||||
|
||||
void
|
||||
test_slice_config (void)
|
||||
{
|
||||
if (g_test_trap_fork (1000000, G_TEST_TRAP_SILENCE_STDERR))
|
||||
g_slice_set_config (G_SLICE_CONFIG_ALWAYS_MALLOC, TRUE);
|
||||
|
||||
g_test_trap_assert_failed ();
|
||||
}
|
||||
|
||||
int
|
||||
main (int argc, char **argv)
|
||||
{
|
||||
/* have to do this before using gtester since it uses gslice */
|
||||
gboolean was;
|
||||
|
||||
was = g_slice_get_config (G_SLICE_CONFIG_ALWAYS_MALLOC);
|
||||
g_slice_set_config (G_SLICE_CONFIG_ALWAYS_MALLOC, !was);
|
||||
g_assert_cmpint (g_slice_get_config (G_SLICE_CONFIG_ALWAYS_MALLOC), !=, was);
|
||||
g_slice_set_config (G_SLICE_CONFIG_ALWAYS_MALLOC, was);
|
||||
|
||||
g_test_init (&argc, &argv, NULL);
|
||||
|
||||
g_test_add_func ("/slice/config", test_slice_config);
|
||||
|
||||
return g_test_run ();
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user