Merge branch 'move_relation_tests' into 'main'

Move tests/relation-test.c to glib/tests/relation.c

See merge request GNOME/glib!2559
This commit is contained in:
Philip Withnall 2022-03-21 12:12:38 +00:00
commit 47f905d2f6
3 changed files with 38 additions and 46 deletions

View File

@ -89,6 +89,7 @@ glib_tests = {
'dependencies' : [pcre], 'dependencies' : [pcre],
'c_args' : use_pcre_static_flag ? ['-DPCRE_STATIC'] : [], 'c_args' : use_pcre_static_flag ? ['-DPCRE_STATIC'] : [],
}, },
'relation' : {},
'rwlock' : {}, 'rwlock' : {},
'scannerapi' : {}, 'scannerapi' : {},
'search-utils' : {}, 'search-utils' : {},

View File

@ -22,12 +22,9 @@
* GLib at ftp://ftp.gtk.org/pub/gtk/. * GLib at ftp://ftp.gtk.org/pub/gtk/.
*/ */
#undef G_DISABLE_ASSERT #define GLIB_DISABLE_DEPRECATION_WARNINGS
#undef G_LOG_DOMAIN
#include <stdio.h> #include <glib.h>
#include <string.h>
#include "glib.h"
int array[10000]; int array[10000];
gboolean failed = FALSE; gboolean failed = FALSE;
@ -50,22 +47,18 @@ else \
#define GLIB_TEST_STRING_5 "el do" #define GLIB_TEST_STRING_5 "el do"
typedef struct { typedef struct {
guint age; guint age;
gchar name[40]; gchar name[40];
} GlibTestInfo; } GlibTestInfo;
static void
test_relation (void)
int
main (int argc,
char *argv[])
{ {
gint i; gint i;
GRelation *relation; GRelation *relation;
GTuples *tuples; GTuples *tuples;
gint data [1024]; gint data [1024];
relation = g_relation_new (2); relation = g_relation_new (2);
g_relation_index (relation, 0, g_int_hash, g_int_equal); g_relation_index (relation, 0, g_int_hash, g_int_equal);
@ -82,55 +75,54 @@ main (int argc,
for (i = 2; i < 1022; i += 1) for (i = 2; i < 1022; i += 1)
{ {
g_assert (! g_relation_exists (relation, data + i, data + i)); g_assert_false (g_relation_exists (relation, data + i, data + i));
g_assert (! g_relation_exists (relation, data + i, data + i + 2)); g_assert_false (g_relation_exists (relation, data + i, data + i + 2));
g_assert (! g_relation_exists (relation, data + i, data + i - 2)); g_assert_false (g_relation_exists (relation, data + i, data + i - 2));
} }
for (i = 1; i < 1023; i += 1) for (i = 1; i < 1023; i += 1)
{ {
g_assert (g_relation_exists (relation, data + i, data + i + 1)); g_assert_true (g_relation_exists (relation, data + i, data + i + 1));
g_assert (g_relation_exists (relation, data + i, data + i - 1)); g_assert_true (g_relation_exists (relation, data + i, data + i - 1));
} }
for (i = 2; i < 1022; i += 1) for (i = 2; i < 1022; i += 1)
{ {
g_assert (g_relation_count (relation, data + i, 0) == 2); g_assert_cmpint (g_relation_count (relation, data + i, 0), ==, 2);
g_assert (g_relation_count (relation, data + i, 1) == 2); g_assert_cmpint (g_relation_count (relation, data + i, 1), ==, 2);
} }
g_assert (g_relation_count (relation, data, 0) == 0); g_assert_cmpint (g_relation_count (relation, data, 0), ==, 0);
g_assert_cmpint (g_relation_count (relation, data + 42, 0), ==, 2);
g_assert_cmpint (g_relation_count (relation, data + 43, 1), ==, 2);
g_assert_cmpint (g_relation_count (relation, data + 41, 1), ==, 2);
g_assert (g_relation_count (relation, data + 42, 0) == 2);
g_assert (g_relation_count (relation, data + 43, 1) == 2);
g_assert (g_relation_count (relation, data + 41, 1) == 2);
g_relation_delete (relation, data + 42, 0); g_relation_delete (relation, data + 42, 0);
g_assert (g_relation_count (relation, data + 42, 0) == 0);
g_assert (g_relation_count (relation, data + 43, 1) == 1); g_assert_cmpint (g_relation_count (relation, data + 42, 0), ==, 0);
g_assert (g_relation_count (relation, data + 41, 1) == 1); g_assert_cmpint (g_relation_count (relation, data + 43, 1), ==, 1);
g_assert_cmpint (g_relation_count (relation, data + 41, 1), ==, 1);
tuples = g_relation_select (relation, data + 200, 0); tuples = g_relation_select (relation, data + 200, 0);
g_assert (tuples->len == 2); g_assert_cmpint (tuples->len, ==, 2);
#if 0 g_assert_true (g_relation_exists (relation, data + 300, data + 301));
for (i = 0; i < tuples->len; i += 1)
{
printf ("%d %d\n",
*(gint*) g_tuples_index (tuples, i, 0),
*(gint*) g_tuples_index (tuples, i, 1));
}
#endif
g_assert (g_relation_exists (relation, data + 300, data + 301));
g_relation_delete (relation, data + 300, 0); g_relation_delete (relation, data + 300, 0);
g_assert (!g_relation_exists (relation, data + 300, data + 301)); g_assert_false (g_relation_exists (relation, data + 300, data + 301));
g_tuples_destroy (tuples); g_tuples_destroy (tuples);
g_relation_destroy (relation); g_relation_destroy (relation);
}
relation = NULL;
int
return 0; main (int argc,
char *argv[])
{
g_test_init (&argc, &argv, NULL);
g_test_add_func ("/glib/relation", test_relation);
return g_test_run ();
} }

View File

@ -20,7 +20,6 @@ tests = {
'mainloop-test' : {}, 'mainloop-test' : {},
'mapping-test' : {}, 'mapping-test' : {},
'onceinit' : {}, 'onceinit' : {},
'relation-test' : {},
'slice-concurrent' : {}, 'slice-concurrent' : {},
'slice-threadinit' : { 'slice-threadinit' : {
'dependencies' : [libgthread_dep], 'dependencies' : [libgthread_dep],