File Release Notes and Changelog

Release Name: 0.15

Release Notes

pgTAP 0.15
==========

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.15 includes the following improvements:

* Added `runtests()`, which introduces xUnit-style test running, for those who
  prefer to put their tests in a slew of test functions and then run one
  function to run all of the test functions (plus startup, setup, teardown,
  and shutdown tests).

* Added `pgtap_version()`.

See the Changes document for more details. Enjoy!

Change Log

0.15  2009-01-20T18:41:24
      - Changed `pg_typeof()` from immutable to stable, in compliance with its
        configuration in the forthcoming PostgreSQL 8.4.
      - Added `do_tap()`, which finds test functions and runs them, allowing
        tap tests to be embedded in functions and then executed all at once.
      - Added `runtests()`, which introduces xUnit-style test running, for
        those who prefer to put their tests in a slew of test functions and
        then run one function to run all of the test functions (plus startup,
        setup, teardown, and shutdown tests).
      - Added `findfuncs()`, which is used by `do_tap()` to find the functions
        to execute.
      - The `col_type_is()` function now requires that the type be visible in
        the search path when it is called without a schema argument.
      - The `plan()` function no longer resets the `client_min_messages`
        setting to its default value, but leaves it set to whatever it was set
        to before the function was called.
      - Fixed a typo in the documentation of the short version of the
        `--version` option to `pg_prove`, which is `-V`, not `-v`.
      - Added `pgtap_version()`.
      - Added the "html" make target to generate the HTML documentation for
        the Web site, including a table of contents and documenation for
        `pg_prove`.

0.14  2008-10-27T22:43:36
      - Added `SET search_path` statements to `uninstall_pgtap.sql.in` so that
        it will work properly when TAP is installed in its own schema. Thanks to
        Ben for the catch!
      - Added commands to drop `pg_version()` and `pg_version_num()`
        to`uninstall_pgtap.sql.in`.
      - Added `has_index()`, `index_is_unique()`, `index_is_primary()`,
        `is_clustered()`, and `index_is_type()`.
      - Added `os_name()`. This is somewhat experimental. If you have `uname`,
        it's probably correct, but assistance in improving OS detection in the
        `Makefile` would be greatly appreciated. Notably, it does not detect
        Windows.
      - Made `ok()` smarter when the test result is passed as `NULL`. It was
        dying, but now it simply fails and attaches a diagnostic message
        reporting that the test result was `NULL`. Reported by Jason Gordon.
      - Fixed an issue in `check_test()` where an extra character was removed
        from the beginning of the diagnostic output before testing it.
      - Fixed a bug comparing `name[]`s on PostgreSQL 8.2, previously hacked
        around.
      - Added `has_trigger()` and `trigger_is()`.
      - Switched to pure SQL implementations of the `pg_version()` and
        `pg_version_num()` functions, to simplify including pgTAP in module
        distributions.
      - Added a note to `README.pgtap` about the need to avoid `pg_typeof()`
        and `cmp_ok()` in tests run as part of a distribution.
Powered By FusionForge