From 7220792f187f91a2ef3eb0c930a13674b2a8a80a Mon Sep 17 00:00:00 2001 From: Arystanbek Dyussenov Date: Wed, 19 Aug 2009 09:52:13 +0000 Subject: Various fixes in rna_*_api.c files to remove compiler warnings. --- source/blender/editors/include/ED_mesh.h | 1 + source/blender/editors/mesh/editmesh_mods.c | 5 + source/blender/makesrna/intern/rna_action_api.c | 2 + source/blender/makesrna/intern/rna_image_api.c | 2 + source/blender/makesrna/intern/rna_internal.h | 6 +- source/blender/makesrna/intern/rna_mesh_api.c | 3 + source/blender/makesrna/intern/rna_object_api.c | 2 +- source/blender/makesrna/intern/rna_pose_api.c | 4 +- source/blender/makesrna/intern/rna_scene_api.c | 4 + source/blender/python/SConscript | 2 +- source/creator/creator.c | 4 + source/creator/tests/alltest.c | 176 ------------------------ source/creator/tests/test.c | 176 ++++++++++++++++++++++++ source/creator/tests/test.h | 6 + 14 files changed, 211 insertions(+), 182 deletions(-) delete mode 100644 source/creator/tests/alltest.c create mode 100644 source/creator/tests/test.c create mode 100644 source/creator/tests/test.h diff --git a/source/blender/editors/include/ED_mesh.h b/source/blender/editors/include/ED_mesh.h index cceebeadc96..696e8f823eb 100644 --- a/source/blender/editors/include/ED_mesh.h +++ b/source/blender/editors/include/ED_mesh.h @@ -118,6 +118,7 @@ void EM_select_face(struct EditFace *efa, int sel); void EM_select_face_fgon(struct EditMesh *em, struct EditFace *efa, int val); void EM_select_swap(struct EditMesh *em); void EM_toggle_select_all(struct EditMesh *em); +void EM_select_all(struct EditMesh *em); void EM_selectmode_flush(struct EditMesh *em); void EM_deselect_flush(struct EditMesh *em); void EM_selectmode_set(struct EditMesh *em); diff --git a/source/blender/editors/mesh/editmesh_mods.c b/source/blender/editors/mesh/editmesh_mods.c index d27aa3f7e3a..363b6ecc4e4 100644 --- a/source/blender/editors/mesh/editmesh_mods.c +++ b/source/blender/editors/mesh/editmesh_mods.c @@ -3288,6 +3288,11 @@ void EM_toggle_select_all(EditMesh *em) /* exported for UV */ EM_set_flag_all(em, SELECT); } +void EM_select_all(EditMesh *em) +{ + EM_set_flag_all(em, SELECT); +} + static int toggle_select_all_exec(bContext *C, wmOperator *op) { Object *obedit= CTX_data_edit_object(C); diff --git a/source/blender/makesrna/intern/rna_action_api.c b/source/blender/makesrna/intern/rna_action_api.c index 2b51a424fcf..11efa6d5f8a 100644 --- a/source/blender/makesrna/intern/rna_action_api.c +++ b/source/blender/makesrna/intern/rna_action_api.c @@ -36,6 +36,8 @@ #ifdef RNA_RUNTIME +#include "BKE_action.h" + #include "DNA_anim_types.h" #include "DNA_curve_types.h" diff --git a/source/blender/makesrna/intern/rna_image_api.c b/source/blender/makesrna/intern/rna_image_api.c index ccc9846600d..fee379cd285 100644 --- a/source/blender/makesrna/intern/rna_image_api.c +++ b/source/blender/makesrna/intern/rna_image_api.c @@ -41,6 +41,8 @@ #include "BKE_utildefines.h" #include "BKE_image.h" +#include "MEM_guardedalloc.h" + /* User should check if returned path exists before copying a file there. diff --git a/source/blender/makesrna/intern/rna_internal.h b/source/blender/makesrna/intern/rna_internal.h index cff77fbb34b..af94f0ccc6f 100644 --- a/source/blender/makesrna/intern/rna_internal.h +++ b/source/blender/makesrna/intern/rna_internal.h @@ -197,13 +197,15 @@ void rna_Object_update_data(struct bContext *C, struct PointerRNA *ptr); /* API functions */ +void RNA_api_action(StructRNA *srna); +void RNA_api_image(struct StructRNA *srna); void RNA_api_main(struct StructRNA *srna); +void RNA_api_material(StructRNA *srna); void RNA_api_mesh(struct StructRNA *srna); void RNA_api_object(struct StructRNA *srna); +void RNA_api_scene(struct StructRNA *srna); void RNA_api_ui_layout(struct StructRNA *srna); void RNA_api_wm(struct StructRNA *srna); -void RNA_api_scene(struct StructRNA *srna); -void RNA_api_material(StructRNA *srna); /* ID Properties */ diff --git a/source/blender/makesrna/intern/rna_mesh_api.c b/source/blender/makesrna/intern/rna_mesh_api.c index 9d4dad1fb5b..1db2f155d14 100644 --- a/source/blender/makesrna/intern/rna_mesh_api.c +++ b/source/blender/makesrna/intern/rna_mesh_api.c @@ -42,6 +42,7 @@ #include "BKE_DerivedMesh.h" #include "BKE_main.h" #include "BKE_mesh.h" +#include "BKE_material.h" #include "DNA_mesh_types.h" #include "DNA_scene_types.h" @@ -52,6 +53,8 @@ #include "WM_api.h" #include "WM_types.h" +#include "MEM_guardedalloc.h" + static void rna_Mesh_calc_edges(Mesh *mesh) { CustomData edata; diff --git a/source/blender/makesrna/intern/rna_object_api.c b/source/blender/makesrna/intern/rna_object_api.c index f0a42987848..3c79c1cbc21 100644 --- a/source/blender/makesrna/intern/rna_object_api.c +++ b/source/blender/makesrna/intern/rna_object_api.c @@ -273,7 +273,7 @@ static void rna_Object_convert_to_triface(Object *ob, bContext *C, ReportList *r make_editMesh(sce, ob); /* select all */ - EM_set_flag_all(me->edit_mesh, SELECT); + EM_select_all(me->edit_mesh); convert_to_triface(me->edit_mesh, 0); diff --git a/source/blender/makesrna/intern/rna_pose_api.c b/source/blender/makesrna/intern/rna_pose_api.c index 9ac7713b2e9..42bb52d8544 100644 --- a/source/blender/makesrna/intern/rna_pose_api.c +++ b/source/blender/makesrna/intern/rna_pose_api.c @@ -45,8 +45,8 @@ void RNA_api_pose(StructRNA *srna) { - FunctionRNA *func; - PropertyRNA *parm; + /* FunctionRNA *func; */ + /* PropertyRNA *parm; */ } diff --git a/source/blender/makesrna/intern/rna_scene_api.c b/source/blender/makesrna/intern/rna_scene_api.c index f3cbb630df5..076fe38ed2f 100644 --- a/source/blender/makesrna/intern/rna_scene_api.c +++ b/source/blender/makesrna/intern/rna_scene_api.c @@ -38,8 +38,12 @@ #ifdef RNA_RUNTIME #include "BKE_scene.h" +#include "BKE_depsgraph.h" + #include "ED_object.h" +#include "WM_api.h" + static void rna_Scene_add_object(Scene *sce, ReportList *reports, Object *ob) { Base *base= object_in_scene(ob, sce); diff --git a/source/blender/python/SConscript b/source/blender/python/SConscript index 357d2c99d3b..d44cf762a0f 100644 --- a/source/blender/python/SConscript +++ b/source/blender/python/SConscript @@ -3,7 +3,7 @@ Import ('env') sources = env.Glob('intern/*.c') -incs = '. ../editors/include ../makesdna ../makesrna ../makesrna/intern ../blenlib ../blenkernel ../nodes' +incs = '. ../editors/include ../makesdna ../makesrna ../blenlib ../blenkernel ../nodes' incs += ' ../imbuf ../blenloader ../render/extern/include ../windowmanager' incs += ' #intern/guardedalloc #intern/memutil #extern/glew/include' incs += ' ' + env['BF_PYTHON_INC'] diff --git a/source/creator/creator.c b/source/creator/creator.c index e196213c945..6ecde9e5546 100644 --- a/source/creator/creator.c +++ b/source/creator/creator.c @@ -97,6 +97,10 @@ #include "binreloc.h" #endif +#ifdef WITH_UNIT_TEST +#include "tests/test.h" +#endif + // from buildinfo.c #ifdef BUILD_DATE extern char * build_date; diff --git a/source/creator/tests/alltest.c b/source/creator/tests/alltest.c deleted file mode 100644 index 89a58a08dfd..00000000000 --- a/source/creator/tests/alltest.c +++ /dev/null @@ -1,176 +0,0 @@ -#include -#include -#include - -#include "MEM_guardedalloc.h" - -#include "BKE_blender.h" -#include "BKE_image.h" -#include "BKE_utildefines.h" -#include "BKE_global.h" - -#include "BLI_listbase.h" -#include "BLI_util.h" -#include "BLI_fileops.h" -#include "BLI_string.h" - -#include "DNA_image_types.h" - -char bprogname[FILE_MAXDIR+FILE_MAXFILE]; -char btempdir[FILE_MAXDIR+FILE_MAXFILE]; - -typedef struct ImageTestResult { - char *path; - char *rel; - int ret; -} ImageTestResult; - -typedef struct ImageTestData { - char *path; /* image filename */ - ImageTestResult result[10]; -} ImageTestData; - -/* check that BKE_copy_images manipulates paths correctly */ -START_TEST(test_copy_images) -{ - char **dir; - ImageTestData *test; - int i,j; - -#ifdef WIN32 - /* TBD... */ -#else - /* - XXX are these paths possible in image->name?: - - ./foo/image.png - ../foo/image.png - - if so, BKE_copy_images currently doesn't support them! - */ - - const char *blend_dir = "/home/user/foo"; - char *dest_dir[] = {"/home/user/", "/home/user", "/home/user/export/", "/home/user/foo/", NULL}; - - static ImageTestData test_data[] = { - - /* image path | [expected output path | corresponding relative path | expected return value] */ - - /* relative, 0 level deep */ - {"//image.png", {{"/home/user/image.png", "image.png", 1}, - {"/home/user/image.png", "image.png", 1}, - {"/home/user/export/image.png", "image.png", 1}, - {"/home/user/foo/image.png", "image.png", 2},}}, - - /* relative, 1 level deep */ - {"//bar/image.png", {{"/home/user/bar/image.png", "bar/image.png", 1}, - {"/home/user/bar/image.png", "bar/image.png", 1}, - {"/home/user/export/bar/image.png", "bar/image.png", 1}, - {"/home/user/foo/bar/image.png", "bar/image.png", 2},}}, - - /* relative, 2 level deep */ - {"//bar/foo/image.png", {{"/home/user/bar/foo/image.png", "bar/foo/image.png", 1}, - {"/home/user/bar/foo/image.png", "bar/foo/image.png", 1}, - {"/home/user/export/bar/foo/image.png", "bar/foo/image.png", 1}, - {"/home/user/foo/bar/foo/image.png", "bar/foo/image.png", 2},}}, - - /* absolute, not under .blend dir */ - {"/home/user/bar/image.png", {{"/home/user/image.png", "image.png", 1}, - {"/home/user/image.png", "image.png", 1}, - {"/home/user/export/image.png", "image.png", 1}, - {"/home/user/foo/image.png", "image.png", 1},}}, - - /* absolute, under .blend dir, 0 level deep */ - {"/home/user/foo/image.png", {{"/home/user/image.png", "image.png", 1}, - {"/home/user/image.png", "image.png", 1}, - {"/home/user/export/image.png", "image.png", 1}, - {"/home/user/foo/image.png", "image.png", 2},}}, - - /* absolute, under .blend dir, 1 level deep */ - {"/home/user/foo/bar/image.png", {{"/home/user/bar/image.png", "bar/image.png", 1}, - {"/home/user/bar/image.png", "bar/image.png", 1}, - {"/home/user/export/bar/image.png", "bar/image.png", 1}, - {"/home/user/foo/bar/image.png", "bar/image.png", 2},}}, - - /* absolute, under .blend dir, 2 level deep */ - {"/home/user/foo/bar/foo/image.png", {{"/home/user/bar/foo/image.png", "bar/foo/image.png", 1}, - {"/home/user/bar/foo/image.png", "bar/foo/image.png", 1}, - {"/home/user/export/bar/foo/image.png", "bar/foo/image.png", 1}, - {"/home/user/foo/bar/foo/image.png", "bar/foo/image.png", 2},}}, - - /* empty image path, don't let these pass! */ - {"", {{"", 0}, - {"", 0}, - {"", 0}}}, - - {NULL}, - }; - - /* substitute G.sce */ - BLI_snprintf(G.sce, sizeof(G.sce), "%s/untitled.blend", blend_dir); -#endif - - for (dir= dest_dir, i= 0; *dir; dir++, i++) { - for (test= &test_data[0]; test->path; test++) { - Image image; - char path[FILE_MAX]; - char rel[FILE_MAX]; - char part[200]; - int ret; - - BLI_strncpy(image.name, test->path, sizeof(image.name)); - - /* passing NULL as abs path or rel path or both shouldn't break it */ - int abs_rel_null[][2]= {{0, 0}, {1, 0}, {0, 1}, {1, 1}, {-1}}; - - for (j= 0; abs_rel_null[j][0] != -1; j++) { - - int *is_null= abs_rel_null[j]; - - ret= BKE_get_image_export_path(&image, *dir, - is_null[0] ? NULL : path, sizeof(path), - is_null[1] ? NULL : rel, sizeof(rel)); - - BLI_snprintf(part, sizeof(part), "For image at %s (output abs path is %s, rel path is %s)", - test->path, is_null[0] ? "NULL" : "non-NULL", is_null[1] ? "NULL" : "non-NULL"); - - /* we should get what we expect */ - ImageTestResult *res= &test->result[i]; - fail_if(ret != res->ret, "%s, expected to return %d got %d.", part, res->ret, ret); - - if (!is_null[0] && res->path) - fail_if(strcmp(path, res->path), "%s, expected absolute path \"%s\" got \"%s\".", part, res->path, path); - if (!is_null[1] && res->rel) - fail_if(strcmp(rel, res->rel), "%s, expected relative path \"%s\" got \"%s\".", part, res->rel, rel); - } - } - } -} -END_TEST - -static Suite *image_suite(void) -{ - Suite *s= suite_create("Image"); - - /* Core test case */ - TCase *tc_core= tcase_create("Core"); - tcase_add_test(tc_core, test_copy_images); - suite_add_tcase(s, tc_core); - - return s; -} - -int run_tests() -{ - int totfail; - Suite *s= image_suite(); - SRunner *sr= srunner_create(s); - - /* run tests */ - srunner_run_all(sr, CK_VERBOSE); - - totfail= srunner_ntests_failed(sr); - srunner_free(sr); - - return !totfail ? EXIT_SUCCESS : EXIT_FAILURE; -} diff --git a/source/creator/tests/test.c b/source/creator/tests/test.c new file mode 100644 index 00000000000..89a58a08dfd --- /dev/null +++ b/source/creator/tests/test.c @@ -0,0 +1,176 @@ +#include +#include +#include + +#include "MEM_guardedalloc.h" + +#include "BKE_blender.h" +#include "BKE_image.h" +#include "BKE_utildefines.h" +#include "BKE_global.h" + +#include "BLI_listbase.h" +#include "BLI_util.h" +#include "BLI_fileops.h" +#include "BLI_string.h" + +#include "DNA_image_types.h" + +char bprogname[FILE_MAXDIR+FILE_MAXFILE]; +char btempdir[FILE_MAXDIR+FILE_MAXFILE]; + +typedef struct ImageTestResult { + char *path; + char *rel; + int ret; +} ImageTestResult; + +typedef struct ImageTestData { + char *path; /* image filename */ + ImageTestResult result[10]; +} ImageTestData; + +/* check that BKE_copy_images manipulates paths correctly */ +START_TEST(test_copy_images) +{ + char **dir; + ImageTestData *test; + int i,j; + +#ifdef WIN32 + /* TBD... */ +#else + /* + XXX are these paths possible in image->name?: + + ./foo/image.png + ../foo/image.png + + if so, BKE_copy_images currently doesn't support them! + */ + + const char *blend_dir = "/home/user/foo"; + char *dest_dir[] = {"/home/user/", "/home/user", "/home/user/export/", "/home/user/foo/", NULL}; + + static ImageTestData test_data[] = { + + /* image path | [expected output path | corresponding relative path | expected return value] */ + + /* relative, 0 level deep */ + {"//image.png", {{"/home/user/image.png", "image.png", 1}, + {"/home/user/image.png", "image.png", 1}, + {"/home/user/export/image.png", "image.png", 1}, + {"/home/user/foo/image.png", "image.png", 2},}}, + + /* relative, 1 level deep */ + {"//bar/image.png", {{"/home/user/bar/image.png", "bar/image.png", 1}, + {"/home/user/bar/image.png", "bar/image.png", 1}, + {"/home/user/export/bar/image.png", "bar/image.png", 1}, + {"/home/user/foo/bar/image.png", "bar/image.png", 2},}}, + + /* relative, 2 level deep */ + {"//bar/foo/image.png", {{"/home/user/bar/foo/image.png", "bar/foo/image.png", 1}, + {"/home/user/bar/foo/image.png", "bar/foo/image.png", 1}, + {"/home/user/export/bar/foo/image.png", "bar/foo/image.png", 1}, + {"/home/user/foo/bar/foo/image.png", "bar/foo/image.png", 2},}}, + + /* absolute, not under .blend dir */ + {"/home/user/bar/image.png", {{"/home/user/image.png", "image.png", 1}, + {"/home/user/image.png", "image.png", 1}, + {"/home/user/export/image.png", "image.png", 1}, + {"/home/user/foo/image.png", "image.png", 1},}}, + + /* absolute, under .blend dir, 0 level deep */ + {"/home/user/foo/image.png", {{"/home/user/image.png", "image.png", 1}, + {"/home/user/image.png", "image.png", 1}, + {"/home/user/export/image.png", "image.png", 1}, + {"/home/user/foo/image.png", "image.png", 2},}}, + + /* absolute, under .blend dir, 1 level deep */ + {"/home/user/foo/bar/image.png", {{"/home/user/bar/image.png", "bar/image.png", 1}, + {"/home/user/bar/image.png", "bar/image.png", 1}, + {"/home/user/export/bar/image.png", "bar/image.png", 1}, + {"/home/user/foo/bar/image.png", "bar/image.png", 2},}}, + + /* absolute, under .blend dir, 2 level deep */ + {"/home/user/foo/bar/foo/image.png", {{"/home/user/bar/foo/image.png", "bar/foo/image.png", 1}, + {"/home/user/bar/foo/image.png", "bar/foo/image.png", 1}, + {"/home/user/export/bar/foo/image.png", "bar/foo/image.png", 1}, + {"/home/user/foo/bar/foo/image.png", "bar/foo/image.png", 2},}}, + + /* empty image path, don't let these pass! */ + {"", {{"", 0}, + {"", 0}, + {"", 0}}}, + + {NULL}, + }; + + /* substitute G.sce */ + BLI_snprintf(G.sce, sizeof(G.sce), "%s/untitled.blend", blend_dir); +#endif + + for (dir= dest_dir, i= 0; *dir; dir++, i++) { + for (test= &test_data[0]; test->path; test++) { + Image image; + char path[FILE_MAX]; + char rel[FILE_MAX]; + char part[200]; + int ret; + + BLI_strncpy(image.name, test->path, sizeof(image.name)); + + /* passing NULL as abs path or rel path or both shouldn't break it */ + int abs_rel_null[][2]= {{0, 0}, {1, 0}, {0, 1}, {1, 1}, {-1}}; + + for (j= 0; abs_rel_null[j][0] != -1; j++) { + + int *is_null= abs_rel_null[j]; + + ret= BKE_get_image_export_path(&image, *dir, + is_null[0] ? NULL : path, sizeof(path), + is_null[1] ? NULL : rel, sizeof(rel)); + + BLI_snprintf(part, sizeof(part), "For image at %s (output abs path is %s, rel path is %s)", + test->path, is_null[0] ? "NULL" : "non-NULL", is_null[1] ? "NULL" : "non-NULL"); + + /* we should get what we expect */ + ImageTestResult *res= &test->result[i]; + fail_if(ret != res->ret, "%s, expected to return %d got %d.", part, res->ret, ret); + + if (!is_null[0] && res->path) + fail_if(strcmp(path, res->path), "%s, expected absolute path \"%s\" got \"%s\".", part, res->path, path); + if (!is_null[1] && res->rel) + fail_if(strcmp(rel, res->rel), "%s, expected relative path \"%s\" got \"%s\".", part, res->rel, rel); + } + } + } +} +END_TEST + +static Suite *image_suite(void) +{ + Suite *s= suite_create("Image"); + + /* Core test case */ + TCase *tc_core= tcase_create("Core"); + tcase_add_test(tc_core, test_copy_images); + suite_add_tcase(s, tc_core); + + return s; +} + +int run_tests() +{ + int totfail; + Suite *s= image_suite(); + SRunner *sr= srunner_create(s); + + /* run tests */ + srunner_run_all(sr, CK_VERBOSE); + + totfail= srunner_ntests_failed(sr); + srunner_free(sr); + + return !totfail ? EXIT_SUCCESS : EXIT_FAILURE; +} diff --git a/source/creator/tests/test.h b/source/creator/tests/test.h new file mode 100644 index 00000000000..37bdab301fc --- /dev/null +++ b/source/creator/tests/test.h @@ -0,0 +1,6 @@ +#ifndef _BF_UNIT_TEST +#define _BF_UNIT_TEST + +int run_tests(); + +#endif /* _BF_UNIT_TEST */ -- cgit v1.2.3