aboutsummaryrefslogtreecommitdiff
path: root/src/pj_run_selftests.c
AgeCommit message (Collapse)Author
2017-11-13Removed remaining traces of the built in selftest system (#661)Thomas Knudsen
* Removed remaining traces of the builtin selftest system. Moved all functionality to test/gie * Updated Appveyor and Travis build scripts * Another appveyor script update
2017-10-06Enable default destructor for all PJ objects.Thomas Knudsen
In most cases memory deallocation is completely removed from the code since it can be handled by the default destructor. In a few special cases a local destructor overrides the default destructor and makes sure that locally allocated memored is cleaned up correctly. Move all deallocation from pj_free to pj_default_destructor Rename pj_latlong.c to fit with the conventional format PJ_latlong.c - freeup was missed here due to wrong naming Clean up pj_init to avoid double deallocation; Also resolve #576 by adding z_0 and t_0 options in pj_init, while cleaning Add a prototype for dealloc_params Added missing errno.h include in pj_ctx.c Temporarily removing ob_tran from testvarious, to be sure that is where the trouble is Make PJ_ob_tran.c use proper initialization for the chained projection proj=ob_tran: make it clear, that we disallow ellipsoidal projections, and, for improved backwards compatibility, turns off default settings, which could inject unwanted ellipsoid definitions ... then also remove the ellipsoid definition from the testvarious test case - which is probably buggy anyway Work around cs2cs spherical init bug in testvarious; Forbid defs for ob_tran in pj_init
2017-02-25Fix GCC 7 warnings related to misleading indentations, fallthrough cases and ↵Even Rouault
unused variable
2016-12-12Fix 'run_one_test defined but not used' warning when PJ_SELFTEST is not enabledEven Rouault
2016-08-22Changed self-test build behaviour from opt-out to opt-inKristian Evers
2016-04-07pj_list cleanup + added selftest stubs for all projectionsThomas Knudsen
The projection list maintained by code in pj_list.c depended on stuff in projects.h. This stuff is non-obvious and since it is only used in pj_list.c, it has been moved from projects.h to pj_list.c (The material moved is based on some really clever X-macro techniques implemented by numerous redefinitions of the PROJ_HEAD macro, followed by immediate re-inclusion of te pj_list.h file). Also, the self test runner pj_run_selftests has been remodelled, now depending on a list of self test functions, generated in a similar way to the projection list, and like the projection list generated by X-macro techniques in pj_list.c. For this to work, self test functions need to be available for all projections. To fulfill this, stubs for all projections not having self tests already, have been added to PJ_aea.c Along with the recent build system patches by @kbevers, this first part of the macro-refactoring project is considered close to finished.
2016-04-07selftest function stubsThomas Knudsen
Added stubs for selftest functions for all projections supported. For now, the stub collection has been addad at the bottom of PJ_aea.c Each time a real selftest function is added to a projection source file, the stub should be removed. Stubbing the stuff makes sure a selftest function exists for all projections, and hence allows us to build a list of all selftest functions using the X-macro trick (with PROJ_HEAD as X-macro) used for building pj_list[] in pj_init.c. Actually, the plan is to add a selftest entry directly in the struct PJ_LIST, and let pj_init build the list directly as a part of pj_list[]
2016-04-05Added regression tests for projections beginning with a and bThomas Knudsen
Continuing alphabetically, with a few detours due to the occasional case of more than one projection in one source file.
2016-04-05Some initial work on internal regression testsThomas Knudsen
Need these to reduce the chance I'm screwing up something during this rather intrusive code surgery