Skip to content

Announcements

Changes in release 3.1.7

New Features

  • CLI is now runnable from Java 8-12 (and probably also upcoming versions)
  • CLI now uses Picocli instead of JCommander. This might have some impact on how parameters are interpreted, for example on windows machines when you define -f=ut_documentation_reporter -o="output.txt" you will have to enclose the "output.txt" part as shown
  • Support for Tags via --tags=tag1[,tag2[,tag3]]parameter (#157)
  • Support for random order of test execution via -r/--random-test-order and -seed/--random-test-order-seed (#139)
  • Ability to enable DBMS_OUTPUT from cli via -D/--dbms_output (#137)

Enhancements

  • Completely removed HikariCP (#158)
  • A warning is shown if orai18n.jar is not on the classpath. This is highly recommended due to some strange behaviour of the jdbc-driver otherwise (#146, #153)

Bugfixes

  • Type mapping (-type_mapping) parameter is now interpreted correctly (#143)

Internal enhancements

  • Improvement of tests
  • Refactoring towards immutability
  • Added some more debug information

Changes in release 3.1.7

Highlights

  • utPLSQL java-api now supports JDK 8-12
  • Support to call Tags
  • Support for random order of test execution

Changes in public API

  • CompatibilityProxy
  • It's possible to instantiate it with an optional assumedUtPlsql version. This replaces the former skipCompatibilityCheck parameter
  • Method getDatabaseVersion is now deprecated in favor of getUtPlsqlVersion and getRealDbPlsqlVersion
  • TestRunner
  • getOptions returns the current TestRunnerOptions now

Internal changes

  • Added several new tests
  • Several small refactorings
  • Additional logging
  • Preparations to completely rewrite the api

Download

https://packagecloud.io/utPLSQL/utPLSQL-java-api/packages/java/org.utplsql/java-api-3.1.7.jar

Maven

<dependency>
  <groupId>org.utplsql</groupId>
  <artifactId>java-api</artifactId>
  <version>3.1.7</version>
</dependency>

Gradle

compile 'org.utplsql:java-api:3.1.7'

utPLSQL v3.1.7 released

## New features

## 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_reporter missing warnings in test and suite output structures #936
  • Fixed output_buffer purging error #934
  • Fixed join_by / exclude / include invalid syntax on collection in anydata compare #912
  • Fixed ut_junit_reporter producing invalid output on failing tests with long failure message #927
  • Fixed ut_sonar_test_reporter producing invalid output on failing tests with long failure message #925
  • Fixed ut_coverage_cobertura_reporter producing wrong line breaks which breaks the xml validation against DTD #917
  • Fixed exclude option for ref cursor where column order was not resolved correctly #911
  • Fixed unordered option 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-00907 when comparing ref cursors with BINARY_ columns #899
  • Fixed wrong results when comparing CLOBs with to_be_like in 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

  • Fixed SQL vulnerability on all input parameters used in dynamic SQL and PL/SQL #921
  • Fixed message id in output buffer #916
  • Included 19c database in self testing #909
  • Introduced testing with multiple schemas and different grants #893
  • Fixed installation script warnings #879

Auto-run utPLSQL tests with Oracle sqlcl

Today at #apexConn19.

Sam Nitsche (blogger, presenter, testing & compassionate-coding advocate, utPLSQL-cli & utPLSQL-api developer) met with Kris Rice (Oracle SQLDeveloper, sqlcl, ORDS rock-star, developer, advocate, presenter, mentor)

As a result, something amazing happened. Within an hour or so, Kris created a fully functional auto-runner for utPLSQL tests within Oracle sqlcl.

utPSLQL-sqlcl

See for yourself

If you want to use sqlcl to run your tests, each time you compile a package, have a look at this script for sqlcl.

Huge thank you to Kris and Sam!

Amazing things can happen when right people meet at right time in right place.

Oracle 19c DB added to our CI/CD process

We take all the possible effort to assure utPLSQL can be tested against t all supported Oracle database versions.

Today, our automation got enriched with Oracle 19c database testing.

Pavel Kaplya has prepared a new small Docker Image for Oracle 19c.

Note:

You can take advantage of our efforts and build your own small Docker images (non-PDB) using our docker-scripts.

Continuous testing of utPLSQL

utPLSQL is now getting tested against five database versions: - Oracle 11g XE - Oracle 12c R1 - Oracle 12c R2 - Oracle 18c - Oracle 19c

You can see our build process & test results on travis-ci.org/utPLSQL

All of our deliverable projects use set of tools that are free to sue for Open-Source: - static code analysis using sonarcloud - publishing code coverage using coveralls - deploying java-api artifacts to packagecloud - deploying utPLSQL-cli artifacts to bintray - maven plugin publishing into maven repository

All of our builds must pass quality gates (code quality/tests/code coverage) before we approve and merge pull requests.

Changes in release 3.1.6

Compatibility

This version of utPLQL-cli is compatible with all versions of utPLSQL from 3.0.0 to 3.1.6. We encourage you to always use the latest version of cli to communicate with a v3 core.

New Features

  • CLI now logs some basic information to screen in addition to an eventually configured to-screen-reporter (#89, #76)
  • This output can be avoided with the new -q, --quiet parameter
  • Much more logging can be output with the new -d, --debug parameter
  • It's possible to connect as sysdba now via utplsql run "sys as sysdba"/pw@connectstring (#115)
  • The default timeout of 60 minutes is now configurable via the new -t, --timeout parameter (#124)

Enhancements

  • Timeout now returns error exit-code (#129)
  • In case of Oracle stuck-scenario during createStatement, a warning is written to the screen and the same call for running the tests is retried up to 5 times. (#20)
  • It's now possible to pass usernames containing / and passwords containing @ by encapsulating those in the connectstring with ": utplsql run "my/User"/"P@ssword"@server:1521/Service (#111)
  • API-version is now stored in a separate, non-compiled file

Bugfixes

  • Info command should now show the correct version information (#108)
  • Non-argument call will output help (#110)

Internal enhancements

  • Update of HikariCP
  • Improvement of passing user/pw/connect info to connection pool
  • Improvement of Error-Handling
  • Cleanup of tests

Bugfix release for v3.1.5

Bug fixes

  • Fixed a bug in release 3.1.5 where to_equal matcher 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

Changes in release 3.1.4

New features

  • Added to_contain matcher for collections and cursors #79
  • Added unordered_columns (uc) option for cursor comparison to ignore the order of the columns #779
  • Added ut_debug_reporter for debug logging #480
  • Added ut_realtime_reporter for 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_list function #814
  • Moved calls of dbms_lock.sleep to dbms_session for 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

  • Implemented Sonar analysis on DBA Views #850
  • Finished migration from old-tests #475
  • Fixed shell scripts to support multiple unix dialects (especially for macOS) #796
  • Added info on project support from Redgate #841
  • Added code_of_conduct #836
  • Added issue tempates #842
  • Added utPLSQL logo #845

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 ANY grants #737
  • fixed documentation bug for --%context with --%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