00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifdef HAVE_CONFIG_H
00021 # include <config.h>
00022 #endif
00023
00024
00025
00026
00027
00028 #include <irplib_plugin.h>
00029 #include <string.h>
00030 #include <float.h>
00031
00032
00033
00034
00035
00036
00037
00038 cpl_recipe_define(test_recipe, 123, "Some Author", "someone@local.org", "2014",
00039 "For testing.", "Simple recipe for testing.");
00040
00041 static void test_irplib_recipe_test(void);
00042
00043
00047
00048
00049
00050
00054
00055
00056 int main(void)
00057 {
00058
00059
00060
00061 cpl_parameterlist * parlist;
00062
00063
00064 cpl_test_init(PACKAGE_BUGREPORT, CPL_MSG_WARNING);
00065
00066 parlist = cpl_parameterlist_new();
00067
00068
00069 (void)irplib_parameterlist_get_double(parlist, "INST", "RECIPE", NULL);
00070 cpl_test_error(CPL_ERROR_NULL_INPUT);
00071
00072 (void)irplib_parameterlist_get_double(parlist, "INST", NULL, "PAR");
00073 cpl_test_error(CPL_ERROR_NULL_INPUT);
00074
00075 (void)irplib_parameterlist_get_double(parlist, NULL, "RECIPE", "PAR");
00076 cpl_test_error(CPL_ERROR_NULL_INPUT);
00077
00078 (void)irplib_parameterlist_get_double(NULL, "INST", "RECIPE", "PAR");
00079 cpl_test_error(CPL_ERROR_NULL_INPUT);
00080
00081 (void)irplib_parameterlist_get_double(parlist, "INST", "RECIPE", "PAR");
00082 cpl_test_error(CPL_ERROR_DATA_NOT_FOUND);
00083
00084
00085 (void)irplib_parameterlist_get_int(parlist, "INST", "RECIPE", NULL);
00086 cpl_test_error(CPL_ERROR_NULL_INPUT);
00087
00088 (void)irplib_parameterlist_get_int(parlist, "INST", NULL, "PAR");
00089 cpl_test_error(CPL_ERROR_NULL_INPUT);
00090
00091 (void)irplib_parameterlist_get_int(parlist, NULL, "RECIPE", "PAR");
00092 cpl_test_error(CPL_ERROR_NULL_INPUT);
00093
00094 (void)irplib_parameterlist_get_int(NULL, "INST", "RECIPE", "PAR");
00095 cpl_test_error(CPL_ERROR_NULL_INPUT);
00096
00097 (void)irplib_parameterlist_get_int(parlist, "INST", "RECIPE", "PAR");
00098 cpl_test_error(CPL_ERROR_DATA_NOT_FOUND);
00099
00100
00101 (void)irplib_parameterlist_get_bool(parlist, "INST", "RECIPE", NULL);
00102 cpl_test_error(CPL_ERROR_NULL_INPUT);
00103
00104 (void)irplib_parameterlist_get_bool(parlist, "INST", NULL, "PAR");
00105 cpl_test_error(CPL_ERROR_NULL_INPUT);
00106
00107 (void)irplib_parameterlist_get_bool(parlist, NULL, "RECIPE", "PAR");
00108 cpl_test_error(CPL_ERROR_NULL_INPUT);
00109
00110 (void)irplib_parameterlist_get_bool(NULL, "INST", "RECIPE", "PAR");
00111 cpl_test_error(CPL_ERROR_NULL_INPUT);
00112
00113 (void)irplib_parameterlist_get_bool(parlist, "INST", "RECIPE", "PAR");
00114 cpl_test_error(CPL_ERROR_DATA_NOT_FOUND);
00115
00116
00117 (void)irplib_parameterlist_get_string(parlist, "INST", "RECIPE", NULL);
00118 cpl_test_error(CPL_ERROR_NULL_INPUT);
00119
00120 (void)irplib_parameterlist_get_string(parlist, "INST", NULL, "PAR");
00121 cpl_test_error(CPL_ERROR_NULL_INPUT);
00122
00123 (void)irplib_parameterlist_get_string(parlist, NULL, "RECIPE", "PAR");
00124 cpl_test_error(CPL_ERROR_NULL_INPUT);
00125
00126 (void)irplib_parameterlist_get_string(NULL, "INST", "RECIPE", "PAR");
00127 cpl_test_error(CPL_ERROR_NULL_INPUT);
00128
00129 (void)irplib_parameterlist_get_string(parlist, "INST", "RECIPE", "PAR");
00130 cpl_test_error(CPL_ERROR_DATA_NOT_FOUND);
00131
00132
00133 cpl_parameterlist_delete(parlist);
00134
00135 test_irplib_recipe_test();
00136
00137 return cpl_test_end(0);
00138 }
00139
00140
00141 static void test_irplib_recipe_test(void)
00142 {
00143
00144
00145
00146 const char * tags[] = {
00147 "TEST_TAG",
00148 "ANOTHER_TAG"
00149 };
00150 cpl_pluginlist * pluginlist;
00151 const size_t ntags = sizeof(tags) / sizeof(char*);
00152 pluginlist = cpl_pluginlist_new();
00153 cpl_test_nonnull(pluginlist);
00154
00155 cpl_test_zero(cpl_plugin_get_info(pluginlist));
00156 cpl_test_zero(irplib_plugin_test(pluginlist, ntags, tags));
00157
00158 cpl_pluginlist_delete(pluginlist);
00159 }
00160
00165 static cpl_error_code test_recipe_fill_parameterlist(cpl_parameterlist *self)
00166 {
00167 cpl_ensure_code(self != NULL, CPL_ERROR_NULL_INPUT);
00168 return CPL_ERROR_NONE;
00169 }
00170
00175 static int test_recipe(cpl_frameset *frames, const cpl_parameterlist *params)
00176 {
00177 cpl_frameset_iterator * iterator = NULL;
00178 const cpl_frame * frame;
00179
00180 cpl_ensure_code(frames != NULL && params != NULL, CPL_ERROR_NULL_INPUT);
00181 cpl_ensure_code(cpl_frameset_get_size(frames) > 0,
00182 CPL_ERROR_DATA_NOT_FOUND);
00183
00184
00185
00186
00187 for (frame = irplib_frameset_get_first_const(&iterator, frames);
00188 frame != NULL;
00189 frame = irplib_frameset_get_next_const(iterator))
00190 {
00191 const char * name = cpl_frame_get_filename(frame);
00192 cpl_propertylist * props = cpl_propertylist_load(name, 0);
00193 if (props == NULL) {
00194 cpl_frameset_iterator_delete(iterator);
00195 return cpl_error_get_code();
00196 }
00197 cpl_propertylist_delete(props);
00198 }
00199
00200 cpl_frameset_iterator_delete(iterator);
00201 return CPL_ERROR_NONE;
00202 }