mirror of
https://gitlab.gnome.org/GNOME/gimp.git
synced 2025-10-05 21:02:42 +02:00
libgimp: add tests to check presence of constants in introspection
This commit is contained in:
@@ -8,6 +8,7 @@ endif
|
||||
|
||||
tests = [
|
||||
'color-parser',
|
||||
'constants',
|
||||
'export-options',
|
||||
'image',
|
||||
'palette',
|
||||
|
84
libgimp/tests/test-constants.c
Normal file
84
libgimp/tests/test-constants.c
Normal file
@@ -0,0 +1,84 @@
|
||||
/* Test for constants in our Gobject Introspection API to make sure they are
|
||||
* available.
|
||||
*/
|
||||
|
||||
static GimpValueArray *
|
||||
gimp_c_test_run (GimpProcedure *procedure,
|
||||
GimpRunMode run_mode,
|
||||
GimpImage *image,
|
||||
GimpDrawable **drawables,
|
||||
GimpProcedureConfig *config,
|
||||
gpointer run_data)
|
||||
{
|
||||
/* The compiler could detect that comparision would always be true and always
|
||||
* return a TRUE value. But then: it would already fail compiling if the
|
||||
* constant is missing.
|
||||
*/
|
||||
#define GIMP_CONST_TEST(testname, test) \
|
||||
GIMP_TEST_START(testname); GIMP_TEST_END(test == test);
|
||||
|
||||
/* The actual test here isn't that important, we just need to know it exists. */
|
||||
#define GIMP_CONST_STRING_TEST(testname, test) \
|
||||
GIMP_TEST_START(testname); GIMP_TEST_END(test != NULL);
|
||||
|
||||
GIMP_CONST_TEST("GIMP_CHECK_SIZE", GIMP_CHECK_SIZE);
|
||||
GIMP_CONST_TEST("GIMP_CHECK_SIZE_SM", GIMP_CHECK_SIZE_SM);
|
||||
GIMP_CONST_TEST("GIMP_CHECK_DARK", GIMP_CHECK_DARK);
|
||||
GIMP_CONST_TEST("GIMP_CHECK_LIGHT", GIMP_CHECK_LIGHT);
|
||||
|
||||
GIMP_CONST_TEST("GIMP_MIN_IMAGE_SIZE", GIMP_MIN_IMAGE_SIZE);
|
||||
GIMP_CONST_TEST("GIMP_MAX_IMAGE_SIZE", GIMP_MAX_IMAGE_SIZE);
|
||||
GIMP_CONST_TEST("GIMP_MIN_RESOLUTION", GIMP_MIN_RESOLUTION);
|
||||
GIMP_CONST_TEST("GIMP_MAX_RESOLUTION", GIMP_MAX_RESOLUTION);
|
||||
GIMP_CONST_TEST("GIMP_MAX_MESIZE", GIMP_MAX_MEMSIZE);
|
||||
|
||||
GIMP_CONST_TEST("GIMP_PARAM_NO_VALIDATE", GIMP_PARAM_NO_VALIDATE);
|
||||
GIMP_CONST_TEST("GIMP_PARAM_DONT_SERIALIZE", GIMP_PARAM_DONT_SERIALIZE);
|
||||
GIMP_CONST_TEST("GIMP_PARAM_FLAG_SHIFT", GIMP_PARAM_FLAG_SHIFT);
|
||||
GIMP_CONST_TEST("GIMP_PARAM_STATIC_STRINGS", GIMP_PARAM_STATIC_STRINGS);
|
||||
GIMP_CONST_TEST("GIMP_PARAM_READABLE", GIMP_PARAM_READABLE);
|
||||
GIMP_CONST_TEST("GIMP_PARAM_WRITABLE", GIMP_PARAM_WRITABLE);
|
||||
GIMP_CONST_TEST("GIMP_PARAM_READWRITE", GIMP_PARAM_READWRITE);
|
||||
|
||||
GIMP_CONST_TEST("GIMP_PARASITE_PERSISTENT", GIMP_PARASITE_PERSISTENT);
|
||||
GIMP_CONST_TEST("GIMP_PARASITE_UNDOABLE", GIMP_PARASITE_UNDOABLE);
|
||||
GIMP_CONST_TEST("GIMP_PARASITE_ATTACH_PARENT", GIMP_PARASITE_ATTACH_PARENT);
|
||||
GIMP_CONST_TEST("GIMP_PARASITE_PARENT_PERSISTENT", GIMP_PARASITE_PARENT_PERSISTENT);
|
||||
GIMP_CONST_TEST("GIMP_PARASITE_PARENT_UNDOABLE", GIMP_PARASITE_PARENT_UNDOABLE);
|
||||
GIMP_CONST_TEST("GIMP_PARASITE_ATTACH_GRANDPARENT", GIMP_PARASITE_ATTACH_GRANDPARENT);
|
||||
GIMP_CONST_TEST("GIMP_PARASITE_GRANDPARENT_PERSISTENT", GIMP_PARASITE_GRANDPARENT_PERSISTENT);
|
||||
GIMP_CONST_TEST("GIMP_PARASITE_GRANDPARENT_UNDOABLE", GIMP_PARASITE_GRANDPARENT_UNDOABLE);
|
||||
|
||||
/* FIXME: libgimpbase/gimpparasiteio.h is not listed in gimpbase.h, is that
|
||||
* an oversight, or does it need to be included in gimpbase-private.h.
|
||||
* It seems that pixpipe is only handled in app, but this const, a struct and
|
||||
* several functions are available through Gobject Introspection so we
|
||||
* can't just remove it from the API.
|
||||
*
|
||||
GIMP_CONST_TEST("GIMP_PIXPIPE_MAXDIM", GIMP_PIXPIPE_MAXDIM);
|
||||
*/
|
||||
|
||||
GIMP_CONST_TEST("GIMP_MAJOR_VERSION", GIMP_MAJOR_VERSION);
|
||||
GIMP_CONST_TEST("GIMP_MINOR_VERSION", GIMP_MINOR_VERSION);
|
||||
GIMP_CONST_TEST("GIMP_MICRO_VERSION", GIMP_MICRO_VERSION);
|
||||
GIMP_CONST_STRING_TEST("GIMP_VERSION", GIMP_VERSION);
|
||||
GIMP_CONST_STRING_TEST("GIMP_API_VERSION", GIMP_API_VERSION);
|
||||
|
||||
GIMP_CONST_TEST("GIMP_CONFIG_PARAM_SERIALIZE", GIMP_CONFIG_PARAM_SERIALIZE);
|
||||
GIMP_CONST_TEST("GIMP_CONFIG_PARAM_AGGREGATE", GIMP_CONFIG_PARAM_AGGREGATE);
|
||||
GIMP_CONST_TEST("GIMP_CONFIG_PARAM_RESTART", GIMP_CONFIG_PARAM_RESTART);
|
||||
GIMP_CONST_TEST("GIMP_CONFIG_PARAM_CONFIRM", GIMP_CONFIG_PARAM_CONFIRM);
|
||||
GIMP_CONST_TEST("GIMP_CONFIG_PARAM_DEFAULTS", GIMP_CONFIG_PARAM_DEFAULTS);
|
||||
GIMP_CONST_TEST("GIMP_CONFIG_PARAM_IGNORE", GIMP_CONFIG_PARAM_IGNORE);
|
||||
GIMP_CONST_TEST("GIMP_CONFIG_PARAM_DONT_COMPARE", GIMP_CONFIG_PARAM_DONT_COMPARE);
|
||||
GIMP_CONST_TEST("GIMP_CONFIG_PARAM_FLAG_SHIFT", GIMP_CONFIG_PARAM_FLAG_SHIFT);
|
||||
GIMP_CONST_TEST("GIMP_CONFIG_PARAM_FLAGS", GIMP_CONFIG_PARAM_FLAGS);
|
||||
|
||||
/* FIXME This resides in libgimpmodule/gimpmodule.h which isn't referenced
|
||||
* from libgimp.h. We can add an include in c-test-header.c, but should we?
|
||||
*
|
||||
GIMP_CONST_TEST("GIMP_MODULE_ABI_VERSION", GIMP_MODULE_ABI_VERSION);
|
||||
*/
|
||||
|
||||
GIMP_TEST_RETURN
|
||||
}
|
81
libgimp/tests/test-constants.py
Normal file
81
libgimp/tests/test-constants.py
Normal file
@@ -0,0 +1,81 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
# Test for the existence of constants that are part of our public API and
|
||||
# thus should be available using gobject introspection.
|
||||
|
||||
# 1. Defined in libgimpbase
|
||||
|
||||
# from libgimpbase/gimpchecks.h
|
||||
|
||||
gimp_assert('Gimp.CHECK_SIZE', hasattr(Gimp, "CHECK_SIZE"))
|
||||
gimp_assert('Gimp.CHECK_SIZE_SM', hasattr(Gimp, "CHECK_SIZE_SM"))
|
||||
gimp_assert('Gimp.CHECK_DARK', hasattr(Gimp, "CHECK_DARK"))
|
||||
gimp_assert('Gimp.CHECK_LIGHT', hasattr(Gimp, "CHECK_LIGHT"))
|
||||
|
||||
|
||||
# from libgimpbase/gimplimits.h
|
||||
|
||||
gimp_assert('Gimp.MIN_IMAGE_SIZE', hasattr(Gimp, "MIN_IMAGE_SIZE"))
|
||||
gimp_assert('Gimp.MAX_IMAGE_SIZE', hasattr(Gimp, "MAX_IMAGE_SIZE"))
|
||||
gimp_assert('Gimp.MIN_RESOLUTION', hasattr(Gimp, "MIN_RESOLUTION"))
|
||||
gimp_assert('Gimp.MAX_RESOLUTION', hasattr(Gimp, "MAX_RESOLUTION"))
|
||||
gimp_assert('Gimp.MAX_MEMSIZE', hasattr(Gimp, "MAX_MEMSIZE"))
|
||||
|
||||
|
||||
# from libgimpbase/gimpparamspecs.h
|
||||
|
||||
gimp_assert('Gimp.PARAM_NO_VALIDATE', hasattr(Gimp, "PARAM_NO_VALIDATE"))
|
||||
gimp_assert('Gimp.PARAM_DONT_SERIALIZE', hasattr(Gimp, "PARAM_DONT_SERIALIZE"))
|
||||
gimp_assert('Gimp.PARAM_FLAG_SHIFT', hasattr(Gimp, "PARAM_FLAG_SHIFT"))
|
||||
gimp_assert('Gimp.PARAM_STATIC_STRINGS', hasattr(Gimp, "PARAM_STATIC_STRINGS"))
|
||||
gimp_assert('Gimp.PARAM_READABLE', hasattr(Gimp, "PARAM_READABLE"))
|
||||
gimp_assert('Gimp.PARAM_WRITABLE', hasattr(Gimp, "PARAM_WRITABLE"))
|
||||
gimp_assert('Gimp.PARAM_READWRITE', hasattr(Gimp, "PARAM_READWRITE"))
|
||||
|
||||
|
||||
# from libgimpbase/gimpparasite.h
|
||||
|
||||
gimp_assert('Gimp.PARASITE_PERSISTENT', hasattr(Gimp, "PARASITE_PERSISTENT"))
|
||||
gimp_assert('Gimp.PARASITE_UNDOABLE', hasattr(Gimp, "PARASITE_UNDOABLE"))
|
||||
gimp_assert('Gimp.PARASITE_ATTACH_PARENT', hasattr(Gimp, "PARASITE_ATTACH_PARENT"))
|
||||
gimp_assert('Gimp.PARASITE_PARENT_PERSISTENT', hasattr(Gimp, "PARASITE_PARENT_PERSISTENT"))
|
||||
gimp_assert('Gimp.PARASITE_PARENT_UNDOABLE', hasattr(Gimp, "PARASITE_PARENT_UNDOABLE"))
|
||||
gimp_assert('Gimp.PARASITE_ATTACH_GRANDPARENT', hasattr(Gimp, "PARASITE_ATTACH_GRANDPARENT"))
|
||||
gimp_assert('Gimp.PARASITE_GRANDPARENT_PERSISTENT', hasattr(Gimp, "PARASITE_GRANDPARENT_PERSISTENT"))
|
||||
gimp_assert('Gimp.PARASITE_GRANDPARENT_UNDOABLE', hasattr(Gimp, "PARASITE_GRANDPARENT_UNDOABLE"))
|
||||
|
||||
|
||||
# from libgimpbase/gimpparasiteio.h
|
||||
|
||||
gimp_assert('Gimp.PIXPIPE_MAXDIM', hasattr(Gimp, "PIXPIPE_MAXDIM"))
|
||||
|
||||
|
||||
# from libgimpbase/gimpversion.h.in
|
||||
|
||||
gimp_assert('Gimp.MAJOR_VERSION', hasattr(Gimp, "MAJOR_VERSION"))
|
||||
gimp_assert('Gimp.MINOR_VERSION', hasattr(Gimp, "MINOR_VERSION"))
|
||||
gimp_assert('Gimp.MICRO_VERSION', hasattr(Gimp, "MICRO_VERSION"))
|
||||
gimp_assert('Gimp.VERSION', hasattr(Gimp, "VERSION"))
|
||||
gimp_assert('Gimp.API_VERSION', hasattr(Gimp, "API_VERSION"))
|
||||
|
||||
|
||||
# 2. Defined in libgimpconfig
|
||||
|
||||
# from libgimpconfig/gimpconfig-params.h
|
||||
|
||||
gimp_assert('Gimp.CONFIG_PARAM_SERIALIZE', hasattr(Gimp, "CONFIG_PARAM_SERIALIZE"))
|
||||
gimp_assert('Gimp.CONFIG_PARAM_AGGREGATE', hasattr(Gimp, "CONFIG_PARAM_AGGREGATE"))
|
||||
gimp_assert('Gimp.CONFIG_PARAM_RESTART', hasattr(Gimp, "CONFIG_PARAM_RESTART"))
|
||||
gimp_assert('Gimp.CONFIG_PARAM_CONFIRM', hasattr(Gimp, "CONFIG_PARAM_CONFIRM"))
|
||||
gimp_assert('Gimp.CONFIG_PARAM_DEFAULTS', hasattr(Gimp, "CONFIG_PARAM_DEFAULTS"))
|
||||
gimp_assert('Gimp.CONFIG_PARAM_IGNORE', hasattr(Gimp, "CONFIG_PARAM_IGNORE"))
|
||||
gimp_assert('Gimp.CONFIG_PARAM_DONT_COMPARE', hasattr(Gimp, "CONFIG_PARAM_DONT_COMPARE"))
|
||||
gimp_assert('Gimp.CONFIG_PARAM_FLAG_SHIFT', hasattr(Gimp, "CONFIG_PARAM_FLAG_SHIFT"))
|
||||
gimp_assert('Gimp.CONFIG_PARAM_FLAGS', hasattr(Gimp, "CONFIG_PARAM_FLAGS"))
|
||||
|
||||
|
||||
# 3. Defined in libgimpmodule
|
||||
|
||||
# from libgimpmodule/gimpmodule.h
|
||||
|
||||
gimp_assert('Gimp.MODULE_ABI_VERSION', hasattr(Gimp, "MODULE_ABI_VERSION"))
|
Reference in New Issue
Block a user