mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-27 16:06:16 +01:00
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:
commit
47f905d2f6
@ -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' : {},
|
||||||
|
@ -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;
|
||||||
@ -54,18 +51,14 @@ typedef struct {
|
|||||||
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 ();
|
||||||
}
|
}
|
@ -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],
|
||||||
|
Loading…
Reference in New Issue
Block a user