Developer:Testing

From Open Babel

Jump to: navigation, search

Testing (and documenting) Open Babel is an important, and never-ending task. The following documentation is intended to give some idea as to the types of tests used by Open Babel and various tools available for debugging and testing.

Contents

Types of Tests

UNIX/Linux/Mac OS X

A variety of tools can be used to help diagnose problems and debug errors:

Debuggers

Memory Checkers

Unlike languages like Java, which handle memory allocation and deletion, C++ requires that all code handle memory. In particular, this means if you use new or malloc or similar calls, you must be sure the memory will be properly freed when no longer needed. So-called "memory leaks" are cases where memory has been allocated, but never properly freed and are significant bugs in Open Babel.

Several tools can help find such errors:

Code Profiling

To improve the speed of execution, it is often helpful to rely on tools which can

C++ Unscrambler

The symbols used by C++ compilers and exposed by debugging, profiling, and memory tools are "scrambled." The c++filt program can be used to decode the symbol to a human-readable form:

c++filt

Windows

Using the Visual C++ project files for Open Babel, the Microsoft tools offer debugging and profiling options.

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox