API Sanity Autotest - Change Log
Thanks to all for reporting issues so the tool can continue to be improved!
Version 1.12.4 (April 29, 2011)
api-sanity-autotest-1.12.4.tar.gz
This is a next bug fix release.
- Bug fixes:
- Corrected automatic include paths for headers
- Corrected template type names
- Corrected automatic preamble and finalization
- Corrected links in the problem summary
- Corrected help message and documentation
- New features
- Support for the latest GCC 4.6.0
Version 1.12 (March 03, 2011)
api-sanity-autotest-1.12.tar.gz
This is a next major release including a lot of new features and bug fixes.
- New features:
- Ported to Mac OS X (10.5) and MS Windows (Xp, Vista, 7).
- Improved performance.
- Using File::Temp for storing temporary files.
- Implemented universal library descriptor: you can specify a directory with headers and shared objects or comma separated list of headers and shared objects instead of a standard XML-descriptor.
- Extended Help message.
- Added -info option to show full information about the tool.
- Added -strict-* options family.
- Added -debug option for debugging.
- Added <param_name> associating section to specialized types.
- Added -vnum option to specify library version number outside the descriptor.
- Added <defines> section to the XML-descriptor to add defines at the headers parsing stage.
- Added documentation: Options.html, Descriptor.html
- Bug fixes:
- Corrected automatic detection of include paths for headers (-I options to GCC).
- Option -without-shared-objects has been renamed to -headers-only.
- Corrected parsing of header files, identifying of some previously missed classes.
- Documentation has been moved to "doc/" subdirectory.
Version 1.11.1 (March 03, 2011)
api-sanity-autotest-1.11.1.tar.gz
This is generally a bug fix release.
- New features:
- Added documentation: README.html, CHANGES.html, SPECTYPE.html
- Bug fixes:
- Corrected processing of typedef type names, fixed potential program hangup.
- Corrected processing of special symbols in file paths specified by XML-descriptor ("+" and others).
Version 1.11 (July 22, 2010)
api-sanity-autotest-1.11.tar.gz
This is a next release with several new features.
- New features:
- Added <skip_libs> section to the library descriptor: this section contains a list of shared objects and/or directories with shared objects that should not be processed.
- Added -library-full-name option to display full library name in title of the report.
- Improved performance on big libraries.
- Improved unit tests code.
Version 1.10 (June 25, 2010)
Api-sanity-autotest-1.10.tar.gz
This is generally a bug fix release.
- New features:
- Added -relpath option: replace {RELPATH} in the library descriptor to some relative path.
- Added <add_include_paths> section to the library descriptor: this section contains a list of include paths that should be added to the automatically detected include paths.
- Improved initializing sequences in the test scenarios.
- Bug fixes:
- Corrected techniques for auto-detection of header file dependencies (include paths).
- Corrected checking of complex namespaces changes (C++).
- Corrected reuse of previously created variables in tests.
Version 1.9 (June 08, 2010)
Api-sanity-autotest-1.9.tar.gz
This is generally a bug fix release.
- New features:
- Added -params option for improving tests by adding parameter names separately from header files.
- Added -header option for restricting a list of functions that should be tested by providing a header file name in which they are declared.
- Added <skip_warnings> section to the library descriptor for skipping some test messages.
- Separated stderr and stdout streams of the tool.
- Improved tests generating rate.
- Treating SEGV|FPE|BUS|ILL|PIPE|SYS|XCPU|XFSZ signals as errors in the report, other as warnings.
- Improved test data generation.
- Bug fixes:
- Corrected complex array type names.
- Corrected techniques for auto-detection of undefined symbols in the shared objects.
- Corrected techniques for auto-detection of out parameters.
- Corrected list of included headers.
- Fixed tool hanging on some C++ headers (with many namespaces).
- Corrected order of preamble/finalization in the code.
- Corrected initialization of agc/argv parameters.
- Corrected initialization of big arrays.
- Removed recursive calls from the tests code.
- Corrected initialization of structure members.
- Corrected initialization of struct/union types.
- Corrected global_code/init_code/final_code/value parsing techniques.
- Corrected tests cleaning.
Version 1.8 (May 05, 2010)
Api-sanity-autotest-1.8.tar.gz
This release includes many bug fixes and new features after integration to the Upstream Tracker system.
- New features:
- Ignoring hidden .svn, .git, .bzr, .hg, and CVS directories.
- Added -dumpversion option for printing tool version and don't do anything else.
- Added <out_params> section to the library descriptor.
- Added <lib_version> section to the specialized type (<spec_type>) and to the collection of specialized types (<collection>). It allows to specify library version(s) the specialized type or collection will be applied to.
- Improved techniques for auto-detection of out parameters.
- Improved header files sorting for protecting from compilation errors on the intermediate phase of temporary header file compilation.
- Improved techniques for auto-detection of header file dependencies (include paths).
- Extended set of tested interfaces.
- Improved techniques for auto-detection of undefined symbols in the specified shared objects.
- Calling of library malloc function instead of standard malloc().
- Improved techniques for initializing intrinsic types.
- Added sentinel to function call (if needed).
- Treating receiving of ABRT signals and exit codes as warnings.
- Added prefixes to header file includes in the test cases.
- Bug fixes:
- Test cases for some previously missed C++ namespaces.
- Removed hidden "void const** __vtt_parm" parameters from the signature of some constructors.
- Corrected redefinition of pure virtual destructors.
- Corrected processing of several environment specialized types.
- Corrected selection of functions to call for initializing parameters of other functions.
- Corrected code parsing techniques (for <value> section of the specialized type).
- Preventing hanged execution of the tool on big arrays (>1024 elements).
- Corrected processing of <final_code> of specialized type for return value.
- Corrected list of header file includes in the test cases.
- Corrected processing of command line options.
Version 1.7 (March 26, 2010)
Api-sanity-autotest-1.7.tar.gz
This release includes new features, bug fixes and changed license.
- New features:
- The license was changed to dual GNU GPL and LGPL.
- Added <pre_condition> and <post_condition> properties in the specialized types. Obsolete <constraint> property will be supported, but should be replaced by <post_condition> in the new code.
- Added -splint-specs option for using splint annotations in the headers (@returned@, @out@, @notnull@, @requires@ and @ensures@).
- Using of throw() in the tests for C++ methods with the exceptions handling.
- Changed meaning of the <skip_interfaces> section in the descriptor. Now it defines interfaces that should not be called in the tests.
- Added <skip_headers> section in the descriptor.
- Bug fixes:
- Corrected processing of <libs_depend> section in the descriptor.
- Directory with temporary files renamed from "temp" to hidden ".tmp_dir".
- Corrected processing of shared object dependencies.
- Corrected processing of relative paths in the <headers>, <include_paths>, <libs> and <libs_depend> sections.
- Added tests for some previously missed functions and conversion operators in C++.
- Improved internal test suite.
- Corrected usage of the out-parameters.
- Corrected code alignment.
- Corrected LIBS variable in the makefiles.
- Corrected enumeration members selecting.
- Corrected some error messages.
Version 1.6 (March 03, 2010)
Api-sanity-autotest-1.6.tar.gz
- New features:
- Ported to FreeBSD and Haiku.
- Added namespaces usage in the tests.
- More accurate distinguishing pointer arguments *x and arrays x[].
- Added log for describing tool actions and occurred errors.
- Improved techniques for auto-detection of header file dependencies (include paths).
- Added <libs> attribute to the specialized type for describing external libraries used by this type.
- Added check for gcc/g++ version (>=3.0.0).
- Added -view-only option.
- Added arguments to the tests.
- More accurate detection of default gcc include paths.
- Improved internal test suite.
- Added error code on return.
- Bug fixes:
- Corrected signal handling.
- Corrected header include lists.
- Corrected makefiles.
- Corrected usage of the out-parameters.
- Corrected styles in the report design.
- Corrected error messages.
- Corrected code highlighting.
Version 1.5 (February 15, 2010)
Api-sanity-autotest-1.5.tar.gz
This is generally a bug fix release.
- New features:
- Added <libs_depend> section of the descriptor for shared objects that should be provided to gcc for resolving undefined symbols (if NEEDED elf section in the library shared objects doesn't include it).
- Added techniques for auto-detection of undefined symbols in the specified shared objects.
- Bug fixes:
- Corrected processing of header files in the /usr/include directory.
- Corrected header include lists.
- Corrected makefiles.
- Corrected template for the collection of specialized types.
- Corrected processing of tab characters in the descriptor.
- Corrected usage of the out-parameters and return values.
- Corrected alignment and highlighting of specialized type code.
- Corrected parameters provided to X virtual frame buffer (xvfb).
Version 1.4 (February 04, 2010)
Api-sanity-autotest-1.4.tar.gz
This is generally a bug fix release.
- New features:
- Automated detecting of header file dependencies. Now providing of <include_paths> section in the descriptor is not necessary.
- Added template for the collection of specialized types (-specialized-type-template option).
- Optimized execution time.
- Bug fixes:
- Corrected makefiles.
- Corrected descriptor template.
- More appropriate usage of the out-parameters.
- Corrected header include lists.
- Corrected classes hierarchy in C.
Version 1.3 (January 29, 2010)
Api-sanity-autotest-1.3.tar.gz
- New features:
- Added -t2c option for generating tests in the Template2Code format.
- Improved overall tests structure. Removed unnecessary code. More appropriate usage of the out-parameters. Improved makefiles code.
- Added -without-shared-objects option for running the tool without providing of shared objects. It is necessary if the library contains in-line functions only and haven't shared objects.
- Added <libgroup> section in the descriptor for dividing the library into groups.
- Added -isolated option to restrict functions usage in the tests by the lists specified by the -functions-list option or by the group devision in the descriptor.
- Tool has been ported to the cygwin.
- Using of constants (defines) for initializing parameters.
- Added printing of incorrect return/parameter values to the report (intrinsic types only).
- Added -clean option for cleaning the tests.
- Bug fixes:
- Corrected help message.
- Corrected highlighting of the code defines in the reports.
- Corrected type conversion algorithms.
- Corrected variables reusing for initializing parameters.
- Corrected variables naming in the code of specialized types.
- Corrected reusing of specialized type attributes for the out-parameters.
- Corrected statements (REQ, REQva) for checking requirements in the generated code.
- Corrected selection of functions to call for initializing parameters.
- Corrected headers include list at the beginning of tests.
Version 1.2 (December 22, 2009)
Api-sanity-autotest-1.2.tar.gz
- New features:
- New sections "Warnings" and "Unexpected Output" in the report.
- Random test generation mode improved (random selecting of enumeration members and values for intrinsic types).
- More accurate selecting of functions to call for initializing parameters of other functions.
- Added names to unnamed parameters by analyzing type names.
- Initialization of subclasses in C (if there are no other ways to initialize structure type).
- More accurate initializing of array types.
- More accurate selecting of enumeration members.
- More accurate type conversion algorithms.
- Test data improved (added *.xml and *.dtd files).
- Values set for intrinsic types extended.
- Bug fixes:
- Corrected highlighting of variables in the report.
- Corrected parsing of <interfaces> section (in <associating> section) in the collection of specialized types.
Version 1.1 (December 04, 2009)
Api-sanity-autotest-1.1.tar.gz
- New features:
- Inserting elements in the lists (C++ only).
- More accurate selecting of functions to call for initializing parameters.
- More information about detected errors in the report.
- New help message.
- Additional warnings.
- Bug fixes:
- Corrected initialization of typedefs to intrinsic types.
- Corrected headers include list at the beginning of tests.
- Corrected sorting of detected problems in the report.
Version 1.0 (November 30, 2009)
Api-sanity-autotest-1.0.tar.gz
Initial prototype.