File Release Notes and Changelog

Release Name: 0.17

Release Notes

pgTAP 0.17
==========

pgTAP is a unit testing framework for PostgreSQL written in PL/pgSQL and
PL/SQL. It includes a comprehensive collection of TAP-emitting assertion
functions, as well as the ability to integrate with other TAP-emitting test
frameworks. It can also be used in the xUnit testing style.

pgTAP 0.16 includes the following improvements:

* Fixed `col_default_is()` so that it works properly in cases where the
  default value is `NULL`.
* Added `col_has_default()` and `col_hasnt_default()`.
* Modified all diagnostic messages and test descriptions that reference
  database objects to use `quote_ident()` to quote the names of those objects,
  rather than emitting them with or without double-quotes in an ad-hoc way as
  had hitherto been the case.
* Modified `col_not_null()`, `col_is_null()` and `col_type_is()` to emit
  diagnostics if they fail because the column in question does not exist.
* Added `has_tablespace()` and `hasnt_tablespace()`.
* Added `has_sequence()` and `hasnt_sequence()`.
* In the schema testing functions, now using `quote_ident()` to compare all
  identifiers, such as table names, schema names, column names, etc.

See the Changes document for more details. Enjoy!

Change Log

0.17  2009-02-06T17:51:52
      - Fixed `col_default_is()` so that it works properly in cases where the
        default value is `NULL`.
      - Fixed `col_default_is()` to gracefully handle different data types,
        columns without defaults, and nonexistent columns.
      - Fixed the three-argument form of `col_default_is()` to accept any data
        type for the default, not just text.
      *NOTE:* You must `DROP FUNCTION col_default_is ( NAME, NAME, TEXT );` if
        you have previous versions of this function installed, so as to
        eliminate the incompatible version.
      - Added `col_has_default()` and `col_hasnt_default()`.
      - Changed default descriptions for column testing functions to refer to
        the columns as the more SQL-standard `schema.table.column` instead of
        `schema.table(column)`.
      - Modified all diagnostic messages and test descriptions that reference
        database objects to use `quote_ident()` to quote the names of those
        objects, rather than emitting them with or without double-quotes in an
        ad-hoc way as had hitherto been the case.
      - Modified `col_not_null()`, `col_is_null()` and `col_type_is()` to emit
        diagnostics if they fail because the column in question does not
        exist.
      - Added `has_tablespace()` and `hasnt_tablespace()`.
      - Added `has_sequence()` and `hasnt_sequence()`.
      - Changed `has_index()` so that expressions are compared case-
        sensitively.
      - In the schema testing functions, now using `quote_ident()` to compare
        all identifiers, such as table names, schema names, column names, etc.
        It had been a mix of straight-forward string comparison, and
        case-insensitive matching. This means that tests should use only
        lowercase strings to specify object names, unless mixed case objects
        were crated with double quote characters.
      - Added version of `todo()` with the `why` and `how_many` arugments
        reversed, so that I don't have to remember a specific order.

0.16  2009-02-03T17:37:03
      - Switched from a crazy trinary logic in `is()` and `isnt()` to the use
        of `IS NOT DISTINCT FROM` and `IS DISTINCT FROM`. Swiped from PGUnit.
      - Fixed documentation for the short version of `--help` in `pg_prove`.
        It's `-H`, not `-h`.
      - Fixed a bug in the makefile that prevented OS detection from working
        properly on many platforms (including Linux, and probably many
        others). This allows `os_name()` to actually work on those platforms.
      - The definition of the `pg_typeof()` function is removed when
        installing on PostgreSQL 8.4 and no C code is compiled, since the only
        C code is for this function. This is because `pg_typeof()` is included
        with PostgreSQL 8.4.
      - Added `has_schema()` and `hasnt_schema()`.
      - Added `has_type()`, `hasnt_type()`, `has_domain()`, `hasnt_domain()`,
        `has_enum()`, and `hasnt_enum()`.
      - Added `enum_has_labels()`.
      - Updated the `Makefile` to fix the shebang line in `pg_prove` if
        Perl is found, and to emit a warning if the `$PERL` variable is not
        set. - Updated the `Makefile` so that if `$PERL` is set and
        Tap::Harness is not installed, it warns the user to install it in
        order to use `pg_prove`. - Updated the `Makefile` to set the location
        of the `psql` binary to the bin directory specified for PostgreSQL
        when it was built.
      - Fixed `pg_version_num()` to work on PostgreSQL 8.4devel.
      - Fixed test failures on PostgreSQL 8.4devel.
Powered By FusionForge