Skip to content

Announcements

Changes in release 3.1.10

Enhancements

  • utPLSQL test runner is now validating arguments of --%throws annotations at runtime #721 #1033
  • Documented limitations of insignificant spaces comparison in compound data #880
  • utPLSQL will now detect empty annotation cache for schema even with DLL trigger enabled #975
  • Order of procedures and annotation now determines default order of tests in suite #1036

Bug fixes

  • Nested contexts are now properly identified #1034
  • TeamCity test reporter is now including error message #1045

Internal improvements

  • All self-tests for utPLSQL framework can now be executed using test-owner schema #969
  • Misleading rollback warning is no longer showing when running self-tests for utPLSQL #982

Downloads

Download v3.1.10 release version here

Changes in release 3.1.9

New features

Important changes

The value of --%context annotation is no longer representing context name. This value is now context description (displayname). With this change, the --%context annotation is now aligned with --%test and --%suite annotation syntax.

New annotation --%name was introduced to facilitate naming of contexts.

Enhancements

  • Improved documentation for running tests
  • Improved documentation for tags #1003
  • Improved documentation for annotations

Bug fixes

  • Fixed bug with bad stacktrace showing in failing/erroring test #1000
  • Fixed issue with lack of validation for context name #966
  • Fixed problem with install script privilege check for installation with DDL trigger #992
  • Fixed issue with some common column names causing cursor comparison to fail #997
  • Fixed issue with invocation of standalone expectations on cursor #998

Internal improvements

  • Fixed runability of utplsql self-tests #968

New Resources section

We just added a new section to our website: Resources.

We will keep adding all kinds of examples, tutorials, videos, blog posts and other stuff related to utPLSQL to this page, but we might not know everything.

So please, if you find something related to utPLSQL which is publicly (without a paywall) available or if you created something yourself, please let us know!

Changes in release 3.1.8

Download from GitHub

New features

Enhancements

  • Improved framework table private data protection #922 #954
  • Improved install process. It is now unified for installation with both public and private synonyms #957 #954
  • Improved reporting of warnings for integration with SQLDeveloper #964
  • Improved query to retrieve coverage sources #981 #970
  • Improved security around malicious utPLSQL owner name #920

Bug fixes

  • Fixed cursor comparison on Oracle 11.2 #947
  • Fixed issue with retrieving suite data #977 #974 #978
  • Application context is now reset in session after test run #951

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