Announcing utPLSQL 3.1.0 and 3.1.1¶
On April 25th, a major release 3.1.0 of utPLSQL was published on github and the information was not published on our site.
Right after the release two issues were found resulting in bug fixes and release 3.1.1
Version 3.1.1 bug-fixes¶
- Block coverage reporting doesn't work on schema other than framework owner (https://github.com/utPLSQL/utPLSQL/issues/653)
- Reporter threads timeout and do not produce outputs when running with
utplsql-cli
and idle time exceeds 1 minute (https://github.com/utPLSQL/utPLSQL/issues/652)
Version 3.1.0 release notes¶
Important Notice
Starting with this release,
utPLSQL-sql-cli
is no longer supported. UseutPLSQL-cli
release 3.1.0 or above to interact with this and upcoming versions of utPLSQL.
Enhancements¶
Reporting¶
- Added support for extended block coverage on Oracle 12.2 and above. Coverage reporters will now indicate partly covered lines (where applicable by coverage format).
- Added new
ut_tfs_junit_reporter
for MS Team Foundation Server to support old JUnit xml format - Added new coverage reporter
ut_coverage_cobertura_reporter
- Fixed compatibility issues with
ut_xunit_reporter
. The reporter now conforms to the format specification. - Added
ut_junit_reporter
as a base forut_xunit_reporter
. Theut_xunit_reporter
remains active for backward compatibility but is considered depreciated - Added reporting of differences when comparing cursors, oracle object and table types
- Aligned
ut_documentation_reporter
to display tests annotated--%disabled
asDISABLED
- Added support for reporters that don't provide output to the API (reporters saving data to DB)
- Improved API so that it's possible to support custom reporters from
utPLSQL-java-api
without code changes
Annotations¶
- added
throws
annotation to simplify writing tests for code that throws an exception - added
context
to enable grouping of tests into sub-suite in a test suite package - added warnings on invalid/misplaced annotations
- added support for multiple declarations of before/after procedures
- added propagation of rollback type defined on parent suite within suitepath
Expectations¶
- Added
have_count
matcher for checking cursor rows/collection elements count - Added
include()
andexclude()
extensions to cursor and object/collection data comparison - Added
diff
functionality for cursor, object and collection data - When comparing cursors, column data-type is now also checked for equality
- Changed behavior of execution of
ut.expect()
on closed cursor (#548) - Added support for cursors with implicitly named columns
General improvements¶
- Output buffer for reporting is now reporter-agnostic.
- cli is no longer not interacting with output buffer but uses reporters to retrieve data instead.
- Added ability to mark expectation syntax as deprecated and report warnings on deprecation
- Added ability to get a list of annotations for a schema
- Refactoring of annotation parsing
- Refactoring of suite building
- Migrated part of old script-based tests to new utPLSQL v3 tests
- Documentation fixes and improvements
- Reporters now provide a method to get description
- Test execution continues even when encountered
Existing state of packages was discarded/invalidated
exceptions (ORA-04068
/ORA-04061
). The whole suite will execute, test result reports will be available and the exception will be re-thrown to the user after the run was finished. (#504)
Bug-fixes¶
- Coverage schema had to be explicitly provided, even when using
a_include_objects
(#511) - utPLSQL fails to run, when one of suite packages has no newline between
--%suite
and procedure-specific annotations. (#514 / #516) - Fixed false-negative code coverage reporting on labelled
end loop
elements (#539) - Fixed issue with invalid suite grouping when running
xunit_reporter
(#547) - Code coverage was always showing first report gathered in a session (#562)
- Wrong format of time in XUnit_reporter when running on German locale (using comma as decimal separator) (#572)
- Fixed issue with wrong exception getting thrown when suite failed and there was a pending distributed transaction (#601)
- Fixed file-mapper issue where two files were mapped into the same object and caused
ORA-00001: unique constraint (UTP3.UT_COVERAGE_SOURCES_TMP_PK) violated
(#568)