API Sanity Autotest Downloads

Thanks to all for reporting issues so the tool can continue to be improved!

Contents

Version 1.12.2 (April 13, 2011)

api-sanity-autotest-1.12.2.tar.gz
This is a next bug fix release.

  • Bug fixes:
    • Corrected automatic preamble and finalization
    • Corrected links in the problem summary
    • Corrected automatic include paths for headers
    • 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.