Changes in release 3.1.7
New features
- Added support for comparing
jsonin Oracle 12.2 and above #924 - Introduced
tagannotation to enable tagging of tests and suites #66 - Added support for random order of test execution #422
Enhancements
- Added optional install with DDL trigger to speed up framework start #901
- Removed dependency on
dbms_utility.name_resolve#569 #885 - New output buffer table structures improving performance and addressing timeout issues #915
Bug fixes
- Fixed
ut_realtime_reportermissing warnings in test and suite output structures #936 - Fixed output_buffer purging error #934
- Fixed
join_by / exclude / includeinvalid syntax on collection in anydata compare #912 - Fixed
ut_junit_reporterproducing invalid output on failing tests with long failure message #927 - Fixed
ut_sonar_test_reporterproducing invalid output on failing tests with long failure message #925 - Fixed
ut_coverage_cobertura_reporterproducing wrong line breaks which breaks the xml validation against DTD #917 - Fixed
excludeoption for ref cursor where column order was not resolved correctly #911 - Fixed
unorderedoption for ref cursor with null values #914 - Fixed number precision when selecting from dual #907
- Fixed ref cursor errors with generated column names #902
- Fixed
ORA-00907when comparing ref cursors with BINARY_ columns #899 - Fixed wrong results when comparing CLOBs with
to_be_likein Oracle Database 11.2.0.4 due to Oracle Bug 14402514 #891 - Fixed performance issue with code coverage report on huge PL/SQL code base #882
Documentation improvements
- Added install instructions for DDL trigger #874
Internal enhancements
Assets
6
Bugfix release for v3.1.5
Bug fixes
- Fixed a bug in release
3.1.5whereto_equalmatcher was failing due to privileges when comparing non sql diffable types #870
Improvements
- Reduced number of information displaying about user defined type. We will now display only type name instead of full structure #866
Assets
6
Bugfix release for v3.1.4
Bug fixes
- Fixed a bug in release
3.1.4whereto_be_emptymatcher was failing due to privileges #864
Assets
6
Changes in release 3.1.4
This release contains a bug that is fixed by release 3.1.5
Please use release 3.1.5 rather than this release.
New features
- Added
to_containmatcher for collections and cursors #79 - Added
unordered_columns(uc) option for cursor comparison to ignore the order of the columns #779 - Added
ut_debug_reporterfor debug logging #480 - Added
ut_realtime_reporterfor utPLSQL-SQLDeveloper extension #795
Enhancements
- Improved performance of cursor comparison #780
- Added support for installation on databases with block size < 8KB #848
- Added initial timeout to
ut_output_buffer#840 - Enhanced performance of
get_reporters_listfunction #814 - Moved calls of
dbms_lock.sleeptodbms_sessionfor newer DB versions #806 - utPLSQL coverage will now work without re-install after DB-upgrade from 12.1 to 12.2 #803
Bug fixes
- Fixed problem with REGEXP in annotation parsing with NLS CANADIAN FRENCH #844
- Fixed issue with Rollback to savepoint failing on distributed transaction #839
- Fixed reporting of differences when comparing collections scalar values #835
- Fixed issue with test run failing due to too many transaction invalidators #834
- Fixed randomly occurring error during cursor comparison #827
- utPLSQL install script will now support special characters in passwords #804
Documentation improvements
- Fixed documentation examples for context annotation #851
- Added description on how to check version of utPLSQL #822
Internal enhancements
Assets
6
jgebal
released this
Changes in release 3.1.3
New features
- added function
ut_runner.is_test#788 - added function
ut_runner.is_suite#787 - added function
ut_runner.has_suites#786 - added ability to disable automatic rollback for a test-run #784
- when invoked with package name, utPLSQL will now run only tests from specified package even if package has child packages by suitepath #776
Enhancements
- Improved performance of schema-scanning and utPLSQL startup #778
- Improved performance of output-buffer #777
- Improved documentation to mention ability to pass client encoding for HTML & XML reports #775
- Improved documentation for cursor comparison to mention challenges with TIMESTAMP bind variables
Bug-fixes
- utPLSQL code coverage will now work properly with long object names #716
- utPLSQL installation will now also work properly, when user performing the install has
ANYgrants #737 - fixed documentation bug for
--%contextwith--%displayname#726 - fixed Teamcity reporter issues with missing escape for some characters and long messages #747
- fixed issue with sonar test results reporter when contexts are used #749
- fixed issue with ORA-07455 getting thrown on cursor comparison #752
- fixed issue with wrong failure message for unordered data #764
- fixed missing privilege issue for unordered/join-by cursor data comparison #765 #770
Internal enhancements
- added suite-level cache to allow for faster retrieval of suite contents and enable implementation of additional features #783
Assets
6
jgebal
released this
Changes in release 3.1.2
New features
- Added ability to join and compare cursor content by specific columns (PK/UK) #453
- Added support for comma separated list of suite paths/packages when calling
ut.run#479 - Added ability to run a test package that got invalidated due to dependency invalidation #489
- Added support for package level constants and predefined exceptions in
--%throwsannotation #685 - Added support for standalone
--%beforeall,--%beforeeach,--%afterall,--%aftereachannotations with list of procedures to execute #649 - Added support for list of procedure names in before/after annotations #649
- Added support for BLOB/CLOB in
is_empty()matcher #707
Enhancements
- utPLSQL will now provide additional warnings, when unsupported annotations are found in a unit test suite package #624
- utPLSQL will now produce valid XML in UT_JUNIT_REPORTER when dbms_output or test results contain
<![CDATA[text #643 - improved installation process for non-DBA users #658
- added
uninstall_all.sqlscript that completely removes utPLSQL objects #673 - Changed the way contexts are named #674
- Added ability to pass client encoding information for XML/HTML reporting (requires utPLSQL-cli 3.1.1) #676
- Exposed base objects for expectations, so that IDE like DataGrip can provide auto-complete #675
- Both context-name as well as procedure inside context can now be passed as parameter to
ut.run()#679 - Added validation of privileges before installation of utPLSQL #693
Bug-fixes
- UT_JUNIT_REPORTER does not report tests when procedure names are not all lower-case #659 #696
- Fixed utPLSQL installation order to avoid warnings/failures on install #657
- Fixed uninstall process for utPLSQL #673
- Fixed syntax errors in HTML coverage report #681 #682
- Fixed install requirements documentation #687
- Fixed capturing of DBMS_OUTPUT buffer at the start of test run #686
Internal enhancements
Assets
6
jgebal
released this
Changes in this release
Bug-fixes:
Assets
6
jgebal
released this
Important Notice
Starting with this release, utPLSQL-sql-cli is no longer supported.
Use utPLSQL-cli release 3.1.0 or above to interact with this and upcoming versions of utPLSQL.
Changes in this release
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_reporterfor 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_reporteras a base forut_xunit_reporter. Theut_xunit_reporterremains active for backward compatibility but is considered depreciated - Added reporting of differences when comparing cursors, oracle object and table types
- Aligned
ut_documentation_reporterto display tests annotated--%disabledasDISABLED - 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-apiwithout code changes
Annotations
- added
throwsannotation to simplify writing tests for code that throws an exception - added
contextto 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_countmatcher for checking cursor rows/collection elements count - Added
include()andexclude()extensions to cursor and object/collection data comparison - Added
difffunctionality for cursor, object and collection data - When comparing cursors, column data-type is now also checked for equality
- #548 - Changed behavior of execution of
ut.expect()on closed cursor. - 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/invalidatedexceptions (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:
- #511 Coverage schema had to be explicitly provided, even when using
a_include_objects - #514 / #516 utPLSQL fails to run, when one of suite packages has no newline between
--%suiteand procedure-specific annotations. - #539 Fixed false-negative code coverage reporting on labelled
end loopelements - #547 Fixed issue with invalid suite grouping when running
xunit_reporter - #562 Code coverage was always showing first report gathered in a session
- #572 Wrong format of time in XUnit_reporter when running on German locale (using comma as decimal separator)
- #601 Fixed issue with wrong exception getting thrown when suite failed and there was a pending distributed transaction
- #568 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
Assets
6
jgebal
released this
Bugfixes:
- #509(#506) Savepoint name is now generated from sys_guid to avoid issues on Windows-based Oracle instances
- #500(#499/#487) Fixed XML/HTML special characters in reporters and unified handling of failure reporting across reporters
Documentation:
- #503 Fixed link to contributing guide in the doc
- #502 Added example of handling exceptions to documentation
- #486(#485) Added example for custom expectation-fail message in docs
Enhancements:
- #497(#478) Removed overloaded procedures
ut_runner.run - #496(#441) utPLSQL will not not open new transaction when running tests
- #495(#482) Added buffering of dbms_output before the run
- #494 Removed
ut_expectationsub-types - #492 Restructured annotations and added caching to improve framework start-up time
Assets
6
Pazus
released this
Changes in this release
New features
#242 Added ability to exclude columns/attributes for cursor/object/collection comparison. Xpath can be used for column/attribute exclusion
#428 Added reporting to module, action, client_info fields of the v$session.
#408 Calling ut_runner.run procedures can now raise exception if any test failed
#430 Added ability to check version compatibility ut_runner.version_compatibility_check
Improvements and fixes
#469 Fixed bug with framework executing multiple packages with similar names when using suitepaths
#462 Cursor comparison now supports cursors on Global Temporary Table
#461 Increased allowed chars for annotation name to 250
#445 Cursor comparison now supports cursors with more than 1000 rows
#431 dba_ views are now used (if available), increasing performance of the framework
#430 Changed how version number reporting in functions ut_runner.version, ut_run.version
#364 Improved warning message when implicit commit occurs
#413 Fixed Sonar Unit Test reporting for test suites with suitepth
#435 Fixed problem with identifying annotations when windows newline is used in package sources
Documentation fixes
#467 Moved CONTRIBUTING.md to project root and updated content
#434 Fixed coverage format documentation
#439 Small documentation fixes
Internal improvements
#450 Added self-testing using released version of utPLSQL
#438 Sonar reporting disabled for PRs
#424 Moved to project-owned Docker images created by scripts from utPLSQL/docker-scripts project
#212 Added source_path and test_path parameters for coverage reporters
#420 Changed the way ut_file_mapper handles default parameters
#417 Improved performance and stability of access to internal framework tables
#425 Updated myStats library to v3
#402 ut_output_buffer is now abstracted from caller