From b2282c3fb8ea0a894bcab835736510b8d2542ce4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Wed, 3 Jun 2026 13:32:09 +0300 Subject: [PATCH 001/171] Removing code of conduct as it is now at the org level --- CODE_OF_CONDUCT.md | 76 ---------------------------------------------- 1 file changed, 76 deletions(-) delete mode 100644 CODE_OF_CONDUCT.md diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md deleted file mode 100644 index b90e5e80e..000000000 --- a/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,76 +0,0 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -In the interest of fostering an open and welcoming environment, we as -contributors and maintainers pledge to making participation in our project and -our community a harassment-free experience for everyone, regardless of age, body -size, disability, ethnicity, sex characteristics, gender identity and expression, -level of experience, education, socio-economic status, nationality, personal -appearance, race, religion, or sexual identity and orientation. - -## Our Standards - -Examples of behavior that contributes to creating a positive environment -include: - -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members - -Examples of unacceptable behavior by participants include: - -* The use of sexualized language or imagery and unwelcome sexual attention or - advances -* Trolling, insulting/derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic - address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Our Responsibilities - -Project maintainers are responsible for clarifying the standards of acceptable -behavior and are expected to take appropriate and fair corrective action in -response to any instances of unacceptable behavior. - -Project maintainers have the right and responsibility to remove, edit, or -reject comments, commits, code, wiki edits, issues, and other contributions -that are not aligned to this Code of Conduct, or to ban temporarily or -permanently any contributor for other behaviors that they deem inappropriate, -threatening, offensive, or harmful. - -## Scope - -This Code of Conduct applies both within project spaces and in public spaces -when an individual is representing the project or its community. Examples of -representing a project or community include using an official project e-mail -address, posting via an official social media account, or acting as an appointed -representative at an online or offline event. Representation of a project may be -further defined and clarified by project maintainers. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported by contacting the project team at utplsql@utplsql.org. All -complaints will be reviewed and investigated and will result in a response that -is deemed necessary and appropriate to the circumstances. The project team is -obligated to maintain confidentiality with regard to the reporter of an incident. -Further details of specific enforcement policies may be posted separately. - -Project maintainers who do not follow or enforce the Code of Conduct in good -faith may face temporary or permanent repercussions as determined by other -members of the project's leadership. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, -available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html - -[homepage]: https://www.contributor-covenant.org - -For answers to common questions about this code of conduct, see -https://www.contributor-covenant.org/faq From 404af3704ef15a10287470351a844d373f7093e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Wed, 3 Jun 2026 15:37:51 +0300 Subject: [PATCH 002/171] Update fof discussions templates --- .github/DISCUSSION_TEMPLATE/README.md | 150 ------------------ .github/DISCUSSION_TEMPLATE/announcements.yml | 54 ------- .github/DISCUSSION_TEMPLATE/architecture.yml | 100 ------------ .github/DISCUSSION_TEMPLATE/bug-triage.yml | 69 ++++++++ .github/DISCUSSION_TEMPLATE/contributing.yml | 43 +++++ .github/DISCUSSION_TEMPLATE/contributors.yml | 56 ------- .../DISCUSSION_TEMPLATE/feature-requests.yml | 62 ++++++++ .github/DISCUSSION_TEMPLATE/general.yml | 28 ---- .github/DISCUSSION_TEMPLATE/q-a.yml | 46 ++---- .../DISCUSSION_TEMPLATE/release-planning.yml | 90 ----------- .github/DISCUSSION_TEMPLATE/rfcs-design.yml | 88 ---------- .github/DISCUSSION_TEMPLATE/show-and-tell.yml | 79 --------- 12 files changed, 184 insertions(+), 681 deletions(-) delete mode 100644 .github/DISCUSSION_TEMPLATE/README.md delete mode 100644 .github/DISCUSSION_TEMPLATE/announcements.yml delete mode 100644 .github/DISCUSSION_TEMPLATE/architecture.yml create mode 100644 .github/DISCUSSION_TEMPLATE/bug-triage.yml create mode 100644 .github/DISCUSSION_TEMPLATE/contributing.yml delete mode 100644 .github/DISCUSSION_TEMPLATE/contributors.yml create mode 100644 .github/DISCUSSION_TEMPLATE/feature-requests.yml delete mode 100644 .github/DISCUSSION_TEMPLATE/general.yml delete mode 100644 .github/DISCUSSION_TEMPLATE/release-planning.yml delete mode 100644 .github/DISCUSSION_TEMPLATE/rfcs-design.yml delete mode 100644 .github/DISCUSSION_TEMPLATE/show-and-tell.yml diff --git a/.github/DISCUSSION_TEMPLATE/README.md b/.github/DISCUSSION_TEMPLATE/README.md deleted file mode 100644 index f6c0905f4..000000000 --- a/.github/DISCUSSION_TEMPLATE/README.md +++ /dev/null @@ -1,150 +0,0 @@ -# GitHub Discussions β€” setup guide for utPLSQL/utPLSQL - -This folder contains the discussion category form templates that power structured -GitHub Discussions for the utPLSQL project. - ---- - -## File β†’ category mapping - - - -| File | Category name to create in GitHub | Format | Who can post | -|------------------------|-----------------------------------|-----------------------|--------------------------------| -| `announcements.yml` | πŸ“’ Announcements | Announcement | Maintainers only | -| `rfcs-design.yml` | πŸ’‘ RFCs & Design | Open-ended discussion | Everyone | -| `architecture.yml` | πŸ— Architecture | Open-ended discussion | Everyone | -| `release-planning.yml` | πŸ—“ Release Planning | Open-ended discussion | Maintainers only (recommended) | -| `q-a.yml` | ❓ Q&A | Question / Answer | Everyone | -| `show-and-tell.yml` | πŸ”¬ Show & Tell | Open-ended discussion | Everyone | -| `contributors.yml` | 🀝 Contributors | Open-ended discussion | Everyone | -| `general.yml` | πŸ’¬ General | Open-ended discussion | Everyone | - -> **Polls** are a built-in GitHub Discussions type and do not support YAML templates. -> Create a πŸ—³ Polls category manually (type: Poll) β€” no template file needed. - ---- - -## Step-by-step setup - -### 1. Enable Discussions -Go to **Settings β†’ Features** and check **Discussions**. - -### 2. Create the categories -Go to **Discussions β†’ Categories β†’ ✏️ Edit categories** (gear icon). - -Create each category listed in the table above. -**Order matters** β€” drag to set the display order shown below: - -1. πŸ“’ Announcements -2. πŸ’‘ RFCs & Design -3. πŸ— Architecture -4. πŸ—“ Release Planning -5. ❓ Q&A -6. πŸ”¬ Show & Tell -7. 🀝 Contributors -8. πŸ—³ Polls -9. πŸ’¬ General - -### 3. Commit the templates -Copy all `.yml` files from this folder into `.github/DISCUSSION_TEMPLATE/` in -the **default branch** (usually `develop` for utPLSQL). - -``` -.github/ -└── DISCUSSION_TEMPLATE/ - β”œβ”€β”€ announcements.yml - β”œβ”€β”€ rfcs-design.yml - β”œβ”€β”€ architecture.yml - β”œβ”€β”€ release-planning.yml - β”œβ”€β”€ q-a.yml - β”œβ”€β”€ show-and-tell.yml - β”œβ”€β”€ contributors.yml - └── general.yml -``` - -### 4. Configure category permissions - -| Category | Setting | -|------------------|--------------------------------------------------| -| Announcements | Set to **Maintainers only** in category settings | -| Release Planning | Recommended: **Maintainers only** | -| All others | Open to all | - -### 5. Create the welcome pinned post - -Create a first discussion in **Announcements** titled -**"Welcome to utPLSQL Discussions β€” how to use this space"** - -Suggested body: - -```markdown -## Welcome πŸ‘‹ - -This is the place for design discussions, feature proposals, and community -conversation around utPLSQL. - -### Where to post - -| I want to… | Use | -|---|---| -| Propose a new feature or behaviour change | πŸ’‘ RFCs & Design | -| Discuss internal architecture | πŸ— Architecture | -| Ask a usage / how-to question | ❓ Q&A | -| Share a CI pipeline, integration, or tip | πŸ”¬ Show & Tell | -| Ask about contributing / development setup | 🀝 Contributors | -| Vote on priorities | πŸ—³ Polls | -| Anything else | πŸ’¬ General | - -### Discussions vs Issues - -**Discussions** are for ideas that are still open, need input, or require consensus. -**Issues** are for well-scoped work that someone can pick up and implement. - -A maintainer will convert a Discussion to an Issue once scope is agreed. - -### Real-time chat - -For quick questions: [utPLSQL Slack](https://utplsql.slack.com) -For decisions that need a permanent record: post here. -``` - -Pin this post from the discussion's `…` menu β†’ **Pin discussion**. - -### 6. Update the README - -Add a Discussions badge to the project README: - -```markdown -[![GitHub Discussions](https://img.shields.io/github/discussions/utPLSQL/utPLSQL)](https://github.com/utPLSQL/utPLSQL/discussions) -``` - -And add a short paragraph in the "Community" or "Contributing" section pointing -to Discussions as the place for design proposals. - ---- - -## Operating guidelines - -### Discussion β†’ Issue conversion rule - -| Category | Convert when… | -|---------------|----------------------------------------------------------------------| -| RFCs & Design | Consensus reached, scope is defined | -| Architecture | Breaking change formally agreed by maintainers | -| Q&A | A confirmed bug surfaces in the thread | -| Contributors | A gap in docs or tooling is identified that can be filed as an issue | - -Use the **"Create issue from discussion"** button (available in the discussion's sidebar). - -### Housekeeping - -- Lock **Announcements** threads after 30 days. -- Close **Polls** after 14 days; post a summary comment with the result before closing. -- Label cross-references: apply the same labels used on issues - (`enhancement`, `breaking-change`, `coverage`, `oracle-version`, etc.) - to discussions for consistent search. diff --git a/.github/DISCUSSION_TEMPLATE/announcements.yml b/.github/DISCUSSION_TEMPLATE/announcements.yml deleted file mode 100644 index 262746e11..000000000 --- a/.github/DISCUSSION_TEMPLATE/announcements.yml +++ /dev/null @@ -1,54 +0,0 @@ -title: "[Announcement] " -labels: ["announcement"] -body: - - type: markdown - attributes: - value: | - > **Maintainers only.** This category is restricted to project maintainers. - > Announcements are pinned and locked after 30 days. - - - type: dropdown - id: announcement_type - attributes: - label: Announcement type - options: - - New release - - Release candidate / pre-release - - Roadmap update - - Deprecation notice - - Security advisory - - Community / governance update - - Other - validations: - required: true - - - type: input - id: version - attributes: - label: Version (if applicable) - placeholder: "e.g. 3.2.0" - validations: - required: false - - - type: textarea - id: body - attributes: - label: Announcement body - description: | - Write the full announcement here. - For releases, include: highlights, breaking changes, upgrade notes, and a link to the full changelog. - validations: - required: true - - - type: textarea - id: links - attributes: - label: Key links - description: Release tag, changelog, migration guide, Docker image, CLI download, etc. - placeholder: | - - Release: https://github.com/utPLSQL/utPLSQL/releases/tag/v… - - Changelog: … - - Docker: … - - CLI: … - validations: - required: false diff --git a/.github/DISCUSSION_TEMPLATE/architecture.yml b/.github/DISCUSSION_TEMPLATE/architecture.yml deleted file mode 100644 index f3df8e29c..000000000 --- a/.github/DISCUSSION_TEMPLATE/architecture.yml +++ /dev/null @@ -1,100 +0,0 @@ -title: "[Architecture] " -labels: ["architecture", "design"] -body: - - type: markdown - attributes: - value: | - ## Architecture discussion - Use this template for internal design decisions: changes to the suite-loading mechanism, - the coverage engine, DDL trigger behaviour, reporter infrastructure, or any - cross-cutting concern that affects the internals of utPLSQL. - - This category is primarily for **contributors and maintainers**. - If you want to propose a user-facing feature, use **RFCs & Design** instead. - - - type: input - id: title_short - attributes: - label: Component / area - description: Which internal component or subsystem does this discussion concern? - placeholder: "e.g. Suite loader, Coverage engine, Annotation parser, Event system" - validations: - required: true - - - type: textarea - id: context - attributes: - label: Context and current design - description: Briefly describe how the relevant part works today. - validations: - required: true - - - type: textarea - id: problem - attributes: - label: Problem or design question - description: What specific decision needs to be made, or what limitation needs to be addressed? - validations: - required: true - - - type: textarea - id: options - attributes: - label: Options under consideration - description: | - List the design options you are weighing. For each option describe: - - How it works - - Pros - - Cons - - Impact on Oracle compatibility - placeholder: | - **Option A β€” …** - How: … - Pros: … - Cons: … - - **Option B β€” …** - How: … - Pros: … - Cons: … - validations: - required: true - - - type: textarea - id: preferred - attributes: - label: Preferred direction (if any) - description: If you already lean toward one option, say so and why. Leave blank if genuinely open. - validations: - required: false - - - type: dropdown - id: breaking - attributes: - label: Does this introduce a breaking change? - options: - - "No" - - "Yes β€” public API change (ut_runner, ut packages, annotations)" - - "Yes β€” output/reporter format change" - - "Yes β€” internal package change (no public API impact)" - - "Unsure" - validations: - required: true - - - type: textarea - id: migration - attributes: - label: Migration / compatibility notes - description: If breaking, describe the migration path for users and downstream integrations. - validations: - required: false - - - type: checkboxes - id: checklist - attributes: - label: Checklist - options: - - label: I have reviewed the existing architecture docs and source - required: true - - label: Relevant unit / integration tests have been considered - required: false diff --git a/.github/DISCUSSION_TEMPLATE/bug-triage.yml b/.github/DISCUSSION_TEMPLATE/bug-triage.yml new file mode 100644 index 000000000..7a5da8d73 --- /dev/null +++ b/.github/DISCUSSION_TEMPLATE/bug-triage.yml @@ -0,0 +1,69 @@ +title: "[Bug?] " +labels: ["bug-triage"] +body: + - type: markdown + attributes: + value: | + Use this category if you think you have found a bug in the utPLSQL framework and want to discuss it before a formal issue is opened. + + Once a maintainer confirms the bug, they will open an issue and link it back here. You do not need to open an issue yourself. + + If you are certain it is a bug and can provide a reliable reproduction, you may open an issue directly instead. + + - type: input + id: utplsql-version + attributes: + label: utPLSQL version + placeholder: "e.g. 3.1.13" + validations: + required: true + + - type: input + id: oracle-version + attributes: + label: Oracle Database version + placeholder: "e.g. 19c, 21c" + validations: + required: true + + - type: input + id: os + attributes: + label: Operating system + placeholder: "e.g. Linux, Windows Server 2019" + validations: + required: false + + - type: textarea + id: description + attributes: + label: What did you observe? + description: Describe the unexpected behaviour. Include any error messages or stack traces. + render: text + validations: + required: true + + - type: textarea + id: expected + attributes: + label: What did you expect? + description: Describe what you expected to happen instead. + validations: + required: true + + - type: textarea + id: reproduction + attributes: + label: Reproduction case + description: Paste the minimal PL/SQL needed to reproduce the problem. The simpler, the better. + render: sql + validations: + required: false + + - type: textarea + id: investigation + attributes: + label: What have you investigated so far? + description: Any findings from your own debugging that might help narrow this down. + validations: + required: false diff --git a/.github/DISCUSSION_TEMPLATE/contributing.yml b/.github/DISCUSSION_TEMPLATE/contributing.yml new file mode 100644 index 000000000..31a213cbb --- /dev/null +++ b/.github/DISCUSSION_TEMPLATE/contributing.yml @@ -0,0 +1,43 @@ +title: "" +labels: ["contributing"] +body: + - type: markdown + attributes: + value: | + Use this category if you are working on or considering a contribution to the utPLSQL framework codebase and have questions about the internals, development setup, testing approach, or contribution process. + + Before posting, it is worth checking: + - [CONTRIBUTING.md](https://github.com/utPLSQL/utPLSQL/blob/develop/CONTRIBUTING.md) + - [Development setup guide](https://github.com/utPLSQL/utPLSQL/blob/develop/development/README.md) + + - type: dropdown + id: topic + attributes: + label: Topic + options: + - Development environment setup + - Understanding the codebase + - Test writing and running locally + - CI / build pipeline + - Pull request process + - Architectural question + - Other + validations: + required: true + + - type: textarea + id: question + attributes: + label: Question or topic + description: Describe what you are working on and what you need help with. + validations: + required: true + + - type: textarea + id: context + attributes: + label: Relevant code or context + description: Paste any relevant code, configuration, or error output here. + render: sql + validations: + required: false diff --git a/.github/DISCUSSION_TEMPLATE/contributors.yml b/.github/DISCUSSION_TEMPLATE/contributors.yml deleted file mode 100644 index 6325961de..000000000 --- a/.github/DISCUSSION_TEMPLATE/contributors.yml +++ /dev/null @@ -1,56 +0,0 @@ -title: "[Contributors] " -labels: ["contributors"] -body: - - type: markdown - attributes: - value: | - ## Contributors - Questions about **contributing to utPLSQL** β€” development environment setup, - the test suite, pull request process, coding conventions, or anything else - that helps you get your first (or next) contribution merged. - - **Useful links before posting:** - - [CONTRIBUTING.md](../../blob/develop/CONTRIBUTING.md) - - [Development environment setup](../../blob/develop/docs/development/developer-guide.md) - - [Open issues labelled `good first issue`](../../issues?q=is%3Aopen+label%3A%22good+first+issue%22) - - - type: dropdown - id: topic - attributes: - label: Topic - options: - - Dev environment / Docker setup - - Running the test suite locally - - Understanding the codebase - - PR review process - - Coding conventions / style - - Good first issue β€” looking for guidance - - Release process - - Documentation contribution - - Other - validations: - required: true - - - type: textarea - id: question - attributes: - label: Question or request - description: What do you need help with? - validations: - required: true - - - type: textarea - id: context - attributes: - label: What you have tried - description: Steps already taken, error messages, links to relevant code, etc. - validations: - required: false - - - type: input - id: os - attributes: - label: Host OS / environment - placeholder: "e.g. macOS 14, Windows 11, Ubuntu 22.04, Docker on Linux" - validations: - required: false diff --git a/.github/DISCUSSION_TEMPLATE/feature-requests.yml b/.github/DISCUSSION_TEMPLATE/feature-requests.yml new file mode 100644 index 000000000..130d30c28 --- /dev/null +++ b/.github/DISCUSSION_TEMPLATE/feature-requests.yml @@ -0,0 +1,62 @@ +title: "[Feature] " +labels: ["feature-request"] +body: + - type: markdown + attributes: + value: | + Use this category for feature ideas specific to the utPLSQL framework: new matchers, annotation behaviour, reporter output, suite control, coverage, or installation. + + > For ideas that affect multiple components or the project direction overall, use [org-level Feature Requests](https://github.com/orgs/utPLSQL/discussions/categories/feature-requests) instead. + + A maintainer will mark this discussion as answered once the proposal is accepted or declined. + If accepted, a maintainer will convert it to an issue for implementation tracking -- you do not need to open an issue yourself. + + - type: textarea + id: problem + attributes: + label: Problem or motivation + description: What problem does this feature solve? What is the current limitation or pain point? + validations: + required: true + + - type: textarea + id: proposal + attributes: + label: Proposed solution + description: Describe the feature you have in mind. Include examples of how it would be used, ideally with PL/SQL annotation or API examples. + render: sql + validations: + required: true + + - type: textarea + id: alternatives + attributes: + label: Alternatives or workarounds considered + description: Have you found any alternative approaches or partial workarounds? + validations: + required: false + + - type: dropdown + id: area + attributes: + label: Framework area + options: + - Annotations + - Matchers + - Reporters + - Suite / test control + - Coverage + - Transaction control + - Installation / upgrade + - Performance + - Other + validations: + required: true + + - type: input + id: utplsql-version + attributes: + label: utPLSQL version you are using + placeholder: "e.g. 3.1.13" + validations: + required: false diff --git a/.github/DISCUSSION_TEMPLATE/general.yml b/.github/DISCUSSION_TEMPLATE/general.yml deleted file mode 100644 index 0e3b8d100..000000000 --- a/.github/DISCUSSION_TEMPLATE/general.yml +++ /dev/null @@ -1,28 +0,0 @@ -title: "" -labels: ["general"] -body: - - type: markdown - attributes: - value: | - ## General discussion - For open-ended conversations that don't fit another category: - project direction, community topics, suggestions, or anything else. - - If your post turns out to be a feature proposal, a maintainer may move it to - **RFCs & Design**. If it is a question about using utPLSQL, consider posting - in **Q&A** instead so a helpful answer can be marked. - - - type: textarea - id: body - attributes: - label: What's on your mind? - validations: - required: true - - - type: textarea - id: context - attributes: - label: Additional context - description: Background, links, related issues or discussions. - validations: - required: false diff --git a/.github/DISCUSSION_TEMPLATE/q-a.yml b/.github/DISCUSSION_TEMPLATE/q-a.yml index e4ff1d452..30b372760 100644 --- a/.github/DISCUSSION_TEMPLATE/q-a.yml +++ b/.github/DISCUSSION_TEMPLATE/q-a.yml @@ -17,25 +17,18 @@ body: > If this turns out to be a **bug**, a maintainer will convert this discussion into an Issue. - type: input - id: utplsql_version + id: utplsql-version attributes: label: utPLSQL version placeholder: "e.g. 3.1.13" validations: required: true - - type: dropdown - id: oracle_version + - type: input + id: oracle-version attributes: - label: Oracle version - options: - - Oracle 11g - - Oracle 12c - - Oracle 18c - - Oracle 19c - - Oracle 21c - - Oracle 23c / 23ai - - Other / unsure + label: Oracle Database version + placeholder: "e.g. 19c, 21c" validations: required: true @@ -43,7 +36,7 @@ body: id: question attributes: label: Question - description: Describe what you are trying to do and what you have tried so far. + description: Describe what you are trying to do and what you have already tried. validations: required: true @@ -59,29 +52,10 @@ body: required: false - type: textarea - id: expected - attributes: - label: Expected behaviour - validations: - required: false - - - type: textarea - id: actual - attributes: - label: Actual behaviour / error - validations: - required: false - - - type: dropdown - id: install_method + id: output attributes: - label: Installation method - options: - - utPLSQL-cli - - SQL*Plus script - - Docker / utPLSQL-docker - - Liquibase / Flyway - - Other - - N/A + label: Actual output or error + description: Paste any error messages or unexpected output here. + render: text validations: required: false diff --git a/.github/DISCUSSION_TEMPLATE/release-planning.yml b/.github/DISCUSSION_TEMPLATE/release-planning.yml deleted file mode 100644 index 5663d7613..000000000 --- a/.github/DISCUSSION_TEMPLATE/release-planning.yml +++ /dev/null @@ -1,90 +0,0 @@ -title: "[Release] v" -labels: ["release-planning"] -body: - - type: markdown - attributes: - value: | - ## Release planning discussion - Use this template to discuss the scope of an upcoming release: - what goes in, what gets deferred, and what the acceptance criteria are. - - **Maintainers:** pin this discussion and link it from the corresponding GitHub Milestone. - - - type: input - id: version - attributes: - label: Target version - placeholder: "e.g. 3.2.0" - validations: - required: true - - - type: dropdown - id: release_type - attributes: - label: Release type - options: - - Major (breaking changes) - - Minor (new features, backward-compatible) - - Patch (bug fixes only) - validations: - required: true - - - type: textarea - id: goals - attributes: - label: Release goals - description: What are the 2–4 key things this release should achieve? - placeholder: | - 1. - 2. - 3. - validations: - required: true - - - type: textarea - id: scope_in - attributes: - label: In scope (proposed issues / PRs) - description: | - Link the GitHub Issues and PRs targeted for this release. - Use the format: `- [ ] #123 β€” short description` - placeholder: | - - [ ] #123 β€” ... - - [ ] #456 β€” ... - validations: - required: false - - - type: textarea - id: scope_out - attributes: - label: Out of scope / explicitly deferred - description: Issues that were considered but will not be included β€” and why. - validations: - required: false - - - type: input - id: target_date - attributes: - label: Target release date (approximate) - placeholder: "e.g. 2025-Q2" - validations: - required: false - - - type: textarea - id: oracle_matrix - attributes: - label: Oracle version test matrix - description: Which Oracle versions must pass CI before this release ships? - placeholder: | - - [ ] Oracle 19c - - [ ] Oracle 21c - - [ ] Oracle 23ai - validations: - required: false - - - type: textarea - id: notes - attributes: - label: Additional notes - validations: - required: false diff --git a/.github/DISCUSSION_TEMPLATE/rfcs-design.yml b/.github/DISCUSSION_TEMPLATE/rfcs-design.yml deleted file mode 100644 index 32c0a33c7..000000000 --- a/.github/DISCUSSION_TEMPLATE/rfcs-design.yml +++ /dev/null @@ -1,88 +0,0 @@ -title: "[RFC] " -labels: ["rfc", "design"] -body: - - type: markdown - attributes: - value: | - ## Request for Comments β€” design proposal - Use this template to propose a new feature, a change to existing behaviour, or a significant refactoring. - Once there is consensus and a clear scope, a maintainer will convert this discussion into one or more GitHub Issues. - - **Before posting:** search existing RFCs and open issues to avoid duplicates. - - - type: input - id: summary - attributes: - label: Summary - description: One sentence β€” what are you proposing? - placeholder: "Add support for ..." - validations: - required: true - - - type: textarea - id: problem - attributes: - label: Problem / motivation - description: What problem does this solve? Who is affected and how often? - placeholder: | - Currently, when ... it is not possible to ... - This forces users to ... - validations: - required: true - - - type: textarea - id: proposal - attributes: - label: Proposed solution - description: Describe the solution in as much detail as you have. Pseudo-code, SQL, or PL/SQL snippets are welcome. - placeholder: | - ```sql - -- example of the proposed API - ``` - validations: - required: true - - - type: textarea - id: alternatives - attributes: - label: Alternatives considered - description: What other approaches did you look at? Why did you rule them out? - validations: - required: false - - - type: textarea - id: breaking - attributes: - label: Breaking-change impact - description: | - Does this change affect existing annotations, package APIs, or test output formats? - List affected public symbols (ut_runner, ut, annotations, reporters …). - validations: - required: false - - - type: dropdown - id: oracle_versions - attributes: - label: Oracle version relevance - description: Which Oracle versions does this apply to? - multiple: true - options: - - All supported versions - - Oracle 11g - - Oracle 12c - - Oracle 18c - - Oracle 19c - - Oracle 21c - - Oracle 23c / 23ai - validations: - required: true - - - type: checkboxes - id: checklist - attributes: - label: Checklist - options: - - label: I have searched existing discussions and issues for duplicates - required: true - - label: I am willing to help implement or review this feature - required: false diff --git a/.github/DISCUSSION_TEMPLATE/show-and-tell.yml b/.github/DISCUSSION_TEMPLATE/show-and-tell.yml deleted file mode 100644 index 4443c5de6..000000000 --- a/.github/DISCUSSION_TEMPLATE/show-and-tell.yml +++ /dev/null @@ -1,79 +0,0 @@ -title: "[Show & Tell] " -labels: ["show-and-tell"] -body: - - type: markdown - attributes: - value: | - ## Show & Tell - Share how you are using utPLSQL in the wild β€” CI pipelines, IDE integrations, - custom reporters, coverage setups, framework wrappers, or anything else the - community might learn from. - - Posts here are a great source of real-world examples for the documentation. - - - type: input - id: title_short - attributes: - label: What are you sharing? - placeholder: "e.g. utPLSQL + GitHub Actions CI pipeline for Oracle 23ai" - validations: - required: true - - - type: dropdown - id: category - attributes: - label: Category - multiple: true - options: - - CI/CD integration - - IDE / SQL client integration - - Custom reporter - - Code coverage setup - - Framework wrapper / helper library - - Docker / containerised testing - - Annotation patterns - - Performance / large test suite - - Other - validations: - required: true - - - type: textarea - id: description - attributes: - label: Description - description: Describe what you built or configured and why it might be useful to others. - validations: - required: true - - - type: textarea - id: snippet - attributes: - label: Code or configuration snippet - description: Paste the most relevant excerpt. Link to a repo or Gist if you have one. - render: yaml - validations: - required: false - - - type: input - id: utplsql_version - attributes: - label: utPLSQL version used - placeholder: "e.g. 3.1.13" - validations: - required: false - - - type: input - id: oracle_version - attributes: - label: Oracle version - placeholder: "e.g. Oracle 19c" - validations: - required: false - - - type: textarea - id: links - attributes: - label: Links - description: Repository, blog post, documentation page, etc. - validations: - required: false From d9eb1aabb10a4000695a019c8dbea7dd95c2e223 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Wed, 3 Jun 2026 15:41:46 +0300 Subject: [PATCH 003/171] Update changelog --- CHANGELOG.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f75662f75..d304ab172 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,19 @@ Releases are available on the [GitHub Releases page](https://github.com/utPLSQL/ --- +## [v3.2.2] - 2026-05-24 + +## What's Changed +* Filtering by tags fixed for schemas containing suite-paths and contexts by @jgebal in [1325](https://github.com/utPLSQL/utPLSQL/pull/1325) +* Fixed issue with reporter failing to initialize by @jgebal in [1354](https://github.com/utPLSQL/utPLSQL/pull/1354) +* Fixed issue with duplicate sources from dba_source by @jgebal in [1355](https://github.com/utPLSQL/utPLSQL/pull/1355) +* Allow HTML coverage on FIPS-enabled DB by @jgebal in [1356](https://github.com/utPLSQL/utPLSQL/pull/1356) + + +**Full Changelog**: https://github.com/utPLSQL/utPLSQL/compare/v3.2.01...v3.2.2 + +--- + ## [v3.2.01] - 2026-04-22 ## Important From 9d5e1b02f96d8807dfd8db76def73d85c7ee9237 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Wed, 3 Jun 2026 15:51:31 +0300 Subject: [PATCH 004/171] Add automatic update of changelog.md file with every release --- .github/workflows/release.yml | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4b5d59463..7bcaa033f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -36,6 +36,38 @@ jobs: git config --global user.email "github-actions[bot]@users.noreply.github.com" git config --global user.name "github-actions[bot]" + - name: Update CHANGELOG.md with release notes + env: + RELEASE_BODY: ${{ github.event.release.body }} + RELEASE_TAG: ${{ github.event.release.tag_name }} + RELEASE_DATE: ${{ github.event.release.published_at }} + TARGET_BRANCH: ${{ github.event.release.target_commitish }} + run: | + python3 - <<'PYEOF' + import os + + tag = os.environ['RELEASE_TAG'] + body = os.environ['RELEASE_BODY'].strip() + date = os.environ['RELEASE_DATE'][:10] + + new_section = f"## [{tag}] - {date}\n\n{body}\n\n---\n\n" + + with open('CHANGELOG.md', 'r') as f: + content = f.read() + + marker = '\n---\n' + pos = content.index(marker) + len(marker) + updated = content[:pos] + '\n' + new_section + content[pos:] + + with open('CHANGELOG.md', 'w') as f: + f.write(updated) + + print(f"Added {tag} to CHANGELOG.md") + PYEOF + git add CHANGELOG.md + git commit -m "Add release notes for ${RELEASE_TAG} to CHANGELOG.md [skip ci]" + git push origin HEAD:"${TARGET_BRANCH}" + - name: Build and publish documentation run: | pip install mkdocs From ae3185a523b6eaa35c12e7d9015760b72f9ea9cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Wed, 3 Jun 2026 16:10:44 +0300 Subject: [PATCH 005/171] Adding automatic publishing of release announcements --- .github/workflows/release.yml | 45 +++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7bcaa033f..7826c1f0d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -97,3 +97,48 @@ jobs: utPLSQL.tar.gz utPLSQL.tar.gz.md5 + - name: Post release announcement to org discussions + env: + GH_TOKEN: ${{ secrets.ORG_DISCUSSION_TOKEN }} + RELEASE_TAG: ${{ github.event.release.tag_name }} + RELEASE_BODY: ${{ github.event.release.body }} + RELEASE_URL: ${{ github.event.release.html_url }} + run: | + ORG="utPLSQL" + + ORG_DATA=$(gh api graphql -f query='query($org: String!) { + organization(login: $org) { + id + discussionCategories(first: 20) { + nodes { id name } + } + } + }' -f org="$ORG") + + ORG_ID=$(echo "$ORG_DATA" | jq -r '.data.organization.id') + CATEGORY_ID=$(echo "$ORG_DATA" | jq -r \ + '.data.organization.discussionCategories.nodes[] | select(.name == "Announcements") | .id') + + BODY="${RELEASE_BODY} + + --- + [View full release on GitHub](${RELEASE_URL})" + + DISCUSSION_URL=$(gh api graphql -f query='mutation($orgId: ID!, $categoryId: ID!, $title: String!, $body: String!) { + createDiscussion(input: { + organizationId: $orgId, + categoryId: $categoryId, + title: $title, + body: $body + }) { + discussion { url } + } + }' \ + -f orgId="$ORG_ID" \ + -f categoryId="$CATEGORY_ID" \ + -f title="utPLSQL ${RELEASE_TAG} released" \ + -f body="$BODY" \ + --jq '.data.createDiscussion.discussion.url') + + echo "Announcement posted: $DISCUSSION_URL" + From 3004afaf7cca0670399d8ff8f66b3a08ad2ee5a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Wed, 3 Jun 2026 16:36:43 +0300 Subject: [PATCH 006/171] Update Release process --- .github/workflows/release.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7826c1f0d..9de687830 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -42,7 +42,11 @@ jobs: RELEASE_TAG: ${{ github.event.release.tag_name }} RELEASE_DATE: ${{ github.event.release.published_at }} TARGET_BRANCH: ${{ github.event.release.target_commitish }} + GH_TOKEN: ${{ secrets.ELEVATED_TOKEN }} run: | + # Configure git to use the elevated token + git config --global credential.helper store + echo "https://x-access-token:${GH_TOKEN}@github.com" > ~/.git-credentials python3 - <<'PYEOF' import os From cc8711c86da69a7f3222ec126e11b9dcb595968d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Wed, 3 Jun 2026 16:49:16 +0300 Subject: [PATCH 007/171] Update Release process --- .github/workflows/release.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9de687830..07dbaacbf 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -25,12 +25,6 @@ jobs: env-file: .github/variables/.env - uses: FranzDiebold/github-env-vars-action@v2.8.0 #https://github.com/marketplace/actions/github-environment-variables-action - - name: Set build version number env variables - run: .github/scripts/set_release_version_numbers_env.sh - - - name: Update project version & build number in source code and documentation - run: .github/scripts/update_project_version.sh - - name: Setup git config run: | git config --global user.email "github-actions[bot]@users.noreply.github.com" @@ -72,6 +66,12 @@ jobs: git commit -m "Add release notes for ${RELEASE_TAG} to CHANGELOG.md [skip ci]" git push origin HEAD:"${TARGET_BRANCH}" + - name: Set build version number env variables + run: .github/scripts/set_release_version_numbers_env.sh + + - name: Update project version & build number in source code and documentation + run: .github/scripts/update_project_version.sh + - name: Build and publish documentation run: | pip install mkdocs From 2170365d76e3dfa6a0ea4267448109298f962737 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Wed, 3 Jun 2026 17:33:08 +0300 Subject: [PATCH 008/171] Update Release process --- .github/workflows/release.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 07dbaacbf..25377d076 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -36,11 +36,8 @@ jobs: RELEASE_TAG: ${{ github.event.release.tag_name }} RELEASE_DATE: ${{ github.event.release.published_at }} TARGET_BRANCH: ${{ github.event.release.target_commitish }} - GH_TOKEN: ${{ secrets.ELEVATED_TOKEN }} + GITHUB_TOKEN: ${{ secrets.ELEVATED_TOKEN }} run: | - # Configure git to use the elevated token - git config --global credential.helper store - echo "https://x-access-token:${GH_TOKEN}@github.com" > ~/.git-credentials python3 - <<'PYEOF' import os From e773abce2fc34f359a70f6337786a858e6dab71a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Wed, 3 Jun 2026 18:32:20 +0300 Subject: [PATCH 009/171] Update Release process --- .github/workflows/release.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 25377d076..c306cf899 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -59,8 +59,11 @@ jobs: print(f"Added {tag} to CHANGELOG.md") PYEOF + git config user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" git add CHANGELOG.md git commit -m "Add release notes for ${RELEASE_TAG} to CHANGELOG.md [skip ci]" + echo "TARGET_BRANCH=${TARGET_BRANCH}" git push origin HEAD:"${TARGET_BRANCH}" - name: Set build version number env variables From d5d98ba23763f446fbe3717735f82115b0a36873 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 3 Jun 2026 16:37:16 +0100 Subject: [PATCH 010/171] Add release notes for v3.2.2-test to CHANGELOG.md [skip ci] --- CHANGELOG.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d304ab172..494b7f642 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,20 @@ Releases are available on the [GitHub Releases page](https://github.com/utPLSQL/ --- +## [v3.2.2-test] - 2026-06-03 + +## This is a test of a release publishing + * no new features added + * no changes + * just a release tag + * new announcement should be created + * changelog should be updated + +**Full Changelog**: https://github.com/utPLSQL/utPLSQL/compare/v3.2.2...v3.2.2-test + +--- + + ## [v3.2.2] - 2026-05-24 ## What's Changed From 2ac7676c286b2feef8b569e3a67d9d9c6ab34c5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Wed, 3 Jun 2026 18:39:51 +0300 Subject: [PATCH 011/171] Update Release process --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c306cf899..09cbb573b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -19,6 +19,7 @@ jobs: steps: - uses: actions/checkout@v4 with: + token: ${{ secrets.ELEVATED_TOKEN }} fetch-depth: 0 - uses: c-py/action-dotenv-to-setenv@v5 with: @@ -36,7 +37,6 @@ jobs: RELEASE_TAG: ${{ github.event.release.tag_name }} RELEASE_DATE: ${{ github.event.release.published_at }} TARGET_BRANCH: ${{ github.event.release.target_commitish }} - GITHUB_TOKEN: ${{ secrets.ELEVATED_TOKEN }} run: | python3 - <<'PYEOF' import os From f7068950923f05d6c3b338814737df1ee3606482 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Wed, 3 Jun 2026 18:45:44 +0300 Subject: [PATCH 012/171] Revert changelog changes --- CHANGELOG.md | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 494b7f642..d304ab172 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,20 +5,6 @@ Releases are available on the [GitHub Releases page](https://github.com/utPLSQL/ --- -## [v3.2.2-test] - 2026-06-03 - -## This is a test of a release publishing - * no new features added - * no changes - * just a release tag - * new announcement should be created - * changelog should be updated - -**Full Changelog**: https://github.com/utPLSQL/utPLSQL/compare/v3.2.2...v3.2.2-test - ---- - - ## [v3.2.2] - 2026-05-24 ## What's Changed From 00bbdb865683f01af23f56366d2826653928f5f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Wed, 3 Jun 2026 18:48:53 +0300 Subject: [PATCH 013/171] Update Release process --- .github/workflows/release.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 09cbb573b..0def9719a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -61,6 +61,7 @@ jobs: PYEOF git config user.name "github-actions[bot]" git config user.email "github-actions[bot]@users.noreply.github.com" + git config --global url."https://oauth2:${{ secrets.ELEVATED_TOKEN }}@github.com/".insteadOf "https://github.com/" git add CHANGELOG.md git commit -m "Add release notes for ${RELEASE_TAG} to CHANGELOG.md [skip ci]" echo "TARGET_BRANCH=${TARGET_BRANCH}" From e584991c81e52d278144e82cd01e679d2bc92287 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Thu, 4 Jun 2026 08:57:16 +0300 Subject: [PATCH 014/171] Update Release process --- .github/workflows/release.yml | 12 +-- .github/workflows/test_publishing.yml | 112 ++++++++++++++++++++++++++ 2 files changed, 114 insertions(+), 10 deletions(-) create mode 100644 .github/workflows/test_publishing.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0def9719a..972e239ed 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -15,22 +15,18 @@ jobs: concurrency: upload runs-on: ubuntu-latest timeout-minutes: 60 + env: + API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }} steps: - uses: actions/checkout@v4 with: - token: ${{ secrets.ELEVATED_TOKEN }} fetch-depth: 0 - uses: c-py/action-dotenv-to-setenv@v5 with: env-file: .github/variables/.env - uses: FranzDiebold/github-env-vars-action@v2.8.0 #https://github.com/marketplace/actions/github-environment-variables-action - - name: Setup git config - run: | - git config --global user.email "github-actions[bot]@users.noreply.github.com" - git config --global user.name "github-actions[bot]" - - name: Update CHANGELOG.md with release notes env: RELEASE_BODY: ${{ github.event.release.body }} @@ -59,12 +55,8 @@ jobs: print(f"Added {tag} to CHANGELOG.md") PYEOF - git config user.name "github-actions[bot]" - git config user.email "github-actions[bot]@users.noreply.github.com" - git config --global url."https://oauth2:${{ secrets.ELEVATED_TOKEN }}@github.com/".insteadOf "https://github.com/" git add CHANGELOG.md git commit -m "Add release notes for ${RELEASE_TAG} to CHANGELOG.md [skip ci]" - echo "TARGET_BRANCH=${TARGET_BRANCH}" git push origin HEAD:"${TARGET_BRANCH}" - name: Set build version number env variables diff --git a/.github/workflows/test_publishing.yml b/.github/workflows/test_publishing.yml new file mode 100644 index 000000000..10b3665b5 --- /dev/null +++ b/.github/workflows/test_publishing.yml @@ -0,0 +1,112 @@ +name: Create and publish release artifacts +on: + workflow_dispatch: + +defaults: + run: + shell: bash + +jobs: + + upload_artifacts: + name: Upload archives + concurrency: upload + runs-on: ubuntu-latest + timeout-minutes: 60 + env: + API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }} + + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - uses: c-py/action-dotenv-to-setenv@v5 + with: + env-file: .github/variables/.env + - uses: FranzDiebold/github-env-vars-action@v2.8.0 #https://github.com/marketplace/actions/github-environment-variables-action + + - name: Update CHANGELOG.md with release notes + env: + RELEASE_BODY: | + ## This is a test of a release publishing + * no new features added + * no changes + * just a release tag + * new announcement should be created + * changelog should be updated + + **Full Changelog**: https://github.com/utPLSQL/utPLSQL/compare/v3.2.2...v3.2.2-test + RELEASE_TAG: "v3.2.2-test" + RELEASE_DATE: "2026-06-04" + TARGET_BRANCH: "develop" + run: | + python3 - <<'PYEOF' + import os + + tag = os.environ['RELEASE_TAG'] + body = os.environ['RELEASE_BODY'].strip() + date = os.environ['RELEASE_DATE'][:10] + + new_section = f"## [{tag}] - {date}\n\n{body}\n\n---\n\n" + + with open('CHANGELOG.md', 'r') as f: + content = f.read() + + marker = '\n---\n' + pos = content.index(marker) + len(marker) + updated = content[:pos] + '\n' + new_section + content[pos:] + + with open('CHANGELOG.md', 'w') as f: + f.write(updated) + + print(f"Added {tag} to CHANGELOG.md") + PYEOF + git add CHANGELOG.md + git commit -m "Add release notes for ${RELEASE_TAG} to CHANGELOG.md [skip ci]" + git push origin HEAD:"${TARGET_BRANCH}" + + - name: Post release announcement to org discussions + env: + GH_TOKEN: ${{ secrets.ORG_DISCUSSION_TOKEN }} + RELEASE_TAG: ${{ github.event.release.tag_name }} + RELEASE_BODY: ${{ github.event.release.body }} + RELEASE_URL: ${{ github.event.release.html_url }} + run: | + ORG="utPLSQL" + + ORG_DATA=$(gh api graphql -f query='query($org: String!) { + organization(login: $org) { + id + discussionCategories(first: 20) { + nodes { id name } + } + } + }' -f org="$ORG") + + ORG_ID=$(echo "$ORG_DATA" | jq -r '.data.organization.id') + CATEGORY_ID=$(echo "$ORG_DATA" | jq -r \ + '.data.organization.discussionCategories.nodes[] | select(.name == "Announcements") | .id') + + BODY="${RELEASE_BODY} + + --- + [View full release on GitHub](${RELEASE_URL})" + + DISCUSSION_URL=$(gh api graphql -f query='mutation($orgId: ID!, $categoryId: ID!, $title: String!, $body: String!) { + createDiscussion(input: { + organizationId: $orgId, + categoryId: $categoryId, + title: $title, + body: $body + }) { + discussion { url } + } + }' \ + -f orgId="$ORG_ID" \ + -f categoryId="$CATEGORY_ID" \ + -f title="utPLSQL ${RELEASE_TAG} released" \ + -f body="$BODY" \ + --jq '.data.createDiscussion.discussion.url') + + echo "Announcement posted: $DISCUSSION_URL" + From 42f883e1819894ffd42b7f43320274d3d4dcd496 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Thu, 4 Jun 2026 08:58:16 +0300 Subject: [PATCH 015/171] Update Release process --- .github/workflows/test_publishing.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_publishing.yml b/.github/workflows/test_publishing.yml index 10b3665b5..bf9f43644 100644 --- a/.github/workflows/test_publishing.yml +++ b/.github/workflows/test_publishing.yml @@ -1,4 +1,4 @@ -name: Create and publish release artifacts +name: TEst publishing of release announcement on: workflow_dispatch: From 0e740c35978cdfb2d38f01e4807f2240c14add2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Thu, 4 Jun 2026 08:59:26 +0300 Subject: [PATCH 016/171] Update Release process --- .github/workflows/test_publishing.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_publishing.yml b/.github/workflows/test_publishing.yml index bf9f43644..459706632 100644 --- a/.github/workflows/test_publishing.yml +++ b/.github/workflows/test_publishing.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 60 env: - API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }} + API_TOKEN_GITHUB: ${{ secrets.ELEVATED_TOKEN }} steps: - uses: actions/checkout@v4 From d34536c9e87b8b460adfe19216be732e697560be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Thu, 4 Jun 2026 09:01:37 +0300 Subject: [PATCH 017/171] Testing Release process --- .github/workflows/test_publishing.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test_publishing.yml b/.github/workflows/test_publishing.yml index 459706632..9b614bf9c 100644 --- a/.github/workflows/test_publishing.yml +++ b/.github/workflows/test_publishing.yml @@ -14,12 +14,13 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 60 env: - API_TOKEN_GITHUB: ${{ secrets.ELEVATED_TOKEN }} + API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }} steps: - uses: actions/checkout@v4 with: fetch-depth: 0 + token: ${{ env.API_TOKEN_GITHUB }} - uses: c-py/action-dotenv-to-setenv@v5 with: env-file: .github/variables/.env From 5e1ff2fda4b47b1950cb17c608746259b9489c51 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 4 Jun 2026 07:02:08 +0100 Subject: [PATCH 018/171] Add release notes for v3.2.2-test to CHANGELOG.md [skip ci] --- CHANGELOG.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d304ab172..f84ce7ecb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,20 @@ Releases are available on the [GitHub Releases page](https://github.com/utPLSQL/ --- +## [v3.2.2-test] - 2026-06-04 + +## This is a test of a release publishing + * no new features added + * no changes + * just a release tag + * new announcement should be created + * changelog should be updated + +**Full Changelog**: https://github.com/utPLSQL/utPLSQL/compare/v3.2.2...v3.2.2-test + +--- + + ## [v3.2.2] - 2026-05-24 ## What's Changed From 9555c026be4fdbbb60f9c92a9bcae03e55b15fd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Thu, 4 Jun 2026 09:06:01 +0300 Subject: [PATCH 019/171] Testing Release process --- .github/workflows/release.yml | 1 + .github/workflows/test_publishing.yml | 35 ++++++++++++++++----------- 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 972e239ed..3c490d18c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,6 +22,7 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 + token: ${{ env.API_TOKEN_GITHUB }} - uses: c-py/action-dotenv-to-setenv@v5 with: env-file: .github/variables/.env diff --git a/.github/workflows/test_publishing.yml b/.github/workflows/test_publishing.yml index 9b614bf9c..8b97381fe 100644 --- a/.github/workflows/test_publishing.yml +++ b/.github/workflows/test_publishing.yml @@ -78,24 +78,32 @@ jobs: ORG_DATA=$(gh api graphql -f query='query($org: String!) { organization(login: $org) { id - discussionCategories(first: 20) { - nodes { id name } - } } }' -f org="$ORG") ORG_ID=$(echo "$ORG_DATA" | jq -r '.data.organization.id') - CATEGORY_ID=$(echo "$ORG_DATA" | jq -r \ - '.data.organization.discussionCategories.nodes[] | select(.name == "Announcements") | .id') - + + # Get discussion categories - these are typically repo-level + # For org-level, you may need to use a repository instead + CATEGORY_DATA=$(gh api graphql -f query='query($owner: String!, $name: String!) { + repository(owner: $owner, name: $name) { + discussionCategories(first: 20) { + nodes { id name } + } + } + }' -f owner="$ORG" -f name=".github") + + CATEGORY_ID=$(echo "$CATEGORY_DATA" | jq -r \ + '.data.repository.discussionCategories.nodes[] | select(.name == "Announcements") | .id') + BODY="${RELEASE_BODY} - + --- [View full release on GitHub](${RELEASE_URL})" - - DISCUSSION_URL=$(gh api graphql -f query='mutation($orgId: ID!, $categoryId: ID!, $title: String!, $body: String!) { + + DISCUSSION_URL=$(gh api graphql -f query='mutation($repoId: ID!, $categoryId: ID!, $title: String!, $body: String!) { createDiscussion(input: { - organizationId: $orgId, + repositoryId: $repoId, categoryId: $categoryId, title: $title, body: $body @@ -103,11 +111,10 @@ jobs: discussion { url } } }' \ - -f orgId="$ORG_ID" \ + -f repoId="$REPO_ID" \ -f categoryId="$CATEGORY_ID" \ -f title="utPLSQL ${RELEASE_TAG} released" \ -f body="$BODY" \ --jq '.data.createDiscussion.discussion.url') - - echo "Announcement posted: $DISCUSSION_URL" - + + echo "Announcement posted: $DISCUSSION_URL" \ No newline at end of file From dd050afd50f88cbc09d05ad7ea5a8d316806da6c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 4 Jun 2026 07:07:00 +0100 Subject: [PATCH 020/171] Add release notes for v3.2.2-test to CHANGELOG.md [skip ci] --- CHANGELOG.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f84ce7ecb..ae89774e6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,20 @@ Releases are available on the [GitHub Releases page](https://github.com/utPLSQL/ --- +## [v3.2.2-test] - 2026-06-04 + +## This is a test of a release publishing + * no new features added + * no changes + * just a release tag + * new announcement should be created + * changelog should be updated + +**Full Changelog**: https://github.com/utPLSQL/utPLSQL/compare/v3.2.2...v3.2.2-test + +--- + + ## [v3.2.2] - 2026-05-24 ## What's Changed From 3571eed69d7ff0e8cf7bce9d4bea79ce6565e3ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Thu, 4 Jun 2026 09:09:37 +0300 Subject: [PATCH 021/171] Testing Release process --- .github/workflows/test_publishing.yml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test_publishing.yml b/.github/workflows/test_publishing.yml index 8b97381fe..d65613916 100644 --- a/.github/workflows/test_publishing.yml +++ b/.github/workflows/test_publishing.yml @@ -69,9 +69,17 @@ jobs: - name: Post release announcement to org discussions env: GH_TOKEN: ${{ secrets.ORG_DISCUSSION_TOKEN }} - RELEASE_TAG: ${{ github.event.release.tag_name }} - RELEASE_BODY: ${{ github.event.release.body }} - RELEASE_URL: ${{ github.event.release.html_url }} + RELEASE_TAG: "v3.2.2-test" + RELEASE_BODY: | + ## This is a test of a release publishing + * no new features added + * no changes + * just a release tag + * new announcement should be created + * changelog should be updated + + **Full Changelog**: https://github.com/utPLSQL/utPLSQL/compare/v3.2.2...v3.2.2-test + RELEASE_URL: "https://github.com/utPLSQL/utPLSQL/releases/tag/v3.2.2" run: | ORG="utPLSQL" From 16a3a8159d4c6e1569fa124a19eee87a0b7eceba Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 4 Jun 2026 07:10:23 +0100 Subject: [PATCH 022/171] Add release notes for v3.2.2-test to CHANGELOG.md [skip ci] --- CHANGELOG.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ae89774e6..9c17688f7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -33,6 +33,20 @@ Releases are available on the [GitHub Releases page](https://github.com/utPLSQL/ --- +## [v3.2.2-test] - 2026-06-04 + +## This is a test of a release publishing + * no new features added + * no changes + * just a release tag + * new announcement should be created + * changelog should be updated + +**Full Changelog**: https://github.com/utPLSQL/utPLSQL/compare/v3.2.2...v3.2.2-test + +--- + + ## [v3.2.2] - 2026-05-24 ## What's Changed From 4cc16d63b97437d9209092e59301f00d9cbf0b2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Thu, 4 Jun 2026 09:17:53 +0300 Subject: [PATCH 023/171] Testing Release process --- .github/workflows/test_publishing.yml | 35 +++++++++------------------ 1 file changed, 11 insertions(+), 24 deletions(-) diff --git a/.github/workflows/test_publishing.yml b/.github/workflows/test_publishing.yml index d65613916..1c5161871 100644 --- a/.github/workflows/test_publishing.yml +++ b/.github/workflows/test_publishing.yml @@ -82,37 +82,25 @@ jobs: RELEASE_URL: "https://github.com/utPLSQL/utPLSQL/releases/tag/v3.2.2" run: | ORG="utPLSQL" + REPO_NAME=".github" - ORG_DATA=$(gh api graphql -f query='query($org: String!) { - organization(login: $org) { + # Get repository ID + REPO_DATA=$(gh api graphql -f query='query($owner: String!, $name: String!) { + repository(owner: $owner, name: $name) { id } - }' -f org="$ORG") + }' -f owner="$ORG" -f name="$REPO_NAME") + + REPO_ID=$(echo "$REPO_DATA" | jq -r '.data.repository.id') - ORG_ID=$(echo "$ORG_DATA" | jq -r '.data.organization.id') - - # Get discussion categories - these are typically repo-level - # For org-level, you may need to use a repository instead - CATEGORY_DATA=$(gh api graphql -f query='query($owner: String!, $name: String!) { - repository(owner: $owner, name: $name) { - discussionCategories(first: 20) { - nodes { id name } - } - } - }' -f owner="$ORG" -f name=".github") - - CATEGORY_ID=$(echo "$CATEGORY_DATA" | jq -r \ - '.data.repository.discussionCategories.nodes[] | select(.name == "Announcements") | .id') - BODY="${RELEASE_BODY} - + --- [View full release on GitHub](${RELEASE_URL})" - - DISCUSSION_URL=$(gh api graphql -f query='mutation($repoId: ID!, $categoryId: ID!, $title: String!, $body: String!) { + + DISCUSSION_URL=$(gh api graphql -f query='mutation($repoId: ID!, $title: String!, $body: String!) { createDiscussion(input: { repositoryId: $repoId, - categoryId: $categoryId, title: $title, body: $body }) { @@ -120,9 +108,8 @@ jobs: } }' \ -f repoId="$REPO_ID" \ - -f categoryId="$CATEGORY_ID" \ -f title="utPLSQL ${RELEASE_TAG} released" \ -f body="$BODY" \ --jq '.data.createDiscussion.discussion.url') - + echo "Announcement posted: $DISCUSSION_URL" \ No newline at end of file From 46de75c18f84b97613474ff2ff986eafb126dd2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Thu, 4 Jun 2026 09:18:24 +0300 Subject: [PATCH 024/171] Testing Release process --- .github/workflows/test_publishing.yml | 78 +++++++++++++-------------- 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/.github/workflows/test_publishing.yml b/.github/workflows/test_publishing.yml index 1c5161871..5e20e5bf4 100644 --- a/.github/workflows/test_publishing.yml +++ b/.github/workflows/test_publishing.yml @@ -26,45 +26,45 @@ jobs: env-file: .github/variables/.env - uses: FranzDiebold/github-env-vars-action@v2.8.0 #https://github.com/marketplace/actions/github-environment-variables-action - - name: Update CHANGELOG.md with release notes - env: - RELEASE_BODY: | - ## This is a test of a release publishing - * no new features added - * no changes - * just a release tag - * new announcement should be created - * changelog should be updated - - **Full Changelog**: https://github.com/utPLSQL/utPLSQL/compare/v3.2.2...v3.2.2-test - RELEASE_TAG: "v3.2.2-test" - RELEASE_DATE: "2026-06-04" - TARGET_BRANCH: "develop" - run: | - python3 - <<'PYEOF' - import os - - tag = os.environ['RELEASE_TAG'] - body = os.environ['RELEASE_BODY'].strip() - date = os.environ['RELEASE_DATE'][:10] - - new_section = f"## [{tag}] - {date}\n\n{body}\n\n---\n\n" - - with open('CHANGELOG.md', 'r') as f: - content = f.read() - - marker = '\n---\n' - pos = content.index(marker) + len(marker) - updated = content[:pos] + '\n' + new_section + content[pos:] - - with open('CHANGELOG.md', 'w') as f: - f.write(updated) - - print(f"Added {tag} to CHANGELOG.md") - PYEOF - git add CHANGELOG.md - git commit -m "Add release notes for ${RELEASE_TAG} to CHANGELOG.md [skip ci]" - git push origin HEAD:"${TARGET_BRANCH}" +# - name: Update CHANGELOG.md with release notes +# env: +# RELEASE_BODY: | +# ## This is a test of a release publishing +# * no new features added +# * no changes +# * just a release tag +# * new announcement should be created +# * changelog should be updated +# +# **Full Changelog**: https://github.com/utPLSQL/utPLSQL/compare/v3.2.2...v3.2.2-test +# RELEASE_TAG: "v3.2.2-test" +# RELEASE_DATE: "2026-06-04" +# TARGET_BRANCH: "develop" +# run: | +# python3 - <<'PYEOF' +# import os +# +# tag = os.environ['RELEASE_TAG'] +# body = os.environ['RELEASE_BODY'].strip() +# date = os.environ['RELEASE_DATE'][:10] +# +# new_section = f"## [{tag}] - {date}\n\n{body}\n\n---\n\n" +# +# with open('CHANGELOG.md', 'r') as f: +# content = f.read() +# +# marker = '\n---\n' +# pos = content.index(marker) + len(marker) +# updated = content[:pos] + '\n' + new_section + content[pos:] +# +# with open('CHANGELOG.md', 'w') as f: +# f.write(updated) +# +# print(f"Added {tag} to CHANGELOG.md") +# PYEOF +# git add CHANGELOG.md +# git commit -m "Add release notes for ${RELEASE_TAG} to CHANGELOG.md [skip ci]" +# git push origin HEAD:"${TARGET_BRANCH}" - name: Post release announcement to org discussions env: From 3af7303c25b2edfc583b8fbb3d710341ca10504c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Thu, 4 Jun 2026 09:37:18 +0300 Subject: [PATCH 025/171] Testing announcement of release in discussions --- .github/workflows/test_publishing.yml | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test_publishing.yml b/.github/workflows/test_publishing.yml index 5e20e5bf4..c48a3576e 100644 --- a/.github/workflows/test_publishing.yml +++ b/.github/workflows/test_publishing.yml @@ -83,6 +83,14 @@ jobs: run: | ORG="utPLSQL" REPO_NAME=".github" + + # Get org ID + ORG_DATA=$(gh api graphql -f query='query($org: String!) { + organization(login: $org) { + id + } + }' -f org="$ORG") + ORG_ID=$(echo "$ORG_DATA" | jq -r '.data.organization.id') # Get repository ID REPO_DATA=$(gh api graphql -f query='query($owner: String!, $name: String!) { @@ -90,17 +98,29 @@ jobs: id } }' -f owner="$ORG" -f name="$REPO_NAME") - REPO_ID=$(echo "$REPO_DATA" | jq -r '.data.repository.id') + + # Get category id + CATEGORY_DATA=$(gh api graphql -f query='query($owner: String!, $name: String!) { + repository(owner: $owner, name: $name) { + discussionCategories(first: 20) { + nodes { id name } + } + } + }' -f owner="$ORG" -f name="$REPO_NAME") + + CATEGORY_ID=$(echo "$CATEGORY_DATA" | jq -r \ + '.data.repository.discussionCategories.nodes[] | select(.name == "Announcements") | .id') BODY="${RELEASE_BODY} --- [View full release on GitHub](${RELEASE_URL})" - DISCUSSION_URL=$(gh api graphql -f query='mutation($repoId: ID!, $title: String!, $body: String!) { + DISCUSSION_URL=$(gh api graphql -f query='mutation($repoId: ID!, $categoryId: ID!, $title: String!, $body: String!) { createDiscussion(input: { repositoryId: $repoId, + categoryId: $categoryId, title: $title, body: $body }) { @@ -108,6 +128,7 @@ jobs: } }' \ -f repoId="$REPO_ID" \ + -f categoryId="$CATEGORY_ID" \ -f title="utPLSQL ${RELEASE_TAG} released" \ -f body="$BODY" \ --jq '.data.createDiscussion.discussion.url') From b6cac60d3a41e075453c3c6cdaf7d7f6d1780b01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Thu, 4 Jun 2026 09:44:51 +0300 Subject: [PATCH 026/171] Testing announcement of release in discussions --- .github/workflows/test_publishing.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_publishing.yml b/.github/workflows/test_publishing.yml index c48a3576e..df8595e07 100644 --- a/.github/workflows/test_publishing.yml +++ b/.github/workflows/test_publishing.yml @@ -68,7 +68,7 @@ jobs: - name: Post release announcement to org discussions env: - GH_TOKEN: ${{ secrets.ORG_DISCUSSION_TOKEN }} + GH_TOKEN: ${{ secrets.API_TOKEN_GITHUB }} RELEASE_TAG: "v3.2.2-test" RELEASE_BODY: | ## This is a test of a release publishing From ec37a0a57a02205077fcf1558fae9e1315395b96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Thu, 4 Jun 2026 09:48:34 +0300 Subject: [PATCH 027/171] Testing announcement of release in discussions --- .github/workflows/test_publishing.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/test_publishing.yml b/.github/workflows/test_publishing.yml index df8595e07..4f5859bc4 100644 --- a/.github/workflows/test_publishing.yml +++ b/.github/workflows/test_publishing.yml @@ -114,8 +114,7 @@ jobs: BODY="${RELEASE_BODY} - --- - [View full release on GitHub](${RELEASE_URL})" +
This discussion was created from the release ${RELEASE_TAG}." DISCUSSION_URL=$(gh api graphql -f query='mutation($repoId: ID!, $categoryId: ID!, $title: String!, $body: String!) { createDiscussion(input: { From 5019705017257bbee56f159d390201706960cc8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Thu, 4 Jun 2026 09:50:14 +0300 Subject: [PATCH 028/171] Testing announcement of release in discussions --- .github/workflows/test_publishing.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_publishing.yml b/.github/workflows/test_publishing.yml index 4f5859bc4..0e0b0a622 100644 --- a/.github/workflows/test_publishing.yml +++ b/.github/workflows/test_publishing.yml @@ -114,7 +114,7 @@ jobs: BODY="${RELEASE_BODY} -
This discussion was created from the release ${RELEASE_TAG}." +
This discussion was created from the release ${RELEASE_TAG}." DISCUSSION_URL=$(gh api graphql -f query='mutation($repoId: ID!, $categoryId: ID!, $title: String!, $body: String!) { createDiscussion(input: { From 0c6f25d7dfeb0bfa66ffbecc2f6528a327effb6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Thu, 4 Jun 2026 09:58:47 +0300 Subject: [PATCH 029/171] Update of release process to include update of changelog and publishing of release announcement on Org Discussion. --- .github/scripts/post_release_announcement.sh | 63 +++++++++ .github/scripts/update_changelog.sh | 36 +++++ .github/workflows/release.yml | 73 +--------- .github/workflows/test_publishing.yml | 135 ------------------- 4 files changed, 105 insertions(+), 202 deletions(-) create mode 100755 .github/scripts/post_release_announcement.sh create mode 100755 .github/scripts/update_changelog.sh delete mode 100644 .github/workflows/test_publishing.yml diff --git a/.github/scripts/post_release_announcement.sh b/.github/scripts/post_release_announcement.sh new file mode 100755 index 000000000..c74394505 --- /dev/null +++ b/.github/scripts/post_release_announcement.sh @@ -0,0 +1,63 @@ +#!/bin/bash +# Posts a release announcement to the utPLSQL org .github repository's +# Announcements discussion category. +# +# Required environment variables: +# GH_TOKEN - GitHub token with write:discussion scope (ORG_DISCUSSION_TOKEN) +# RELEASE_TAG - e.g. v3.2.3 +# RELEASE_BODY - markdown release notes +# RELEASE_URL - URL of the GitHub release page + +set -euo pipefail + +ORG="utPLSQL" +REPO_NAME=".github" + +# Get org node ID +ORG_DATA=$(gh api graphql -f query='query($org: String!) { + organization(login: $org) { + id + } +}' -f org="$ORG") +ORG_ID=$(echo "$ORG_DATA" | jq -r '.data.organization.id') + +# Get repository node ID +REPO_DATA=$(gh api graphql -f query='query($owner: String!, $name: String!) { + repository(owner: $owner, name: $name) { + id + } +}' -f owner="$ORG" -f name="$REPO_NAME") +REPO_ID=$(echo "$REPO_DATA" | jq -r '.data.repository.id') + +# Get Announcements category ID +CATEGORY_DATA=$(gh api graphql -f query='query($owner: String!, $name: String!) { + repository(owner: $owner, name: $name) { + discussionCategories(first: 20) { + nodes { id name } + } + } +}' -f owner="$ORG" -f name="$REPO_NAME") +CATEGORY_ID=$(echo "$CATEGORY_DATA" | jq -r \ + '.data.repository.discussionCategories.nodes[] | select(.name == "Announcements") | .id') + +BODY="${RELEASE_BODY} + +
This discussion was created from the release ${RELEASE_TAG}." + +DISCUSSION_URL=$(gh api graphql -f query='mutation($repoId: ID!, $categoryId: ID!, $title: String!, $body: String!) { + createDiscussion(input: { + repositoryId: $repoId, + categoryId: $categoryId, + title: $title, + body: $body + }) { + discussion { url } + } +}' \ + -f repoId="$REPO_ID" \ + -f categoryId="$CATEGORY_ID" \ + -f title="utPLSQL ${RELEASE_TAG} released" \ + -f body="$BODY" \ + --jq '.data.createDiscussion.discussion.url') + +echo "Announcement posted: $DISCUSSION_URL" diff --git a/.github/scripts/update_changelog.sh b/.github/scripts/update_changelog.sh new file mode 100755 index 000000000..011c08819 --- /dev/null +++ b/.github/scripts/update_changelog.sh @@ -0,0 +1,36 @@ +#!/bin/bash +# Updates CHANGELOG.md by prepending a new section for the release. +# +# Required environment variables: +# RELEASE_TAG - e.g. v3.2.3 +# RELEASE_BODY - markdown release notes +# RELEASE_DATE - ISO-8601 date string (only the first 10 chars are used) +# TARGET_BRANCH - branch to push the updated changelog to + +set -euo pipefail + +python3 - <<'PYEOF' +import os + +tag = os.environ['RELEASE_TAG'] +body = os.environ['RELEASE_BODY'].strip() +date = os.environ['RELEASE_DATE'][:10] + +new_section = f"## [{tag}] - {date}\n\n{body}\n\n---\n\n" + +with open('CHANGELOG.md', 'r') as f: + content = f.read() + +marker = '\n---\n' +pos = content.index(marker) + len(marker) +updated = content[:pos] + '\n' + new_section + content[pos:] + +with open('CHANGELOG.md', 'w') as f: + f.write(updated) + +print(f"Added {tag} to CHANGELOG.md") +PYEOF + +git add CHANGELOG.md +git commit -m "Add release notes for ${RELEASE_TAG} to CHANGELOG.md [skip ci]" +git push origin HEAD:"${TARGET_BRANCH}" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3c490d18c..9e0cc6554 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -34,31 +34,7 @@ jobs: RELEASE_TAG: ${{ github.event.release.tag_name }} RELEASE_DATE: ${{ github.event.release.published_at }} TARGET_BRANCH: ${{ github.event.release.target_commitish }} - run: | - python3 - <<'PYEOF' - import os - - tag = os.environ['RELEASE_TAG'] - body = os.environ['RELEASE_BODY'].strip() - date = os.environ['RELEASE_DATE'][:10] - - new_section = f"## [{tag}] - {date}\n\n{body}\n\n---\n\n" - - with open('CHANGELOG.md', 'r') as f: - content = f.read() - - marker = '\n---\n' - pos = content.index(marker) + len(marker) - updated = content[:pos] + '\n' + new_section + content[pos:] - - with open('CHANGELOG.md', 'w') as f: - f.write(updated) - - print(f"Added {tag} to CHANGELOG.md") - PYEOF - git add CHANGELOG.md - git commit -m "Add release notes for ${RELEASE_TAG} to CHANGELOG.md [skip ci]" - git push origin HEAD:"${TARGET_BRANCH}" + run: .github/scripts/update_changelog.sh - name: Set build version number env variables run: .github/scripts/set_release_version_numbers_env.sh @@ -83,17 +59,17 @@ jobs: run: | git archive --prefix=utPLSQL/ -o utPLSQL.zip --format=zip HEAD git archive --prefix=utPLSQL/ -o utPLSQL.tar.gz --format=tar.gz HEAD - md5sum utPLSQL.zip --tag > utPLSQL.zip.md5 - md5sum utPLSQL.tar.gz --tag > utPLSQL.tar.gz.md5 + sha256sum utPLSQL.zip --tag > utPLSQL.zip.sha256 + sha256sum utPLSQL.tar.gz --tag > utPLSQL.tar.gz.sha256 - name: Release uses: softprops/action-gh-release@v1 with: files: | utPLSQL.zip - utPLSQL.zip.md5 + utPLSQL.zip.sha256 utPLSQL.tar.gz - utPLSQL.tar.gz.md5 + utPLSQL.tar.gz.sha256 - name: Post release announcement to org discussions env: @@ -101,42 +77,5 @@ jobs: RELEASE_TAG: ${{ github.event.release.tag_name }} RELEASE_BODY: ${{ github.event.release.body }} RELEASE_URL: ${{ github.event.release.html_url }} - run: | - ORG="utPLSQL" - - ORG_DATA=$(gh api graphql -f query='query($org: String!) { - organization(login: $org) { - id - discussionCategories(first: 20) { - nodes { id name } - } - } - }' -f org="$ORG") - - ORG_ID=$(echo "$ORG_DATA" | jq -r '.data.organization.id') - CATEGORY_ID=$(echo "$ORG_DATA" | jq -r \ - '.data.organization.discussionCategories.nodes[] | select(.name == "Announcements") | .id') - - BODY="${RELEASE_BODY} - - --- - [View full release on GitHub](${RELEASE_URL})" - - DISCUSSION_URL=$(gh api graphql -f query='mutation($orgId: ID!, $categoryId: ID!, $title: String!, $body: String!) { - createDiscussion(input: { - organizationId: $orgId, - categoryId: $categoryId, - title: $title, - body: $body - }) { - discussion { url } - } - }' \ - -f orgId="$ORG_ID" \ - -f categoryId="$CATEGORY_ID" \ - -f title="utPLSQL ${RELEASE_TAG} released" \ - -f body="$BODY" \ - --jq '.data.createDiscussion.discussion.url') - - echo "Announcement posted: $DISCUSSION_URL" + run: .github/scripts/post_release_announcement.sh diff --git a/.github/workflows/test_publishing.yml b/.github/workflows/test_publishing.yml deleted file mode 100644 index 0e0b0a622..000000000 --- a/.github/workflows/test_publishing.yml +++ /dev/null @@ -1,135 +0,0 @@ -name: TEst publishing of release announcement -on: - workflow_dispatch: - -defaults: - run: - shell: bash - -jobs: - - upload_artifacts: - name: Upload archives - concurrency: upload - runs-on: ubuntu-latest - timeout-minutes: 60 - env: - API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }} - - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - token: ${{ env.API_TOKEN_GITHUB }} - - uses: c-py/action-dotenv-to-setenv@v5 - with: - env-file: .github/variables/.env - - uses: FranzDiebold/github-env-vars-action@v2.8.0 #https://github.com/marketplace/actions/github-environment-variables-action - -# - name: Update CHANGELOG.md with release notes -# env: -# RELEASE_BODY: | -# ## This is a test of a release publishing -# * no new features added -# * no changes -# * just a release tag -# * new announcement should be created -# * changelog should be updated -# -# **Full Changelog**: https://github.com/utPLSQL/utPLSQL/compare/v3.2.2...v3.2.2-test -# RELEASE_TAG: "v3.2.2-test" -# RELEASE_DATE: "2026-06-04" -# TARGET_BRANCH: "develop" -# run: | -# python3 - <<'PYEOF' -# import os -# -# tag = os.environ['RELEASE_TAG'] -# body = os.environ['RELEASE_BODY'].strip() -# date = os.environ['RELEASE_DATE'][:10] -# -# new_section = f"## [{tag}] - {date}\n\n{body}\n\n---\n\n" -# -# with open('CHANGELOG.md', 'r') as f: -# content = f.read() -# -# marker = '\n---\n' -# pos = content.index(marker) + len(marker) -# updated = content[:pos] + '\n' + new_section + content[pos:] -# -# with open('CHANGELOG.md', 'w') as f: -# f.write(updated) -# -# print(f"Added {tag} to CHANGELOG.md") -# PYEOF -# git add CHANGELOG.md -# git commit -m "Add release notes for ${RELEASE_TAG} to CHANGELOG.md [skip ci]" -# git push origin HEAD:"${TARGET_BRANCH}" - - - name: Post release announcement to org discussions - env: - GH_TOKEN: ${{ secrets.API_TOKEN_GITHUB }} - RELEASE_TAG: "v3.2.2-test" - RELEASE_BODY: | - ## This is a test of a release publishing - * no new features added - * no changes - * just a release tag - * new announcement should be created - * changelog should be updated - - **Full Changelog**: https://github.com/utPLSQL/utPLSQL/compare/v3.2.2...v3.2.2-test - RELEASE_URL: "https://github.com/utPLSQL/utPLSQL/releases/tag/v3.2.2" - run: | - ORG="utPLSQL" - REPO_NAME=".github" - - # Get org ID - ORG_DATA=$(gh api graphql -f query='query($org: String!) { - organization(login: $org) { - id - } - }' -f org="$ORG") - ORG_ID=$(echo "$ORG_DATA" | jq -r '.data.organization.id') - - # Get repository ID - REPO_DATA=$(gh api graphql -f query='query($owner: String!, $name: String!) { - repository(owner: $owner, name: $name) { - id - } - }' -f owner="$ORG" -f name="$REPO_NAME") - REPO_ID=$(echo "$REPO_DATA" | jq -r '.data.repository.id') - - # Get category id - CATEGORY_DATA=$(gh api graphql -f query='query($owner: String!, $name: String!) { - repository(owner: $owner, name: $name) { - discussionCategories(first: 20) { - nodes { id name } - } - } - }' -f owner="$ORG" -f name="$REPO_NAME") - - CATEGORY_ID=$(echo "$CATEGORY_DATA" | jq -r \ - '.data.repository.discussionCategories.nodes[] | select(.name == "Announcements") | .id') - - BODY="${RELEASE_BODY} - -
This discussion was created from the release ${RELEASE_TAG}." - - DISCUSSION_URL=$(gh api graphql -f query='mutation($repoId: ID!, $categoryId: ID!, $title: String!, $body: String!) { - createDiscussion(input: { - repositoryId: $repoId, - categoryId: $categoryId, - title: $title, - body: $body - }) { - discussion { url } - } - }' \ - -f repoId="$REPO_ID" \ - -f categoryId="$CATEGORY_ID" \ - -f title="utPLSQL ${RELEASE_TAG} released" \ - -f body="$BODY" \ - --jq '.data.createDiscussion.discussion.url') - - echo "Announcement posted: $DISCUSSION_URL" \ No newline at end of file From 96ae186da2a19759bc292c35b4fc5a076490a3ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Thu, 4 Jun 2026 09:59:56 +0300 Subject: [PATCH 030/171] Cleanup of changelog updates. --- CHANGELOG.md | 42 ------------------------------------------ 1 file changed, 42 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9c17688f7..d304ab172 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,48 +5,6 @@ Releases are available on the [GitHub Releases page](https://github.com/utPLSQL/ --- -## [v3.2.2-test] - 2026-06-04 - -## This is a test of a release publishing - * no new features added - * no changes - * just a release tag - * new announcement should be created - * changelog should be updated - -**Full Changelog**: https://github.com/utPLSQL/utPLSQL/compare/v3.2.2...v3.2.2-test - ---- - - -## [v3.2.2-test] - 2026-06-04 - -## This is a test of a release publishing - * no new features added - * no changes - * just a release tag - * new announcement should be created - * changelog should be updated - -**Full Changelog**: https://github.com/utPLSQL/utPLSQL/compare/v3.2.2...v3.2.2-test - ---- - - -## [v3.2.2-test] - 2026-06-04 - -## This is a test of a release publishing - * no new features added - * no changes - * just a release tag - * new announcement should be created - * changelog should be updated - -**Full Changelog**: https://github.com/utPLSQL/utPLSQL/compare/v3.2.2...v3.2.2-test - ---- - - ## [v3.2.2] - 2026-05-24 ## What's Changed From 54b772b698d0c5a17033757ad7f442a223f775ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Thu, 4 Jun 2026 14:44:49 +0300 Subject: [PATCH 031/171] Fix issue with `UT_TAP_REPORTER` on Oracle 23.26 Tap reporter does not add '#' on empty lines anymore. Resolves: #1358 --- source/reporters/ut_tap_reporter.tpb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/reporters/ut_tap_reporter.tpb b/source/reporters/ut_tap_reporter.tpb index 02246b97e..c591c19f8 100644 --- a/source/reporters/ut_tap_reporter.tpb +++ b/source/reporters/ut_tap_reporter.tpb @@ -25,7 +25,7 @@ create or replace type body ut_tap_reporter is member procedure print_comment(self in out nocopy ut_tap_reporter, a_comment clob) as begin - self.print_clob(regexp_replace(a_comment, '^', '# ', 1, 0, 'm')); + self.print_clob(regexp_replace(a_comment, '^(.+)', '# \1', 1, 0, 'm')); end print_comment; member function escape_special_chars(self in out nocopy ut_tap_reporter, a_string_to_escape clob) return clob as From 4588df4035c085b9073b590e0dc818e8dfb9950c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Thu, 4 Jun 2026 16:13:23 +0300 Subject: [PATCH 032/171] Testing publishing of release announcement post --- .github/scripts/publish_release_post.sh | 63 +++++++++++++++++++++++++ .github/workflows/release.yml | 18 +++---- .github/workflows/test_publishing.yml | 52 ++++++++++++++++++++ development/releasing.md | 27 +++++------ 4 files changed, 136 insertions(+), 24 deletions(-) create mode 100644 .github/scripts/publish_release_post.sh create mode 100644 .github/workflows/test_publishing.yml diff --git a/.github/scripts/publish_release_post.sh b/.github/scripts/publish_release_post.sh new file mode 100644 index 000000000..3e4539f4a --- /dev/null +++ b/.github/scripts/publish_release_post.sh @@ -0,0 +1,63 @@ +#!/bin/bash +# Publishes a release announcement post to utplsql.github.io. +# Creates the post file, prepends an entry to docs/index.md, +# and inserts the post into the mkdocs.yml nav. +# +# Required environment variables: +# API_TOKEN_GITHUB - GitHub token with write access to utPLSQL.github.io +# RELEASE_TAG - e.g. v3.2.01 +# RELEASE_BODY - markdown release notes (from github.event.release.body) +# RELEASE_DATE - ISO-8601 publish timestamp (from github.event.release.published_at) + +set -euo pipefail + +GITHUB_IO_REPO="utPLSQL/utPLSQL.github.io" +GITHUB_IO_BRANCH="main" + +VERSION="${RELEASE_TAG#v}" +POST_DATE=$(echo "${RELEASE_DATE}" | cut -c1-10) +POST_TIME=$(echo "${RELEASE_DATE}" | sed 's/T/ /' | sed 's/Z/ +0000/') +POST_FILENAME="${POST_DATE}-version${VERSION}-released.md" +POST_TITLE="utPLSQL ${RELEASE_TAG} released" +POST_NAV_TITLE="utPLSQL ${VERSION} released" + +mkdir -p github_io +cd github_io +git clone --depth 1 "https://${API_TOKEN_GITHUB}@github.com/${GITHUB_IO_REPO}" -b "${GITHUB_IO_BRANCH}" . + +# Create the post file +cat > "docs/_posts/${POST_FILENAME}" < /tmp/index_new.md +mv /tmp/index_new.md docs/index.md + +# Insert new post into mkdocs.yml nav immediately after "- index.md" +sed -i "s| - index.md| - index.md\n - ${POST_NAV_TITLE}: _posts/${POST_FILENAME}|" mkdocs.yml + +git add "docs/_posts/${POST_FILENAME}" docs/index.md mkdocs.yml +git commit -m "Release announcement for ${RELEASE_TAG}" +git push origin "${GITHUB_IO_BRANCH}" + +echo "Release post published: docs/_posts/${POST_FILENAME}" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9e0cc6554..c4c76222c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,6 +17,11 @@ jobs: timeout-minutes: 60 env: API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }} + RELEASE_TAG: ${{ github.event.release.tag_name }} + RELEASE_BODY: ${{ github.event.release.body }} + RELEASE_DATE: ${{ github.event.release.published_at }} + RELEASE_URL: ${{ github.event.release.html_url }} + TARGET_BRANCH: ${{ github.event.release.target_commitish }} steps: - uses: actions/checkout@v4 @@ -29,11 +34,6 @@ jobs: - uses: FranzDiebold/github-env-vars-action@v2.8.0 #https://github.com/marketplace/actions/github-environment-variables-action - name: Update CHANGELOG.md with release notes - env: - RELEASE_BODY: ${{ github.event.release.body }} - RELEASE_TAG: ${{ github.event.release.tag_name }} - RELEASE_DATE: ${{ github.event.release.published_at }} - TARGET_BRANCH: ${{ github.event.release.target_commitish }} run: .github/scripts/update_changelog.sh - name: Set build version number env variables @@ -73,9 +73,9 @@ jobs: - name: Post release announcement to org discussions env: - GH_TOKEN: ${{ secrets.ORG_DISCUSSION_TOKEN }} - RELEASE_TAG: ${{ github.event.release.tag_name }} - RELEASE_BODY: ${{ github.event.release.body }} - RELEASE_URL: ${{ github.event.release.html_url }} + GH_TOKEN: ${{ secrets.GITHUB_API_TOKEN }} run: .github/scripts/post_release_announcement.sh + - name: Publish release post to utplsql.github.io + run: .github/scripts/publish_release_post.sh + diff --git a/.github/workflows/test_publishing.yml b/.github/workflows/test_publishing.yml new file mode 100644 index 000000000..bebd2f172 --- /dev/null +++ b/.github/workflows/test_publishing.yml @@ -0,0 +1,52 @@ +name: Test publishing +on: + workflow_dispatch: + +defaults: + run: + shell: bash + +jobs: + + upload_artifacts: + name: Upload archives + concurrency: upload + runs-on: ubuntu-latest + timeout-minutes: 60 + env: + API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }} + RELEASE_TAG: "v3.2.2-test" + RELEASE_BODY: | + ## This is a test of a release publishing + * no new features added + * no changes + * just a release tag + * new announcement should be created + * changelog should be updated + + **Full Changelog**: https://github.com/utPLSQL/utPLSQL/compare/v3.2.2...v3.2.2-test + RELEASE_DATE: "2026-06-04" + RELEASE_URL: "https://github.com/utPLSQL/utPLSQL/releases/tag/v3.2.2" + TARGET_BRANCH: "develop" + + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + token: ${{ env.API_TOKEN_GITHUB }} + - uses: c-py/action-dotenv-to-setenv@v5 + with: + env-file: .github/variables/.env + - uses: FranzDiebold/github-env-vars-action@v2.8.0 #https://github.com/marketplace/actions/github-environment-variables-action + +# - name: Update CHANGELOG.md with release notes +# run: .github/scripts/update_changelog.sh + + - name: Post release announcement to org discussions + env: + GH_TOKEN: ${{ secrets.GITHUB_API_TOKEN }} + run: .github/scripts/post_release_announcement.sh + + - name: Publish release post to utplsql.github.io + run: .github/scripts/publish_release_post.sh + diff --git a/development/releasing.md b/development/releasing.md index ac2091632..99c3f7114 100644 --- a/development/releasing.md +++ b/development/releasing.md @@ -1,6 +1,6 @@ -## Release process +# Release process -To create a release follow the below steps +To create a release, follow the below steps. ## Release preparation - Create a **draft** of a Release with a new tag number `vX.Y.X` sourced from the `develop` branch on [github releases page](https://github.com/utPLSQL/utPLSQL/releases) @@ -10,19 +10,16 @@ To create a release follow the below steps ## Performing a release - Publish [the previously prepared](#release-preparation) release draft. - - Wait for the [Github Actions `Release`](https://github.com/utPLSQL/utPLSQL/actions/workflows/release.yml) process to complete successfully. The process will upload release artifacts (`zip` and `tar.gz` files along with `md5`) - - After Release build was completed successfully, merge the `develop` branch into `main` branch. At this point, main branch and release tag should be at the same commit version and artifacts should be uploaded into Github release. - - Increase the version number in the `VERSION` file on `develop` branch to open start next release version. - - Clone `utplsql.githug.io` project and: - - Add a new announcement about next version being released in `docs/_posts`. Use previous announcements as a template. Make sure to set date, time and post title properly. - - Add the post to list in `mkdocs.yml` file in root directory of that repository. - - Add the link to the post at the beginning of the `docs/index.md` file. - - Send the announcement on Twitter(X) accoiunt abut utPLSQL release. - -The following will happen: - - When a Github release is published, a new tag is added in on the repository and a release build is executed - - With Release action, the documentation for new release is published on `utplsql.github.io` and installation archives are added to the release. + - Wait for the [Github Actions `Release`](https://github.com/utPLSQL/utPLSQL/actions/workflows/release.yml) process to complete successfully. The process will do the following: + - create a new tag + - generate html documentation to be included in the release file. + - publish documentation for the new version into utPLSQL site + - upload release artifacts (`zip` and `tar.gz` files along with `sha256` files) + - update the CHANGELOG.md file with the release details + - publish an announcement about the release in the utPLSQL Organization Discussions + - publish a release post on utplsql.github.io (new post in `docs/_posts`, updated `mkdocs.yml` nav and `docs/index.md`) + - After the release process is finished, manually increase the version number in the `VERSION` file on `develop` branch to start the next release version. + - Send an announcement about the release on:Twitter(X), BlueSky, LinkedIn account about the utPLSQL release. # Note: -The utPLSQL installation files are uploaded by the release build process as release artifacts (separate `zip` and `tar.gz` files). The release artifacts include HTML documentation generated from MD files, sources and tests From e3d45742abc00b9b77b7013ed74f55055facbf79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Thu, 4 Jun 2026 16:22:01 +0300 Subject: [PATCH 033/171] Testing publishing of release announcement post --- .github/workflows/test_publishing.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_publishing.yml b/.github/workflows/test_publishing.yml index bebd2f172..1f6cd6809 100644 --- a/.github/workflows/test_publishing.yml +++ b/.github/workflows/test_publishing.yml @@ -44,7 +44,7 @@ jobs: - name: Post release announcement to org discussions env: - GH_TOKEN: ${{ secrets.GITHUB_API_TOKEN }} + GH_TOKEN: ${{ secrets.API_TOKEN_GITHUB }} run: .github/scripts/post_release_announcement.sh - name: Publish release post to utplsql.github.io From f4cb121fd8cd1859b1a7971f13c586790ff5c3b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Thu, 4 Jun 2026 16:27:18 +0300 Subject: [PATCH 034/171] Testing publishing of release announcement post --- .github/workflows/test_publishing.yml | 28 +++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/workflows/test_publishing.yml b/.github/workflows/test_publishing.yml index 1f6cd6809..405a428f9 100644 --- a/.github/workflows/test_publishing.yml +++ b/.github/workflows/test_publishing.yml @@ -15,17 +15,17 @@ jobs: timeout-minutes: 60 env: API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }} - RELEASE_TAG: "v3.2.2-test" + RELEASE_TAG: "v3.2.2" RELEASE_BODY: | - ## This is a test of a release publishing - * no new features added - * no changes - * just a release tag - * new announcement should be created - * changelog should be updated - - **Full Changelog**: https://github.com/utPLSQL/utPLSQL/compare/v3.2.2...v3.2.2-test - RELEASE_DATE: "2026-06-04" + ## What's Changed + * Filtering by tags fixed for schemas containing suite-paths and contexts by @jgebal in https://github.com/utPLSQL/utPLSQL/pull/1325 + * Fixed issue with reporter failing to initialize by @jgebal in https://github.com/utPLSQL/utPLSQL/pull/1354 + * Fixed issue with duplicate sources from dba_source by @jgebal in https://github.com/utPLSQL/utPLSQL/pull/1355 + * Allow HTML coverage on FIPS-enabled DB by @jgebal in https://github.com/utPLSQL/utPLSQL/pull/1356 + + + **Full Changelog**: https://github.com/utPLSQL/utPLSQL/compare/v3.2.01...v3.2.2 + RELEASE_DATE: "2026-05-24 10:48:22" RELEASE_URL: "https://github.com/utPLSQL/utPLSQL/releases/tag/v3.2.2" TARGET_BRANCH: "develop" @@ -42,10 +42,10 @@ jobs: # - name: Update CHANGELOG.md with release notes # run: .github/scripts/update_changelog.sh - - name: Post release announcement to org discussions - env: - GH_TOKEN: ${{ secrets.API_TOKEN_GITHUB }} - run: .github/scripts/post_release_announcement.sh +# - name: Post release announcement to org discussions +# env: +# GH_TOKEN: ${{ secrets.API_TOKEN_GITHUB }} +# run: .github/scripts/post_release_announcement.sh - name: Publish release post to utplsql.github.io run: .github/scripts/publish_release_post.sh From cd44e88b9d43a14f604d3ae851006598216ebfaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Thu, 4 Jun 2026 16:28:24 +0300 Subject: [PATCH 035/171] Testing publishing of release announcement post --- .github/scripts/publish_release_post.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 .github/scripts/publish_release_post.sh diff --git a/.github/scripts/publish_release_post.sh b/.github/scripts/publish_release_post.sh old mode 100644 new mode 100755 From 41f887d8f439294dad7f206067710807416b5ee6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Thu, 4 Jun 2026 16:36:33 +0300 Subject: [PATCH 036/171] Update of publishing of release announcement post --- .github/scripts/publish_release_post.sh | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/.github/scripts/publish_release_post.sh b/.github/scripts/publish_release_post.sh index 3e4539f4a..53faf1ce2 100755 --- a/.github/scripts/publish_release_post.sh +++ b/.github/scripts/publish_release_post.sh @@ -25,6 +25,17 @@ mkdir -p github_io cd github_io git clone --depth 1 "https://${API_TOKEN_GITHUB}@github.com/${GITHUB_IO_REPO}" -b "${GITHUB_IO_BRANCH}" . +# Format the release body for the post: +# 1. Convert bare GitHub issue/PR URLs to [#NUMBER](URL) +# e.g. https://github.com/utPLSQL/utPLSQL/pull/1320 +# -> [#1320](https://github.com/utPLSQL/utPLSQL/pull/1320) +# 2. Convert the auto-generated "Full Changelog" bare URL to a labelled link +# e.g. **Full Changelog**: https://.../compare/v3.2.01...v3.2.2 +# -> **Full Changelog**: [v3.2.01...v3.2.2](https://.../compare/v3.2.01...v3.2.2) +FORMATTED_BODY=$(echo "${RELEASE_BODY}" \ + | sed -E 's|https://github\.com/([^/]+)/([^/]+)/(pull|issues)/([0-9]+)|[#\4](https://github.com/\1/\2/\3/\4)|g' \ + | sed -E 's|\*\*Full Changelog\*\*: (https://[^ ]+/compare/([^ ]+))|\*\*Full Changelog\*\*: [\2](\1)|g') + # Create the post file cat > "docs/_posts/${POST_FILENAME}" < Date: Thu, 4 Jun 2026 14:45:05 +0100 Subject: [PATCH 037/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/about/authors.md | 2 +- docs/about/license.md | 2 +- docs/about/project-details.md | 2 +- docs/about/support.md | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index dd37b7287..4d3b908c9 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4414 +4445 diff --git a/docs/about/authors.md b/docs/about/authors.md index 687c6cfaa..050d0f379 100644 --- a/docs/about/authors.md +++ b/docs/about/authors.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4414--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4445--develop-blue.svg) ### utPLSQL v3 Major Contributors diff --git a/docs/about/license.md b/docs/about/license.md index 6567b5db7..a75165ec2 100644 --- a/docs/about/license.md +++ b/docs/about/license.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4414--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4445--develop-blue.svg) # Version Information diff --git a/docs/about/project-details.md b/docs/about/project-details.md index df666731f..099e8ec49 100644 --- a/docs/about/project-details.md +++ b/docs/about/project-details.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4414--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4445--develop-blue.svg) # utPLSQL Project Details diff --git a/docs/about/support.md b/docs/about/support.md index f27ee0c1e..9c7fc6960 100644 --- a/docs/about/support.md +++ b/docs/about/support.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4414--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4445--develop-blue.svg) # How to get support diff --git a/docs/index.md b/docs/index.md index 6ae326c1c..22874c15b 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4414--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4445--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index 76d90bc30..d24d2c7b9 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4414--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4445--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index fd51fec8f..d0fa59ac2 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4414--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4445--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index c9f08eab5..76519cc43 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4414--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4445--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index 03cb8bfd3..30e37aa15 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4414--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4445--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index 1e892215d..57c8b02a5 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4414--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4445--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index c51e6c99c..c6b1cf9d0 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4414--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4445--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index a722f8ac7..31410af07 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4414--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4445--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index 615883720..fde4541f4 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4414--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4445--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index 167fba1b4..f404292d8 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4414--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4445--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index 807fa537f..9eabac070 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4414--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4445--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index 606a5ef97..1cc34b62e 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4414--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4445--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index a49118fbd..85172bd58 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4414--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4445--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 092c25583..0ec316d07 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.01.4414-develop'; + gc_version constant varchar2(50) := 'v3.2.01.4445-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From 7469ede71858e83ab3f6941188985ba0a276d616 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Thu, 4 Jun 2026 16:46:15 +0300 Subject: [PATCH 038/171] Update of publishing of release announcement post --- .github/scripts/publish_release_post.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/scripts/publish_release_post.sh b/.github/scripts/publish_release_post.sh index 53faf1ce2..89438738c 100755 --- a/.github/scripts/publish_release_post.sh +++ b/.github/scripts/publish_release_post.sh @@ -33,8 +33,8 @@ git clone --depth 1 "https://${API_TOKEN_GITHUB}@github.com/${GITHUB_IO_REPO}" - # e.g. **Full Changelog**: https://.../compare/v3.2.01...v3.2.2 # -> **Full Changelog**: [v3.2.01...v3.2.2](https://.../compare/v3.2.01...v3.2.2) FORMATTED_BODY=$(echo "${RELEASE_BODY}" \ - | sed -E 's|https://github\.com/([^/]+)/([^/]+)/(pull|issues)/([0-9]+)|[#\4](https://github.com/\1/\2/\3/\4)|g' \ - | sed -E 's|\*\*Full Changelog\*\*: (https://[^ ]+/compare/([^ ]+))|\*\*Full Changelog\*\*: [\2](\1)|g') + | sed -E 's@https://github\.com/([^/]+)/([^/]+)/(pull|issues)/([0-9]+)@[#\4](https://github.com/\1/\2/\3/\4)@g' \ + | sed -E 's@\*\*Full Changelog\*\*: (https://[^ ]+/compare/([^ ]+))@\*\*Full Changelog\*\*: [\2](\1)@g') # Create the post file cat > "docs/_posts/${POST_FILENAME}" < Date: Thu, 4 Jun 2026 16:50:45 +0300 Subject: [PATCH 039/171] Disable the test workflow --- .github/workflows/test_publishing.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test_publishing.yml b/.github/workflows/test_publishing.yml index 405a428f9..0aac3805b 100644 --- a/.github/workflows/test_publishing.yml +++ b/.github/workflows/test_publishing.yml @@ -47,6 +47,6 @@ jobs: # GH_TOKEN: ${{ secrets.API_TOKEN_GITHUB }} # run: .github/scripts/post_release_announcement.sh - - name: Publish release post to utplsql.github.io - run: .github/scripts/publish_release_post.sh +# - name: Publish release post to utplsql.github.io +# run: .github/scripts/publish_release_post.sh From 6e2d8743ba485da6fb9906650100cfd8545663bd Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 4 Jun 2026 14:58:27 +0100 Subject: [PATCH 040/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/about/authors.md | 2 +- docs/about/license.md | 2 +- docs/about/project-details.md | 2 +- docs/about/support.md | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index 4d3b908c9..17151eb01 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4445 +4447 diff --git a/docs/about/authors.md b/docs/about/authors.md index 050d0f379..812b0c6c1 100644 --- a/docs/about/authors.md +++ b/docs/about/authors.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4445--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4447--develop-blue.svg) ### utPLSQL v3 Major Contributors diff --git a/docs/about/license.md b/docs/about/license.md index a75165ec2..76f712192 100644 --- a/docs/about/license.md +++ b/docs/about/license.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4445--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4447--develop-blue.svg) # Version Information diff --git a/docs/about/project-details.md b/docs/about/project-details.md index 099e8ec49..bb6dd6380 100644 --- a/docs/about/project-details.md +++ b/docs/about/project-details.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4445--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4447--develop-blue.svg) # utPLSQL Project Details diff --git a/docs/about/support.md b/docs/about/support.md index 9c7fc6960..576fbf445 100644 --- a/docs/about/support.md +++ b/docs/about/support.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4445--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4447--develop-blue.svg) # How to get support diff --git a/docs/index.md b/docs/index.md index 22874c15b..2307868ba 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4445--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4447--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index d24d2c7b9..010ceb7d2 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4445--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4447--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index d0fa59ac2..af36ac0ae 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4445--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4447--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index 76519cc43..f9b363977 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4445--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4447--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index 30e37aa15..329528134 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4445--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4447--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index 57c8b02a5..67a15719b 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4445--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4447--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index c6b1cf9d0..99a4958d6 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4445--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4447--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index 31410af07..446571936 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4445--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4447--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index fde4541f4..48513cbb6 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4445--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4447--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index f404292d8..a6c8d37b4 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4445--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4447--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index 9eabac070..3752137cd 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4445--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4447--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index 1cc34b62e..f5efb4298 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4445--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4447--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index 85172bd58..4ca5ec270 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4445--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4447--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 0ec316d07..7cffd26e8 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.01.4445-develop'; + gc_version constant varchar2(50) := 'v3.2.01.4447-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From 674bfbe3f86c90a5d267ae676ba2c9bfdb0dcfa5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Sun, 7 Jun 2026 12:00:32 +0300 Subject: [PATCH 041/171] Fixed support for camelCase in context `--%name` annotation. Resolves: #1317 --- source/core/ut_suite_builder.pkb | 2 +- test/ut3_tester/core/test_suite_builder.pkb | 48 +++++++++++++++++++++ test/ut3_tester/core/test_suite_builder.pks | 5 ++- 3 files changed, 53 insertions(+), 2 deletions(-) diff --git a/source/core/ut_suite_builder.pkb b/source/core/ut_suite_builder.pkb index 2ebdb980c..c403c29d8 100644 --- a/source/core/ut_suite_builder.pkb +++ b/source/core/ut_suite_builder.pkb @@ -754,7 +754,7 @@ create or replace package body ut_suite_builder is l_used_context_names(l_context_name) := true; l_context := ut_suite_context(a_parent.object_owner, a_parent.object_name, l_context_name, l_context_pos ); - l_context.path := a_parent.path||'.'||l_context_name; + l_context.path := a_parent.path||'.'||l_context.name; l_context.description := coalesce( a_annotations.by_line( l_context_pos ).text, l_context_name ); l_context.parse_time := a_annotations.parse_time; diff --git a/test/ut3_tester/core/test_suite_builder.pkb b/test/ut3_tester/core/test_suite_builder.pkb index 570d86a0d..9a86772c7 100644 --- a/test/ut3_tester/core/test_suite_builder.pkb +++ b/test/ut3_tester/core/test_suite_builder.pkb @@ -1370,6 +1370,54 @@ create or replace package body test_suite_builder is ); end; + procedure context_name_case_insensitive is + l_actual clob; + l_annotations ut3_develop.ut_annotations; + begin + --Arrange + l_annotations := ut3_develop.ut_annotations( + ut3_develop.ut_annotation(1, 'suite','Cool', null), + ut3_develop.ut_annotation(2, 'beforeall',null, 'suite_level_beforeall'), + ut3_develop.ut_annotation(3, 'test','In suite', 'suite_level_test'), + ut3_develop.ut_annotation(4, 'context','A context', null), + ut3_develop.ut_annotation(5, 'name','a_Context', null), + ut3_develop.ut_annotation(6, 'beforeall',null, 'context_setup'), + ut3_develop.ut_annotation(7, 'test', 'In context', 'test_in_a_context'), + ut3_develop.ut_annotation(8, 'endcontext',null, null) + ); + --Act + l_actual := invoke_builder_for_annotations(l_annotations, 'SOME_PACKAGE'); + --Assert + ut.expect(l_actual).to_be_like( + ''|| + '' || + '%' || + '%' || + '' || + '%suite_level_testIn suitesome_package.suite_level_test' || + '%' || + '' || + '%a_contextA contextsome_package.a_context' || + '%' || + '' || + '%test_in_a_contextIn contextsome_package.a_context.test_in_a_context' || + '%' || + '' || + '' || + '%some_packagecontext_setup' || + '%' || + '' || + '' || + '' || + '' || + '%some_packagesuite_level_beforeall' || + '%' || + '' || + ''|| + '' + ); + end; + procedure throws_value_empty is l_actual clob; l_annotations ut3_develop.ut_annotations; diff --git a/test/ut3_tester/core/test_suite_builder.pks b/test/ut3_tester/core/test_suite_builder.pks index 4cbfcad74..09ff3c0b3 100644 --- a/test/ut3_tester/core/test_suite_builder.pks +++ b/test/ut3_tester/core/test_suite_builder.pks @@ -142,7 +142,7 @@ create or replace package test_suite_builder is --%test(Falls back to default context name and gives warning when name contains spaces) procedure name_with_spaces_invalid; - --%test(Raises warning when more than one name annotation used ) + --%test(Raises warning when more than one name annotation used) procedure duplicate_name_annotation; --%test(Is ignored when used outside of context - no warning given) @@ -154,6 +154,9 @@ create or replace package test_suite_builder is --%test(Is applied to corresponding context when multiple contexts used) procedure multiple_contexts; + --%test(Context name is case insensitive) + procedure context_name_case_insensitive; + --%endcontext --%context(--%throws annotation) From f3bfcae13396db4840acf951230586dcbed41321 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Sun, 7 Jun 2026 12:33:55 +0300 Subject: [PATCH 042/171] utPLSQL can be installed in editioned schema. All utPLSQL objects are now explicitly defined as non-editionable. The framework can be installed into editioned schema without issues. Resolves: #1161 --- .github/scripts/create_test_users.sh | 6 ++++++ .github/scripts/install.sh | 10 ++++++++++ source/api/ut.pkb | 2 +- source/api/ut.pks | 2 +- source/api/ut_runner.pkb | 2 +- source/api/ut_runner.pks | 2 +- source/api/ut_suite_item_info.tpb | 2 +- source/api/ut_suite_item_info.tps | 2 +- source/api/ut_suite_items_info.tps | 2 +- source/core/annotations/ut_annotated_object.tps | 2 +- source/core/annotations/ut_annotated_objects.tps | 2 +- source/core/annotations/ut_annotation.tps | 2 +- .../core/annotations/ut_annotation_cache_manager.pkb | 2 +- .../core/annotations/ut_annotation_cache_manager.pks | 2 +- source/core/annotations/ut_annotation_manager.pkb | 2 +- source/core/annotations/ut_annotation_manager.pks | 2 +- .../core/annotations/ut_annotation_obj_cache_info.tps | 2 +- .../core/annotations/ut_annotation_objs_cache_info.tps | 2 +- source/core/annotations/ut_annotation_parser.pkb | 2 +- source/core/annotations/ut_annotation_parser.pks | 2 +- source/core/annotations/ut_annotations.tps | 2 +- source/core/annotations/ut_trigger_check.pkb | 2 +- source/core/annotations/ut_trigger_check.pks | 2 +- source/core/coverage/ut_coverage.pkb | 2 +- source/core/coverage/ut_coverage.pks | 2 +- source/core/coverage/ut_coverage_block.pkb | 2 +- source/core/coverage/ut_coverage_block.pks | 2 +- source/core/coverage/ut_coverage_helper.pkb | 2 +- source/core/coverage/ut_coverage_helper.pks | 2 +- source/core/coverage/ut_coverage_helper_block.pkb | 2 +- source/core/coverage/ut_coverage_helper_block.pks | 2 +- source/core/coverage/ut_coverage_helper_profiler.pkb | 2 +- source/core/coverage/ut_coverage_helper_profiler.pks | 2 +- source/core/coverage/ut_coverage_profiler.pkb | 2 +- source/core/coverage/ut_coverage_profiler.pks | 2 +- source/core/coverage/ut_coverage_reporter_base.tpb | 2 +- source/core/coverage/ut_coverage_reporter_base.tps | 2 +- source/core/events/ut_event_item.tps | 2 +- source/core/events/ut_event_listener.tps | 2 +- source/core/events/ut_event_manager.pkb | 2 +- source/core/events/ut_event_manager.pks | 2 +- source/core/output_buffers/ut_output_buffer_base.tpb | 2 +- source/core/output_buffers/ut_output_buffer_base.tps | 2 +- source/core/output_buffers/ut_output_bulk_buffer.tpb | 2 +- source/core/output_buffers/ut_output_bulk_buffer.tps | 2 +- .../output_buffers/ut_output_clob_table_buffer.tpb | 2 +- .../output_buffers/ut_output_clob_table_buffer.tps | 2 +- source/core/output_buffers/ut_output_data_row.tps | 2 +- source/core/output_buffers/ut_output_data_rows.tps | 2 +- source/core/output_buffers/ut_output_table_buffer.tpb | 2 +- source/core/output_buffers/ut_output_table_buffer.tps | 2 +- source/core/session_context/ut_session_context.pkb | 2 +- source/core/session_context/ut_session_context.pks | 2 +- source/core/session_context/ut_session_info.tpb | 2 +- source/core/session_context/ut_session_info.tps | 2 +- source/core/types/ut_console_reporter_base.tpb | 2 +- source/core/types/ut_console_reporter_base.tps | 2 +- source/core/types/ut_coverage_options.tpb | 2 +- source/core/types/ut_coverage_options.tps | 2 +- source/core/types/ut_executable.tpb | 2 +- source/core/types/ut_executable.tps | 2 +- source/core/types/ut_executable_test.tpb | 2 +- source/core/types/ut_executable_test.tps | 2 +- source/core/types/ut_executables.tps | 2 +- source/core/types/ut_expectation_result.tpb | 2 +- source/core/types/ut_expectation_result.tps | 2 +- source/core/types/ut_expectation_results.tps | 2 +- source/core/types/ut_file_mapping.tpb | 2 +- source/core/types/ut_file_mapping.tps | 2 +- source/core/types/ut_file_mappings.tps | 2 +- source/core/types/ut_integer_list.tps | 2 +- source/core/types/ut_key_value_pair.tps | 2 +- source/core/types/ut_key_value_pairs.tps | 2 +- source/core/types/ut_logical_suite.tpb | 2 +- source/core/types/ut_logical_suite.tps | 2 +- source/core/types/ut_object_name.tpb | 2 +- source/core/types/ut_object_name.tps | 2 +- source/core/types/ut_object_names.tps | 2 +- source/core/types/ut_output_reporter_base.tpb | 2 +- source/core/types/ut_output_reporter_base.tps | 2 +- source/core/types/ut_path_item.tpb | 2 +- source/core/types/ut_path_item.tps | 2 +- source/core/types/ut_path_items.tps | 2 +- source/core/types/ut_reporter_base.tpb | 2 +- source/core/types/ut_reporter_base.tps | 2 +- source/core/types/ut_reporter_info.tps | 2 +- source/core/types/ut_reporters.tps | 2 +- source/core/types/ut_reporters_info.tps | 2 +- source/core/types/ut_results_counter.tpb | 2 +- source/core/types/ut_results_counter.tps | 2 +- source/core/types/ut_run.tpb | 2 +- source/core/types/ut_run.tps | 2 +- source/core/types/ut_run_info.tpb | 2 +- source/core/types/ut_run_info.tps | 2 +- source/core/types/ut_stack.tpb | 2 +- source/core/types/ut_stack.tps | 2 +- source/core/types/ut_suite.tpb | 2 +- source/core/types/ut_suite.tps | 2 +- source/core/types/ut_suite_cache_row.tps | 2 +- source/core/types/ut_suite_cache_rows.tps | 2 +- source/core/types/ut_suite_context.tpb | 2 +- source/core/types/ut_suite_context.tps | 2 +- source/core/types/ut_suite_item.tpb | 2 +- source/core/types/ut_suite_item.tps | 2 +- source/core/types/ut_suite_items.tps | 2 +- source/core/types/ut_test.tpb | 2 +- source/core/types/ut_test.tps | 2 +- source/core/types/ut_varchar2_list.tps | 2 +- source/core/types/ut_varchar2_rows.tps | 2 +- source/core/ut_expectation_processor.pkb | 2 +- source/core/ut_expectation_processor.pks | 2 +- source/core/ut_file_mapper.pkb | 2 +- source/core/ut_file_mapper.pks | 2 +- source/core/ut_metadata.pkb | 2 +- source/core/ut_metadata.pks | 2 +- source/core/ut_suite_builder.pkb | 2 +- source/core/ut_suite_builder.pks | 2 +- source/core/ut_suite_cache_manager.pkb | 2 +- source/core/ut_suite_cache_manager.pks | 2 +- source/core/ut_suite_manager.pkb | 2 +- source/core/ut_suite_manager.pks | 2 +- source/core/ut_suite_tag_filter.pkb | 2 +- source/core/ut_suite_tag_filter.pks | 2 +- source/core/ut_utils.pkb | 2 +- source/core/ut_utils.pks | 2 +- .../data_values/ut_compound_data_helper.pkb | 2 +- .../data_values/ut_compound_data_helper.pks | 2 +- .../data_values/ut_compound_data_value.tpb | 2 +- .../data_values/ut_compound_data_value.tps | 2 +- source/expectations/data_values/ut_cursor_column.tpb | 2 +- source/expectations/data_values/ut_cursor_column.tps | 2 +- .../expectations/data_values/ut_cursor_column_tab.tps | 2 +- source/expectations/data_values/ut_cursor_details.tpb | 2 +- source/expectations/data_values/ut_cursor_details.tps | 2 +- source/expectations/data_values/ut_data_value.tpb | 2 +- source/expectations/data_values/ut_data_value.tps | 2 +- .../expectations/data_values/ut_data_value_anydata.tpb | 2 +- .../expectations/data_values/ut_data_value_anydata.tps | 2 +- source/expectations/data_values/ut_data_value_blob.tpb | 2 +- source/expectations/data_values/ut_data_value_blob.tps | 2 +- .../expectations/data_values/ut_data_value_boolean.tpb | 2 +- .../expectations/data_values/ut_data_value_boolean.tps | 2 +- source/expectations/data_values/ut_data_value_clob.tpb | 2 +- source/expectations/data_values/ut_data_value_clob.tps | 2 +- source/expectations/data_values/ut_data_value_date.tpb | 2 +- source/expectations/data_values/ut_data_value_date.tps | 2 +- .../data_values/ut_data_value_dsinterval.tpb | 2 +- .../data_values/ut_data_value_dsinterval.tps | 2 +- source/expectations/data_values/ut_data_value_json.tpb | 2 +- source/expectations/data_values/ut_data_value_json.tps | 2 +- .../expectations/data_values/ut_data_value_number.tpb | 2 +- .../expectations/data_values/ut_data_value_number.tps | 2 +- .../data_values/ut_data_value_refcursor.tpb | 2 +- .../data_values/ut_data_value_refcursor.tps | 2 +- .../data_values/ut_data_value_timestamp.tpb | 2 +- .../data_values/ut_data_value_timestamp.tps | 2 +- .../data_values/ut_data_value_timestamp_ltz.tpb | 2 +- .../data_values/ut_data_value_timestamp_ltz.tps | 2 +- .../data_values/ut_data_value_timestamp_tz.tpb | 2 +- .../data_values/ut_data_value_timestamp_tz.tps | 2 +- .../data_values/ut_data_value_varchar2.tpb | 2 +- .../data_values/ut_data_value_varchar2.tps | 2 +- .../expectations/data_values/ut_data_value_xmltype.tpb | 2 +- .../expectations/data_values/ut_data_value_xmltype.tps | 2 +- .../data_values/ut_data_value_yminterval.tpb | 2 +- .../data_values/ut_data_value_yminterval.tps | 2 +- source/expectations/data_values/ut_json_leaf.tpb | 2 +- source/expectations/data_values/ut_json_leaf.tps | 2 +- source/expectations/data_values/ut_json_leaf_tab.tps | 2 +- .../expectations/data_values/ut_json_tree_details.tpb | 2 +- .../expectations/data_values/ut_json_tree_details.tps | 2 +- source/expectations/data_values/ut_key_anyval_pair.tps | 2 +- .../expectations/data_values/ut_key_anyval_pairs.tps | 2 +- source/expectations/data_values/ut_key_anyvalues.tpb | 2 +- source/expectations/data_values/ut_key_anyvalues.tps | 2 +- source/expectations/json_objects_specs.sql | 10 +++++----- source/expectations/matchers/ut_be_between.tpb | 2 +- source/expectations/matchers/ut_be_between.tps | 2 +- source/expectations/matchers/ut_be_empty.tpb | 2 +- source/expectations/matchers/ut_be_empty.tps | 2 +- source/expectations/matchers/ut_be_false.tpb | 2 +- source/expectations/matchers/ut_be_false.tps | 2 +- .../expectations/matchers/ut_be_greater_or_equal.tpb | 2 +- .../expectations/matchers/ut_be_greater_or_equal.tps | 2 +- source/expectations/matchers/ut_be_greater_than.tpb | 2 +- source/expectations/matchers/ut_be_greater_than.tps | 2 +- source/expectations/matchers/ut_be_less_or_equal.tpb | 2 +- source/expectations/matchers/ut_be_less_or_equal.tps | 2 +- source/expectations/matchers/ut_be_less_than.tpb | 2 +- source/expectations/matchers/ut_be_less_than.tps | 2 +- source/expectations/matchers/ut_be_like.tpb | 2 +- source/expectations/matchers/ut_be_like.tps | 2 +- source/expectations/matchers/ut_be_not_null.tpb | 2 +- source/expectations/matchers/ut_be_not_null.tps | 2 +- source/expectations/matchers/ut_be_null.tpb | 2 +- source/expectations/matchers/ut_be_null.tps | 2 +- source/expectations/matchers/ut_be_true.tpb | 2 +- source/expectations/matchers/ut_be_true.tps | 2 +- source/expectations/matchers/ut_be_within.tpb | 2 +- source/expectations/matchers/ut_be_within.tps | 2 +- source/expectations/matchers/ut_be_within_helper.pkb | 2 +- source/expectations/matchers/ut_be_within_helper.pks | 2 +- source/expectations/matchers/ut_be_within_pct.tpb | 2 +- source/expectations/matchers/ut_be_within_pct.tps | 2 +- source/expectations/matchers/ut_comparison_matcher.tpb | 2 +- source/expectations/matchers/ut_comparison_matcher.tps | 2 +- source/expectations/matchers/ut_contain.tpb | 2 +- source/expectations/matchers/ut_contain.tps | 2 +- source/expectations/matchers/ut_equal.tpb | 2 +- source/expectations/matchers/ut_equal.tps | 2 +- source/expectations/matchers/ut_have_count.tpb | 2 +- source/expectations/matchers/ut_have_count.tps | 2 +- source/expectations/matchers/ut_match.tpb | 2 +- source/expectations/matchers/ut_match.tps | 2 +- source/expectations/matchers/ut_matcher.tpb | 2 +- source/expectations/matchers/ut_matcher.tps | 2 +- source/expectations/matchers/ut_matcher_base.tps | 2 +- source/expectations/matchers/ut_matcher_options.tpb | 2 +- source/expectations/matchers/ut_matcher_options.tps | 2 +- .../expectations/matchers/ut_matcher_options_items.tpb | 2 +- .../expectations/matchers/ut_matcher_options_items.tps | 2 +- source/expectations/ut_expectation.tpb | 2 +- source/expectations/ut_expectation.tps | 2 +- source/expectations/ut_expectation_base.tpb | 2 +- source/expectations/ut_expectation_base.tps | 2 +- source/expectations/ut_expectation_compound.tpb | 2 +- source/expectations/ut_expectation_compound.tps | 2 +- source/expectations/ut_expectation_json.tpb | 2 +- source/expectations/ut_expectation_json.tps | 2 +- source/reporters/ut_ansiconsole_helper.pkb | 2 +- source/reporters/ut_ansiconsole_helper.pks | 2 +- source/reporters/ut_coverage_cobertura_reporter.tpb | 2 +- source/reporters/ut_coverage_cobertura_reporter.tps | 2 +- source/reporters/ut_coverage_html_reporter.tpb | 2 +- source/reporters/ut_coverage_html_reporter.tps | 2 +- source/reporters/ut_coverage_report_html_helper.pkb | 2 +- source/reporters/ut_coverage_report_html_helper.pks | 2 +- source/reporters/ut_coverage_sonar_reporter.tpb | 2 +- source/reporters/ut_coverage_sonar_reporter.tps | 2 +- source/reporters/ut_coveralls_reporter.tpb | 2 +- source/reporters/ut_coveralls_reporter.tps | 2 +- source/reporters/ut_debug_reporter.tpb | 2 +- source/reporters/ut_debug_reporter.tps | 2 +- source/reporters/ut_documentation_reporter.tpb | 2 +- source/reporters/ut_documentation_reporter.tps | 2 +- source/reporters/ut_junit_reporter.tpb | 2 +- source/reporters/ut_junit_reporter.tps | 2 +- source/reporters/ut_realtime_reporter.tpb | 2 +- source/reporters/ut_realtime_reporter.tps | 2 +- source/reporters/ut_sonar_test_reporter.tpb | 2 +- source/reporters/ut_sonar_test_reporter.tps | 2 +- source/reporters/ut_tap_reporter.tpb | 2 +- source/reporters/ut_tap_reporter.tps | 2 +- source/reporters/ut_teamcity_reporter.tpb | 2 +- source/reporters/ut_teamcity_reporter.tps | 2 +- source/reporters/ut_teamcity_reporter_helper.pkb | 2 +- source/reporters/ut_teamcity_reporter_helper.pks | 2 +- source/reporters/ut_tfs_junit_reporter.tpb | 2 +- source/reporters/ut_tfs_junit_reporter.tps | 2 +- source/reporters/ut_xunit_reporter.tpb | 2 +- source/reporters/ut_xunit_reporter.tps | 2 +- 261 files changed, 279 insertions(+), 263 deletions(-) diff --git a/.github/scripts/create_test_users.sh b/.github/scripts/create_test_users.sh index fff44f1bd..6c3030206 100755 --- a/.github/scripts/create_test_users.sh +++ b/.github/scripts/create_test_users.sh @@ -18,6 +18,9 @@ PROMPT Creating UT3_TESTER - Power-user for testing internal framework code create user UT3_TESTER identified by "ut3" default tablespace $UT3_TABLESPACE quota unlimited on $UT3_TABLESPACE; grant create session, create procedure, create type, create table to UT3_TESTER; +# Editioning is enable on test users to validate that utPLSQL works well with editioned schema +alter user UT3_TESTER enable editions; + grant execute on dbms_lock to UT3_TESTER; PROMPT Granting $UT3_DEVELOP_SCHEMA code to UT3_TESTER @@ -52,6 +55,9 @@ PROMPT Creating UT3_USER - minimal privileges user for API testing create user UT3_USER identified by "ut3" default tablespace $UT3_TABLESPACE quota unlimited on $UT3_TABLESPACE; grant create session, create procedure, create type, create table to UT3_USER; +# Editioning is enable on test users to validate that utPLSQL works well with editioned schema +alter user UT3_USER enable editions; + PROMPT Grants for starting a debugging session from UT3_USER grant debug connect session to UT3_USER; grant debug any procedure to UT3_USER; diff --git a/.github/scripts/install.sh b/.github/scripts/install.sh index 46750b89c..5f034951c 100755 --- a/.github/scripts/install.sh +++ b/.github/scripts/install.sh @@ -19,3 +19,13 @@ set verify off alter session set plsql_optimize_level=0; @${INSTALL_FILE} $UT3_DEVELOP_SCHEMA $UT3_DEVELOP_SCHEMA_PASSWORD SQL + +#Enable editioning on the UT3_DEVELOP schema +time "$SQLCLI" sys/$ORACLE_PWD@//$CONNECTION_STR AS SYSDBA <<-SQL +whenever sqlerror exit failure rollback +set feedback off +set verify off + +alter user $UT3_DEVELOP_SCHEMA enable editions; +exit +SQL diff --git a/source/api/ut.pkb b/source/api/ut.pkb index d61de040a..0a847cfaa 100644 --- a/source/api/ut.pkb +++ b/source/api/ut.pkb @@ -1,4 +1,4 @@ -create or replace package body ut is +create or replace noneditionable package body ut is /* utPLSQL - Version 3 diff --git a/source/api/ut.pks b/source/api/ut.pks index 6fd98dd9f..fdba6b019 100644 --- a/source/api/ut.pks +++ b/source/api/ut.pks @@ -1,4 +1,4 @@ -create or replace package ut authid current_user as +create or replace noneditionable package ut authid current_user as /* utPLSQL - Version 3 diff --git a/source/api/ut_runner.pkb b/source/api/ut_runner.pkb index 755683cc9..0db1d6e96 100644 --- a/source/api/ut_runner.pkb +++ b/source/api/ut_runner.pkb @@ -1,4 +1,4 @@ -create or replace package body ut_runner is +create or replace noneditionable package body ut_runner is /* utPLSQL - Version 3 diff --git a/source/api/ut_runner.pks b/source/api/ut_runner.pks index 2c6bba888..17bd0fa7a 100644 --- a/source/api/ut_runner.pks +++ b/source/api/ut_runner.pks @@ -1,4 +1,4 @@ -create or replace package ut_runner authid current_user is +create or replace noneditionable package ut_runner authid current_user is /* utPLSQL - Version 3 diff --git a/source/api/ut_suite_item_info.tpb b/source/api/ut_suite_item_info.tpb index 727707ae9..d18f078ee 100644 --- a/source/api/ut_suite_item_info.tpb +++ b/source/api/ut_suite_item_info.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_suite_item_info is +create or replace noneditionable type body ut_suite_item_info is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/api/ut_suite_item_info.tps b/source/api/ut_suite_item_info.tps index f632b2f52..4b4f9d52c 100644 --- a/source/api/ut_suite_item_info.tps +++ b/source/api/ut_suite_item_info.tps @@ -1,4 +1,4 @@ -create or replace type ut_suite_item_info as object ( +create or replace noneditionable type ut_suite_item_info as object ( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/api/ut_suite_items_info.tps b/source/api/ut_suite_items_info.tps index e47b350e5..5a04c9a74 100644 --- a/source/api/ut_suite_items_info.tps +++ b/source/api/ut_suite_items_info.tps @@ -1,4 +1,4 @@ -create or replace type ut_suite_items_info as +create or replace noneditionable type ut_suite_items_info as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/annotations/ut_annotated_object.tps b/source/core/annotations/ut_annotated_object.tps index 21f6ab330..facc8d2d8 100644 --- a/source/core/annotations/ut_annotated_object.tps +++ b/source/core/annotations/ut_annotated_object.tps @@ -1,4 +1,4 @@ -create type ut_annotated_object as object( +create or replace noneditionable type( )ut_annotated_object as object( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/annotations/ut_annotated_objects.tps b/source/core/annotations/ut_annotated_objects.tps index 63679b699..e86f102c9 100644 --- a/source/core/annotations/ut_annotated_objects.tps +++ b/source/core/annotations/ut_annotated_objects.tps @@ -1,4 +1,4 @@ -create type ut_annotated_objects as +create or replace noneditionable type( )ut_annotated_objects as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/annotations/ut_annotation.tps b/source/core/annotations/ut_annotation.tps index 18747516a..a6889540f 100644 --- a/source/core/annotations/ut_annotation.tps +++ b/source/core/annotations/ut_annotation.tps @@ -1,4 +1,4 @@ -create type ut_annotation as object( +create or replace noneditionable type( )ut_annotation as object( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/annotations/ut_annotation_cache_manager.pkb b/source/core/annotations/ut_annotation_cache_manager.pkb index 52184e17d..afc473404 100644 --- a/source/core/annotations/ut_annotation_cache_manager.pkb +++ b/source/core/annotations/ut_annotation_cache_manager.pkb @@ -1,4 +1,4 @@ -create or replace package body ut_annotation_cache_manager as +create or replace noneditionable package body ut_annotation_cache_manager as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/annotations/ut_annotation_cache_manager.pks b/source/core/annotations/ut_annotation_cache_manager.pks index 55d109f91..1aa4cb501 100644 --- a/source/core/annotations/ut_annotation_cache_manager.pks +++ b/source/core/annotations/ut_annotation_cache_manager.pks @@ -1,4 +1,4 @@ -create or replace package ut_annotation_cache_manager authid definer as +create or replace noneditionable package ut_annotation_cache_manager authid definer as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/annotations/ut_annotation_manager.pkb b/source/core/annotations/ut_annotation_manager.pkb index e7d9f2719..b35f40075 100644 --- a/source/core/annotations/ut_annotation_manager.pkb +++ b/source/core/annotations/ut_annotation_manager.pkb @@ -1,4 +1,4 @@ -create or replace package body ut_annotation_manager as +create or replace noneditionable package body ut_annotation_manager as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/annotations/ut_annotation_manager.pks b/source/core/annotations/ut_annotation_manager.pks index 637577d59..eedef002a 100644 --- a/source/core/annotations/ut_annotation_manager.pks +++ b/source/core/annotations/ut_annotation_manager.pks @@ -1,4 +1,4 @@ -create or replace package ut_annotation_manager authid current_user as +create or replace noneditionable package ut_annotation_manager authid current_user as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/annotations/ut_annotation_obj_cache_info.tps b/source/core/annotations/ut_annotation_obj_cache_info.tps index f7bdfa9a8..9e0f3aa71 100644 --- a/source/core/annotations/ut_annotation_obj_cache_info.tps +++ b/source/core/annotations/ut_annotation_obj_cache_info.tps @@ -1,4 +1,4 @@ -create type ut_annotation_obj_cache_info as object( +create or replace noneditionable type( )ut_annotation_obj_cache_info as object( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/annotations/ut_annotation_objs_cache_info.tps b/source/core/annotations/ut_annotation_objs_cache_info.tps index eb69f41e9..f6b5ea20d 100644 --- a/source/core/annotations/ut_annotation_objs_cache_info.tps +++ b/source/core/annotations/ut_annotation_objs_cache_info.tps @@ -1,4 +1,4 @@ -create type ut_annotation_objs_cache_info as +create or replace noneditionable type( )ut_annotation_objs_cache_info as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/annotations/ut_annotation_parser.pkb b/source/core/annotations/ut_annotation_parser.pkb index 8682604f6..5680d3cd2 100644 --- a/source/core/annotations/ut_annotation_parser.pkb +++ b/source/core/annotations/ut_annotation_parser.pkb @@ -1,4 +1,4 @@ -create or replace package body ut_annotation_parser as +create or replace noneditionable package body ut_annotation_parser as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/annotations/ut_annotation_parser.pks b/source/core/annotations/ut_annotation_parser.pks index 5bc2700a4..3e0eaf84c 100644 --- a/source/core/annotations/ut_annotation_parser.pks +++ b/source/core/annotations/ut_annotation_parser.pks @@ -1,4 +1,4 @@ -create or replace package ut_annotation_parser authid current_user as +create or replace noneditionable package ut_annotation_parser authid current_user as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/annotations/ut_annotations.tps b/source/core/annotations/ut_annotations.tps index 7669f008b..dd5b79e71 100644 --- a/source/core/annotations/ut_annotations.tps +++ b/source/core/annotations/ut_annotations.tps @@ -1,4 +1,4 @@ -create type ut_annotations +create or replace noneditionable type( )ut_annotations /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/annotations/ut_trigger_check.pkb b/source/core/annotations/ut_trigger_check.pkb index d533044bb..da8f98949 100644 --- a/source/core/annotations/ut_trigger_check.pkb +++ b/source/core/annotations/ut_trigger_check.pkb @@ -1,4 +1,4 @@ -create or replace package body ut_trigger_check is +create or replace noneditionable package body ut_trigger_check is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/annotations/ut_trigger_check.pks b/source/core/annotations/ut_trigger_check.pks index 8c095c71a..dae59f3aa 100644 --- a/source/core/annotations/ut_trigger_check.pks +++ b/source/core/annotations/ut_trigger_check.pks @@ -1,4 +1,4 @@ -create or replace package ut_trigger_check authid definer is +create or replace noneditionable package ut_trigger_check authid definer is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/coverage/ut_coverage.pkb b/source/core/coverage/ut_coverage.pkb index f3181fdc7..be9b4ad5d 100644 --- a/source/core/coverage/ut_coverage.pkb +++ b/source/core/coverage/ut_coverage.pkb @@ -1,4 +1,4 @@ -create or replace package body ut_coverage is +create or replace noneditionable package body ut_coverage is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/coverage/ut_coverage.pks b/source/core/coverage/ut_coverage.pks index 6bcde8e64..b8bc4e169 100644 --- a/source/core/coverage/ut_coverage.pks +++ b/source/core/coverage/ut_coverage.pks @@ -1,4 +1,4 @@ -create or replace package ut_coverage authid current_user is +create or replace noneditionable package ut_coverage authid current_user is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/coverage/ut_coverage_block.pkb b/source/core/coverage/ut_coverage_block.pkb index 2d7e8bdac..bfdf13274 100644 --- a/source/core/coverage/ut_coverage_block.pkb +++ b/source/core/coverage/ut_coverage_block.pkb @@ -1,4 +1,4 @@ -create or replace package body ut_coverage_block is +create or replace noneditionable package body ut_coverage_block is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/coverage/ut_coverage_block.pks b/source/core/coverage/ut_coverage_block.pks index 1bd9c2d39..9fccb3272 100644 --- a/source/core/coverage/ut_coverage_block.pks +++ b/source/core/coverage/ut_coverage_block.pks @@ -1,4 +1,4 @@ -create or replace package ut_coverage_block authid current_user is +create or replace noneditionable package ut_coverage_block authid current_user is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/coverage/ut_coverage_helper.pkb b/source/core/coverage/ut_coverage_helper.pkb index 16e0bf7a1..ed1bea2ce 100644 --- a/source/core/coverage/ut_coverage_helper.pkb +++ b/source/core/coverage/ut_coverage_helper.pkb @@ -1,4 +1,4 @@ -create or replace package body ut_coverage_helper is +create or replace noneditionable package body ut_coverage_helper is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/coverage/ut_coverage_helper.pks b/source/core/coverage/ut_coverage_helper.pks index da4cba087..11988d935 100644 --- a/source/core/coverage/ut_coverage_helper.pks +++ b/source/core/coverage/ut_coverage_helper.pks @@ -1,4 +1,4 @@ -create or replace package ut_coverage_helper authid definer is +create or replace noneditionable package ut_coverage_helper authid definer is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/coverage/ut_coverage_helper_block.pkb b/source/core/coverage/ut_coverage_helper_block.pkb index 0cf009a10..3abbd54fc 100644 --- a/source/core/coverage/ut_coverage_helper_block.pkb +++ b/source/core/coverage/ut_coverage_helper_block.pkb @@ -1,4 +1,4 @@ -create or replace package body ut_coverage_helper_block is +create or replace noneditionable package body ut_coverage_helper_block is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/coverage/ut_coverage_helper_block.pks b/source/core/coverage/ut_coverage_helper_block.pks index 3ee1f266c..dd8c451d7 100644 --- a/source/core/coverage/ut_coverage_helper_block.pks +++ b/source/core/coverage/ut_coverage_helper_block.pks @@ -1,4 +1,4 @@ -create or replace package ut_coverage_helper_block authid current_user is +create or replace noneditionable package ut_coverage_helper_block authid current_user is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/coverage/ut_coverage_helper_profiler.pkb b/source/core/coverage/ut_coverage_helper_profiler.pkb index 7f6e6e51d..f98631593 100644 --- a/source/core/coverage/ut_coverage_helper_profiler.pkb +++ b/source/core/coverage/ut_coverage_helper_profiler.pkb @@ -1,4 +1,4 @@ -create or replace package body ut_coverage_helper_profiler is +create or replace noneditionable package body ut_coverage_helper_profiler is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/coverage/ut_coverage_helper_profiler.pks b/source/core/coverage/ut_coverage_helper_profiler.pks index 2e56d10f7..ca2a44a64 100644 --- a/source/core/coverage/ut_coverage_helper_profiler.pks +++ b/source/core/coverage/ut_coverage_helper_profiler.pks @@ -1,4 +1,4 @@ -create or replace package ut_coverage_helper_profiler authid definer is +create or replace noneditionable package ut_coverage_helper_profiler authid definer is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/coverage/ut_coverage_profiler.pkb b/source/core/coverage/ut_coverage_profiler.pkb index 1dc40bcbc..4e874dabf 100644 --- a/source/core/coverage/ut_coverage_profiler.pkb +++ b/source/core/coverage/ut_coverage_profiler.pkb @@ -1,4 +1,4 @@ -create or replace package body ut_coverage_profiler is +create or replace noneditionable package body ut_coverage_profiler is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/coverage/ut_coverage_profiler.pks b/source/core/coverage/ut_coverage_profiler.pks index 16145c34a..788005e15 100644 --- a/source/core/coverage/ut_coverage_profiler.pks +++ b/source/core/coverage/ut_coverage_profiler.pks @@ -1,4 +1,4 @@ -create or replace package ut_coverage_profiler authid current_user is +create or replace noneditionable package ut_coverage_profiler authid current_user is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/coverage/ut_coverage_reporter_base.tpb b/source/core/coverage/ut_coverage_reporter_base.tpb index f28226428..e86af3795 100644 --- a/source/core/coverage/ut_coverage_reporter_base.tpb +++ b/source/core/coverage/ut_coverage_reporter_base.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_coverage_reporter_base is +create or replace noneditionable type body ut_coverage_reporter_base is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/coverage/ut_coverage_reporter_base.tps b/source/core/coverage/ut_coverage_reporter_base.tps index b917ea707..c4afe389b 100644 --- a/source/core/coverage/ut_coverage_reporter_base.tps +++ b/source/core/coverage/ut_coverage_reporter_base.tps @@ -1,4 +1,4 @@ -create or replace type ut_coverage_reporter_base under ut_output_reporter_base( +create or replace noneditionable type ut_coverage_reporter_base under ut_output_reporter_base( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/events/ut_event_item.tps b/source/core/events/ut_event_item.tps index bb4556e03..d9e1b84fc 100644 --- a/source/core/events/ut_event_item.tps +++ b/source/core/events/ut_event_item.tps @@ -1,4 +1,4 @@ -create or replace type ut_event_item authid current_user as object ( +create or replace noneditionable type ut_event_item authid current_user as object ( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/events/ut_event_listener.tps b/source/core/events/ut_event_listener.tps index ee34bb009..7236fd512 100644 --- a/source/core/events/ut_event_listener.tps +++ b/source/core/events/ut_event_listener.tps @@ -1,4 +1,4 @@ -create or replace type ut_event_listener authid current_user as object ( +create or replace noneditionable type ut_event_listener authid current_user as object ( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/events/ut_event_manager.pkb b/source/core/events/ut_event_manager.pkb index 0b80b5a98..50c500d13 100644 --- a/source/core/events/ut_event_manager.pkb +++ b/source/core/events/ut_event_manager.pkb @@ -1,4 +1,4 @@ -create or replace package body ut_event_manager as +create or replace noneditionable package body ut_event_manager as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/events/ut_event_manager.pks b/source/core/events/ut_event_manager.pks index 9cea89898..08db7f5da 100644 --- a/source/core/events/ut_event_manager.pks +++ b/source/core/events/ut_event_manager.pks @@ -1,4 +1,4 @@ -create or replace package ut_event_manager authid current_user as +create or replace noneditionable package ut_event_manager authid current_user as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/output_buffers/ut_output_buffer_base.tpb b/source/core/output_buffers/ut_output_buffer_base.tpb index dc9b34b88..8b9c236ef 100644 --- a/source/core/output_buffers/ut_output_buffer_base.tpb +++ b/source/core/output_buffers/ut_output_buffer_base.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_output_buffer_base is +create or replace noneditionable type body ut_output_buffer_base is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/output_buffers/ut_output_buffer_base.tps b/source/core/output_buffers/ut_output_buffer_base.tps index 9615cdc5e..da2bc9143 100644 --- a/source/core/output_buffers/ut_output_buffer_base.tps +++ b/source/core/output_buffers/ut_output_buffer_base.tps @@ -1,4 +1,4 @@ -create or replace type ut_output_buffer_base force authid definer as object( +create or replace noneditionable type ut_output_buffer_base force authid definer as object( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/output_buffers/ut_output_bulk_buffer.tpb b/source/core/output_buffers/ut_output_bulk_buffer.tpb index bc0ec6128..4f6698eaf 100644 --- a/source/core/output_buffers/ut_output_bulk_buffer.tpb +++ b/source/core/output_buffers/ut_output_bulk_buffer.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_output_bulk_buffer is +create or replace noneditionable type body ut_output_bulk_buffer is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/output_buffers/ut_output_bulk_buffer.tps b/source/core/output_buffers/ut_output_bulk_buffer.tps index 31d7271fa..538bc12a5 100644 --- a/source/core/output_buffers/ut_output_bulk_buffer.tps +++ b/source/core/output_buffers/ut_output_bulk_buffer.tps @@ -1,4 +1,4 @@ -create or replace type ut_output_bulk_buffer under ut_output_buffer_base ( +create or replace noneditionable type ut_output_bulk_buffer under ut_output_buffer_base ( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/output_buffers/ut_output_clob_table_buffer.tpb b/source/core/output_buffers/ut_output_clob_table_buffer.tpb index 8f1cd3187..f6d7c9a66 100644 --- a/source/core/output_buffers/ut_output_clob_table_buffer.tpb +++ b/source/core/output_buffers/ut_output_clob_table_buffer.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_output_clob_table_buffer is +create or replace noneditionable type body ut_output_clob_table_buffer is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/output_buffers/ut_output_clob_table_buffer.tps b/source/core/output_buffers/ut_output_clob_table_buffer.tps index 2cfb2538b..b254c1f47 100644 --- a/source/core/output_buffers/ut_output_clob_table_buffer.tps +++ b/source/core/output_buffers/ut_output_clob_table_buffer.tps @@ -1,4 +1,4 @@ -create or replace type ut_output_clob_table_buffer under ut_output_buffer_base ( +create or replace noneditionable type ut_output_clob_table_buffer under ut_output_buffer_base ( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/output_buffers/ut_output_data_row.tps b/source/core/output_buffers/ut_output_data_row.tps index ecfde404a..2eed2ee1f 100644 --- a/source/core/output_buffers/ut_output_data_row.tps +++ b/source/core/output_buffers/ut_output_data_row.tps @@ -1,4 +1,4 @@ -create or replace type ut_output_data_row as object ( +create or replace noneditionable type ut_output_data_row as object ( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/output_buffers/ut_output_data_rows.tps b/source/core/output_buffers/ut_output_data_rows.tps index c505e2fbf..a10440617 100644 --- a/source/core/output_buffers/ut_output_data_rows.tps +++ b/source/core/output_buffers/ut_output_data_rows.tps @@ -1,4 +1,4 @@ -create or replace type ut_output_data_rows as +create or replace noneditionable type ut_output_data_rows as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/output_buffers/ut_output_table_buffer.tpb b/source/core/output_buffers/ut_output_table_buffer.tpb index 5fbd39907..d87362572 100644 --- a/source/core/output_buffers/ut_output_table_buffer.tpb +++ b/source/core/output_buffers/ut_output_table_buffer.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_output_table_buffer is +create or replace noneditionable type body ut_output_table_buffer is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/output_buffers/ut_output_table_buffer.tps b/source/core/output_buffers/ut_output_table_buffer.tps index 6c75421db..3f13e736d 100644 --- a/source/core/output_buffers/ut_output_table_buffer.tps +++ b/source/core/output_buffers/ut_output_table_buffer.tps @@ -1,4 +1,4 @@ -create or replace type ut_output_table_buffer under ut_output_buffer_base ( +create or replace noneditionable type ut_output_table_buffer under ut_output_buffer_base ( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/session_context/ut_session_context.pkb b/source/core/session_context/ut_session_context.pkb index 2443a350a..12d104eed 100644 --- a/source/core/session_context/ut_session_context.pkb +++ b/source/core/session_context/ut_session_context.pkb @@ -1,4 +1,4 @@ -create or replace package body ut_session_context as +create or replace noneditionable package body ut_session_context as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/session_context/ut_session_context.pks b/source/core/session_context/ut_session_context.pks index 8df2decee..a5e4038a0 100644 --- a/source/core/session_context/ut_session_context.pks +++ b/source/core/session_context/ut_session_context.pks @@ -1,4 +1,4 @@ -create or replace package ut_session_context as +create or replace noneditionable package ut_session_context as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/session_context/ut_session_info.tpb b/source/core/session_context/ut_session_info.tpb index d9d576fb9..14f52b003 100644 --- a/source/core/session_context/ut_session_info.tpb +++ b/source/core/session_context/ut_session_info.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_session_info as +create or replace noneditionable type body ut_session_info as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/session_context/ut_session_info.tps b/source/core/session_context/ut_session_info.tps index aeb3361c3..d682a6bad 100644 --- a/source/core/session_context/ut_session_info.tps +++ b/source/core/session_context/ut_session_info.tps @@ -1,4 +1,4 @@ -create or replace type ut_session_info under ut_event_listener ( +create or replace noneditionable type ut_session_info under ut_event_listener ( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_console_reporter_base.tpb b/source/core/types/ut_console_reporter_base.tpb index 282a52a9a..0825b8ba2 100644 --- a/source/core/types/ut_console_reporter_base.tpb +++ b/source/core/types/ut_console_reporter_base.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_console_reporter_base is +create or replace noneditionable type body ut_console_reporter_base is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_console_reporter_base.tps b/source/core/types/ut_console_reporter_base.tps index 077af7e37..46b344e6e 100644 --- a/source/core/types/ut_console_reporter_base.tps +++ b/source/core/types/ut_console_reporter_base.tps @@ -1,4 +1,4 @@ -create or replace type ut_console_reporter_base under ut_output_reporter_base( +create or replace noneditionable type ut_console_reporter_base under ut_output_reporter_base( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_coverage_options.tpb b/source/core/types/ut_coverage_options.tpb index 6c81af773..2accd960a 100644 --- a/source/core/types/ut_coverage_options.tpb +++ b/source/core/types/ut_coverage_options.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_coverage_options as +create or replace noneditionable type body ut_coverage_options as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_coverage_options.tps b/source/core/types/ut_coverage_options.tps index 3813232df..f2db1dafe 100644 --- a/source/core/types/ut_coverage_options.tps +++ b/source/core/types/ut_coverage_options.tps @@ -1,4 +1,4 @@ -create or replace type ut_coverage_options force as object ( +create or replace noneditionable type ut_coverage_options force as object ( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_executable.tpb b/source/core/types/ut_executable.tpb index c78cf4d77..6a45caa99 100644 --- a/source/core/types/ut_executable.tpb +++ b/source/core/types/ut_executable.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_executable is +create or replace noneditionable type body ut_executable is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_executable.tps b/source/core/types/ut_executable.tps index 7d04c4e41..6257e3e89 100644 --- a/source/core/types/ut_executable.tps +++ b/source/core/types/ut_executable.tps @@ -1,4 +1,4 @@ -create or replace type ut_executable under ut_event_item( +create or replace noneditionable type ut_executable under ut_event_item( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_executable_test.tpb b/source/core/types/ut_executable_test.tpb index e816a1b1b..5772cdbc4 100644 --- a/source/core/types/ut_executable_test.tpb +++ b/source/core/types/ut_executable_test.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_executable_test as +create or replace noneditionable type body ut_executable_test as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_executable_test.tps b/source/core/types/ut_executable_test.tps index 76f2d1c7d..91a7c6be0 100644 --- a/source/core/types/ut_executable_test.tps +++ b/source/core/types/ut_executable_test.tps @@ -1,4 +1,4 @@ -create or replace type ut_executable_test authid current_user under ut_executable ( +create or replace noneditionable type ut_executable_test authid current_user under ut_executable ( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_executables.tps b/source/core/types/ut_executables.tps index f5fbbdfad..7718c44b8 100644 --- a/source/core/types/ut_executables.tps +++ b/source/core/types/ut_executables.tps @@ -1,4 +1,4 @@ -create or replace type ut_executables as +create or replace noneditionable type ut_executables as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_expectation_result.tpb b/source/core/types/ut_expectation_result.tpb index cf445b705..3ffd11789 100644 --- a/source/core/types/ut_expectation_result.tpb +++ b/source/core/types/ut_expectation_result.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_expectation_result is +create or replace noneditionable type body ut_expectation_result is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_expectation_result.tps b/source/core/types/ut_expectation_result.tps index 5a430fe64..e7eedd5ce 100644 --- a/source/core/types/ut_expectation_result.tps +++ b/source/core/types/ut_expectation_result.tps @@ -1,4 +1,4 @@ -create or replace type ut_expectation_result under ut_event_item( +create or replace noneditionable type ut_expectation_result under ut_event_item( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_expectation_results.tps b/source/core/types/ut_expectation_results.tps index 50cc046ec..168941112 100644 --- a/source/core/types/ut_expectation_results.tps +++ b/source/core/types/ut_expectation_results.tps @@ -1,4 +1,4 @@ -create or replace type ut_expectation_results as +create or replace noneditionable type ut_expectation_results as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_file_mapping.tpb b/source/core/types/ut_file_mapping.tpb index 5b7133c56..d693ac633 100644 --- a/source/core/types/ut_file_mapping.tpb +++ b/source/core/types/ut_file_mapping.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_file_mapping as +create or replace noneditionable type body ut_file_mapping as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_file_mapping.tps b/source/core/types/ut_file_mapping.tps index 8fed2df00..d28ef40ae 100644 --- a/source/core/types/ut_file_mapping.tps +++ b/source/core/types/ut_file_mapping.tps @@ -1,4 +1,4 @@ -create or replace type ut_file_mapping as object( +create or replace noneditionable type ut_file_mapping as object( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_file_mappings.tps b/source/core/types/ut_file_mappings.tps index 0e1653969..715530ee0 100644 --- a/source/core/types/ut_file_mappings.tps +++ b/source/core/types/ut_file_mappings.tps @@ -1,4 +1,4 @@ -create or replace type ut_file_mappings as +create or replace noneditionable type ut_file_mappings as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_integer_list.tps b/source/core/types/ut_integer_list.tps index 00bce87c4..b15cf743c 100644 --- a/source/core/types/ut_integer_list.tps +++ b/source/core/types/ut_integer_list.tps @@ -1,4 +1,4 @@ -create or replace type ut_integer_list as +create or replace noneditionable type ut_integer_list as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_key_value_pair.tps b/source/core/types/ut_key_value_pair.tps index 38dee5a7d..e26fff031 100644 --- a/source/core/types/ut_key_value_pair.tps +++ b/source/core/types/ut_key_value_pair.tps @@ -1,4 +1,4 @@ -create or replace type ut_key_value_pair force as object( +create or replace noneditionable type ut_key_value_pair force as object( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_key_value_pairs.tps b/source/core/types/ut_key_value_pairs.tps index 327986e19..d9e829dc9 100644 --- a/source/core/types/ut_key_value_pairs.tps +++ b/source/core/types/ut_key_value_pairs.tps @@ -1,4 +1,4 @@ -create or replace type ut_key_value_pairs as +create or replace noneditionable type ut_key_value_pairs as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_logical_suite.tpb b/source/core/types/ut_logical_suite.tpb index ea9b42857..c91320d8a 100644 --- a/source/core/types/ut_logical_suite.tpb +++ b/source/core/types/ut_logical_suite.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_logical_suite as +create or replace noneditionable type body ut_logical_suite as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_logical_suite.tps b/source/core/types/ut_logical_suite.tps index ab2271e32..245c422a1 100644 --- a/source/core/types/ut_logical_suite.tps +++ b/source/core/types/ut_logical_suite.tps @@ -1,4 +1,4 @@ -create or replace type ut_logical_suite force under ut_suite_item ( +create or replace noneditionable type ut_logical_suite force under ut_suite_item ( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_object_name.tpb b/source/core/types/ut_object_name.tpb index e39231b0f..67834a9ed 100644 --- a/source/core/types/ut_object_name.tpb +++ b/source/core/types/ut_object_name.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_object_name as +create or replace noneditionable type body ut_object_name as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_object_name.tps b/source/core/types/ut_object_name.tps index dc4fe2bca..7f6341a32 100644 --- a/source/core/types/ut_object_name.tps +++ b/source/core/types/ut_object_name.tps @@ -1,4 +1,4 @@ -create or replace type ut_object_name as object ( +create or replace noneditionable type ut_object_name as object ( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_object_names.tps b/source/core/types/ut_object_names.tps index 2b42cce21..879493a63 100644 --- a/source/core/types/ut_object_names.tps +++ b/source/core/types/ut_object_names.tps @@ -1,4 +1,4 @@ -create or replace type ut_object_names as +create or replace noneditionable type ut_object_names as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_output_reporter_base.tpb b/source/core/types/ut_output_reporter_base.tpb index fec4ebfab..4553f1780 100644 --- a/source/core/types/ut_output_reporter_base.tpb +++ b/source/core/types/ut_output_reporter_base.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_output_reporter_base is +create or replace noneditionable type body ut_output_reporter_base is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_output_reporter_base.tps b/source/core/types/ut_output_reporter_base.tps index f5827a97d..b9ec4f7cd 100644 --- a/source/core/types/ut_output_reporter_base.tps +++ b/source/core/types/ut_output_reporter_base.tps @@ -1,4 +1,4 @@ -create or replace type ut_output_reporter_base under ut_reporter_base( +create or replace noneditionable type ut_output_reporter_base under ut_reporter_base( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_path_item.tpb b/source/core/types/ut_path_item.tpb index 685178987..486fde865 100644 --- a/source/core/types/ut_path_item.tpb +++ b/source/core/types/ut_path_item.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_path_item as +create or replace noneditionable type body ut_path_item as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_path_item.tps b/source/core/types/ut_path_item.tps index 5946cacbf..fdc1e8ac2 100644 --- a/source/core/types/ut_path_item.tps +++ b/source/core/types/ut_path_item.tps @@ -1,4 +1,4 @@ -create or replace type ut_path_item as object ( +create or replace noneditionable type ut_path_item as object ( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_path_items.tps b/source/core/types/ut_path_items.tps index 7ae04e0b9..64f8dd5fe 100644 --- a/source/core/types/ut_path_items.tps +++ b/source/core/types/ut_path_items.tps @@ -1,4 +1,4 @@ -create or replace type ut_path_items as +create or replace noneditionable type ut_path_items as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_reporter_base.tpb b/source/core/types/ut_reporter_base.tpb index 445d9d351..e457645f4 100644 --- a/source/core/types/ut_reporter_base.tpb +++ b/source/core/types/ut_reporter_base.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_reporter_base is +create or replace noneditionable type body ut_reporter_base is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_reporter_base.tps b/source/core/types/ut_reporter_base.tps index 9df353060..af0472dc5 100644 --- a/source/core/types/ut_reporter_base.tps +++ b/source/core/types/ut_reporter_base.tps @@ -1,4 +1,4 @@ -create or replace type ut_reporter_base under ut_event_listener ( +create or replace noneditionable type ut_reporter_base under ut_event_listener ( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_reporter_info.tps b/source/core/types/ut_reporter_info.tps index 3491f7679..29c7559f1 100644 --- a/source/core/types/ut_reporter_info.tps +++ b/source/core/types/ut_reporter_info.tps @@ -1,4 +1,4 @@ -create or replace type ut_reporter_info as object ( +create or replace noneditionable type ut_reporter_info as object ( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_reporters.tps b/source/core/types/ut_reporters.tps index ab6439dce..fba22480f 100644 --- a/source/core/types/ut_reporters.tps +++ b/source/core/types/ut_reporters.tps @@ -1,4 +1,4 @@ -create or replace type ut_reporters as +create or replace noneditionable type ut_reporters as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_reporters_info.tps b/source/core/types/ut_reporters_info.tps index 3639f4c2c..4f6f054a3 100644 --- a/source/core/types/ut_reporters_info.tps +++ b/source/core/types/ut_reporters_info.tps @@ -1,4 +1,4 @@ -create or replace type ut_reporters_info as +create or replace noneditionable type ut_reporters_info as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_results_counter.tpb b/source/core/types/ut_results_counter.tpb index 87fd83cf9..54f9e0b48 100644 --- a/source/core/types/ut_results_counter.tpb +++ b/source/core/types/ut_results_counter.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_results_counter as +create or replace noneditionable type body ut_results_counter as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_results_counter.tps b/source/core/types/ut_results_counter.tps index 62b3d9ffd..477d4b217 100644 --- a/source/core/types/ut_results_counter.tps +++ b/source/core/types/ut_results_counter.tps @@ -1,4 +1,4 @@ -create or replace type ut_results_counter as object( +create or replace noneditionable type ut_results_counter as object( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_run.tpb b/source/core/types/ut_run.tpb index 0956be32d..80621b5ad 100644 --- a/source/core/types/ut_run.tpb +++ b/source/core/types/ut_run.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_run as +create or replace noneditionable type body ut_run as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_run.tps b/source/core/types/ut_run.tps index ef3631082..551e56ac4 100644 --- a/source/core/types/ut_run.tps +++ b/source/core/types/ut_run.tps @@ -1,4 +1,4 @@ -create or replace type ut_run under ut_suite_item ( +create or replace noneditionable type ut_run under ut_suite_item ( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_run_info.tpb b/source/core/types/ut_run_info.tpb index 1370de3cc..3de74b2b4 100644 --- a/source/core/types/ut_run_info.tpb +++ b/source/core/types/ut_run_info.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_run_info as +create or replace noneditionable type body ut_run_info as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_run_info.tps b/source/core/types/ut_run_info.tps index df82c380d..00919b172 100644 --- a/source/core/types/ut_run_info.tps +++ b/source/core/types/ut_run_info.tps @@ -1,4 +1,4 @@ -create or replace type ut_run_info under ut_event_item ( +create or replace noneditionable type ut_run_info under ut_event_item ( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_stack.tpb b/source/core/types/ut_stack.tpb index da0c371a6..4298ae35c 100644 --- a/source/core/types/ut_stack.tpb +++ b/source/core/types/ut_stack.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_stack as +create or replace noneditionable type body ut_stack as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_stack.tps b/source/core/types/ut_stack.tps index 5a5f90263..ed79bea55 100644 --- a/source/core/types/ut_stack.tps +++ b/source/core/types/ut_stack.tps @@ -1,4 +1,4 @@ -create or replace type ut_stack as object ( +create or replace noneditionable type ut_stack as object ( top integer, tokens ut_varchar2_list, /* diff --git a/source/core/types/ut_suite.tpb b/source/core/types/ut_suite.tpb index 9558565ed..b4e3eabf0 100644 --- a/source/core/types/ut_suite.tpb +++ b/source/core/types/ut_suite.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_suite as +create or replace noneditionable type body ut_suite as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_suite.tps b/source/core/types/ut_suite.tps index 199e05ea4..edce778f1 100644 --- a/source/core/types/ut_suite.tps +++ b/source/core/types/ut_suite.tps @@ -1,4 +1,4 @@ -create or replace type ut_suite under ut_logical_suite ( +create or replace noneditionable type ut_suite under ut_logical_suite ( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_suite_cache_row.tps b/source/core/types/ut_suite_cache_row.tps index f294b3697..1ee371a88 100644 --- a/source/core/types/ut_suite_cache_row.tps +++ b/source/core/types/ut_suite_cache_row.tps @@ -1,4 +1,4 @@ -create or replace type ut_suite_cache_row as object ( +create or replace noneditionable type ut_suite_cache_row as object ( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_suite_cache_rows.tps b/source/core/types/ut_suite_cache_rows.tps index c69c8672f..b201e7bf0 100644 --- a/source/core/types/ut_suite_cache_rows.tps +++ b/source/core/types/ut_suite_cache_rows.tps @@ -1,4 +1,4 @@ -create type ut_suite_cache_rows as +create or replace noneditionable type( )ut_suite_cache_rows as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_suite_context.tpb b/source/core/types/ut_suite_context.tpb index 52e57924a..dad24e42e 100644 --- a/source/core/types/ut_suite_context.tpb +++ b/source/core/types/ut_suite_context.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_suite_context as +create or replace noneditionable type body ut_suite_context as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_suite_context.tps b/source/core/types/ut_suite_context.tps index 51d318235..b890e2633 100644 --- a/source/core/types/ut_suite_context.tps +++ b/source/core/types/ut_suite_context.tps @@ -1,4 +1,4 @@ -create or replace type ut_suite_context under ut_suite ( +create or replace noneditionable type ut_suite_context under ut_suite ( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_suite_item.tpb b/source/core/types/ut_suite_item.tpb index 965d2416e..8e8c6fd90 100644 --- a/source/core/types/ut_suite_item.tpb +++ b/source/core/types/ut_suite_item.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_suite_item as +create or replace noneditionable type body ut_suite_item as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_suite_item.tps b/source/core/types/ut_suite_item.tps index 8ba3c6183..2e990353f 100644 --- a/source/core/types/ut_suite_item.tps +++ b/source/core/types/ut_suite_item.tps @@ -1,4 +1,4 @@ -create or replace type ut_suite_item force under ut_event_item ( +create or replace noneditionable type ut_suite_item force under ut_event_item ( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_suite_items.tps b/source/core/types/ut_suite_items.tps index ee3466c5d..b7ce9873c 100644 --- a/source/core/types/ut_suite_items.tps +++ b/source/core/types/ut_suite_items.tps @@ -1,4 +1,4 @@ -create or replace type ut_suite_items as +create or replace noneditionable type ut_suite_items as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_test.tpb b/source/core/types/ut_test.tpb index 21ca44713..61a1e39f8 100644 --- a/source/core/types/ut_test.tpb +++ b/source/core/types/ut_test.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_test as +create or replace noneditionable type body ut_test as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_test.tps b/source/core/types/ut_test.tps index 215e3e9d6..cb50c2fd4 100644 --- a/source/core/types/ut_test.tps +++ b/source/core/types/ut_test.tps @@ -1,4 +1,4 @@ -create or replace type ut_test force under ut_suite_item ( +create or replace noneditionable type ut_test force under ut_suite_item ( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_varchar2_list.tps b/source/core/types/ut_varchar2_list.tps index 95a5545a8..8203a4bab 100644 --- a/source/core/types/ut_varchar2_list.tps +++ b/source/core/types/ut_varchar2_list.tps @@ -1,4 +1,4 @@ -create or replace type ut_varchar2_list as +create or replace noneditionable type ut_varchar2_list as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_varchar2_rows.tps b/source/core/types/ut_varchar2_rows.tps index c6f05df86..a2e25e9fb 100644 --- a/source/core/types/ut_varchar2_rows.tps +++ b/source/core/types/ut_varchar2_rows.tps @@ -1,4 +1,4 @@ -create or replace type ut_varchar2_rows as +create or replace noneditionable type ut_varchar2_rows as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/ut_expectation_processor.pkb b/source/core/ut_expectation_processor.pkb index 654a838ca..3fb39a5b9 100644 --- a/source/core/ut_expectation_processor.pkb +++ b/source/core/ut_expectation_processor.pkb @@ -1,4 +1,4 @@ -create or replace package body ut_expectation_processor as +create or replace noneditionable package body ut_expectation_processor as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/ut_expectation_processor.pks b/source/core/ut_expectation_processor.pks index 1837188eb..5349ee70a 100644 --- a/source/core/ut_expectation_processor.pks +++ b/source/core/ut_expectation_processor.pks @@ -1,4 +1,4 @@ -create or replace package ut_expectation_processor authid current_user as +create or replace noneditionable package ut_expectation_processor authid current_user as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/ut_file_mapper.pkb b/source/core/ut_file_mapper.pkb index 077319d76..40204a5da 100644 --- a/source/core/ut_file_mapper.pkb +++ b/source/core/ut_file_mapper.pkb @@ -1,4 +1,4 @@ -create or replace package body ut_file_mapper is +create or replace noneditionable package body ut_file_mapper is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/ut_file_mapper.pks b/source/core/ut_file_mapper.pks index 71e045d7e..1363e81ec 100644 --- a/source/core/ut_file_mapper.pks +++ b/source/core/ut_file_mapper.pks @@ -1,4 +1,4 @@ -create or replace package ut_file_mapper authid current_user is +create or replace noneditionable package ut_file_mapper authid current_user is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/ut_metadata.pkb b/source/core/ut_metadata.pkb index aec9a3c8d..d9939ad45 100644 --- a/source/core/ut_metadata.pkb +++ b/source/core/ut_metadata.pkb @@ -1,4 +1,4 @@ -create or replace package body ut_metadata as +create or replace noneditionable package body ut_metadata as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/ut_metadata.pks b/source/core/ut_metadata.pks index 31cf4889b..42f136504 100644 --- a/source/core/ut_metadata.pks +++ b/source/core/ut_metadata.pks @@ -1,4 +1,4 @@ -create or replace package ut_metadata authid current_user as +create or replace noneditionable package ut_metadata authid current_user as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/ut_suite_builder.pkb b/source/core/ut_suite_builder.pkb index 2ebdb980c..63aa01b24 100644 --- a/source/core/ut_suite_builder.pkb +++ b/source/core/ut_suite_builder.pkb @@ -1,4 +1,4 @@ -create or replace package body ut_suite_builder is +create or replace noneditionable package body ut_suite_builder is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/ut_suite_builder.pks b/source/core/ut_suite_builder.pks index 7e43a720e..35f207ea4 100644 --- a/source/core/ut_suite_builder.pks +++ b/source/core/ut_suite_builder.pks @@ -1,4 +1,4 @@ -create or replace package ut_suite_builder authid current_user is +create or replace noneditionable package ut_suite_builder authid current_user is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/ut_suite_cache_manager.pkb b/source/core/ut_suite_cache_manager.pkb index fb7c2c888..9aa3cf63d 100644 --- a/source/core/ut_suite_cache_manager.pkb +++ b/source/core/ut_suite_cache_manager.pkb @@ -1,4 +1,4 @@ -create or replace package body ut_suite_cache_manager is +create or replace noneditionable package body ut_suite_cache_manager is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/ut_suite_cache_manager.pks b/source/core/ut_suite_cache_manager.pks index bd236678d..6ac1d7bd6 100644 --- a/source/core/ut_suite_cache_manager.pks +++ b/source/core/ut_suite_cache_manager.pks @@ -1,4 +1,4 @@ -create or replace package ut_suite_cache_manager authid definer is +create or replace noneditionable package ut_suite_cache_manager authid definer is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/ut_suite_manager.pkb b/source/core/ut_suite_manager.pkb index ad7f27f59..fa60be59e 100644 --- a/source/core/ut_suite_manager.pkb +++ b/source/core/ut_suite_manager.pkb @@ -1,4 +1,4 @@ -create or replace package body ut_suite_manager is +create or replace noneditionable package body ut_suite_manager is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/ut_suite_manager.pks b/source/core/ut_suite_manager.pks index 8ac7cc8ad..60c3595bb 100644 --- a/source/core/ut_suite_manager.pks +++ b/source/core/ut_suite_manager.pks @@ -1,4 +1,4 @@ -create or replace package ut_suite_manager authid current_user is +create or replace noneditionable package ut_suite_manager authid current_user is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/ut_suite_tag_filter.pkb b/source/core/ut_suite_tag_filter.pkb index 17b5ba4b0..447ba47d5 100644 --- a/source/core/ut_suite_tag_filter.pkb +++ b/source/core/ut_suite_tag_filter.pkb @@ -1,4 +1,4 @@ -create or replace package body ut_suite_tag_filter is +create or replace noneditionable package body ut_suite_tag_filter is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/ut_suite_tag_filter.pks b/source/core/ut_suite_tag_filter.pks index 0493bd194..bb3d4ad73 100644 --- a/source/core/ut_suite_tag_filter.pks +++ b/source/core/ut_suite_tag_filter.pks @@ -1,4 +1,4 @@ -create or replace package ut_suite_tag_filter authid definer is +create or replace noneditionable package ut_suite_tag_filter authid definer is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/ut_utils.pkb b/source/core/ut_utils.pkb index 32cbb3f8c..c8ced3bb9 100644 --- a/source/core/ut_utils.pkb +++ b/source/core/ut_utils.pkb @@ -1,4 +1,4 @@ -create or replace package body ut_utils is +create or replace noneditionable package body ut_utils is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 7cffd26e8..26f878b8e 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -1,4 +1,4 @@ -create or replace package ut_utils authid definer is +create or replace noneditionable package ut_utils authid definer is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_compound_data_helper.pkb b/source/expectations/data_values/ut_compound_data_helper.pkb index 42feb2a47..763c133d7 100644 --- a/source/expectations/data_values/ut_compound_data_helper.pkb +++ b/source/expectations/data_values/ut_compound_data_helper.pkb @@ -1,4 +1,4 @@ -create or replace package body ut_compound_data_helper is +create or replace noneditionable package body ut_compound_data_helper is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_compound_data_helper.pks b/source/expectations/data_values/ut_compound_data_helper.pks index dd2e2ec3d..6069920c9 100644 --- a/source/expectations/data_values/ut_compound_data_helper.pks +++ b/source/expectations/data_values/ut_compound_data_helper.pks @@ -1,4 +1,4 @@ -create or replace package ut_compound_data_helper authid definer is +create or replace noneditionable package ut_compound_data_helper authid definer is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_compound_data_value.tpb b/source/expectations/data_values/ut_compound_data_value.tpb index 5fd3154b1..7db47827e 100644 --- a/source/expectations/data_values/ut_compound_data_value.tpb +++ b/source/expectations/data_values/ut_compound_data_value.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_compound_data_value as +create or replace noneditionable type body ut_compound_data_value as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_compound_data_value.tps b/source/expectations/data_values/ut_compound_data_value.tps index ca2206e2a..c84a59db6 100644 --- a/source/expectations/data_values/ut_compound_data_value.tps +++ b/source/expectations/data_values/ut_compound_data_value.tps @@ -1,4 +1,4 @@ -create or replace type ut_compound_data_value force under ut_data_value( +create or replace noneditionable type ut_compound_data_value force under ut_data_value( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_cursor_column.tpb b/source/expectations/data_values/ut_cursor_column.tpb index 13fbb86b7..3513de23e 100644 --- a/source/expectations/data_values/ut_cursor_column.tpb +++ b/source/expectations/data_values/ut_cursor_column.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_cursor_column as +create or replace noneditionable type body ut_cursor_column as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_cursor_column.tps b/source/expectations/data_values/ut_cursor_column.tps index 98ca78b6e..fcf3fe002 100644 --- a/source/expectations/data_values/ut_cursor_column.tps +++ b/source/expectations/data_values/ut_cursor_column.tps @@ -1,4 +1,4 @@ -create or replace type ut_cursor_column authid current_user as object ( +create or replace noneditionable type ut_cursor_column authid current_user as object ( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_cursor_column_tab.tps b/source/expectations/data_values/ut_cursor_column_tab.tps index 258624691..169ba3ce4 100644 --- a/source/expectations/data_values/ut_cursor_column_tab.tps +++ b/source/expectations/data_values/ut_cursor_column_tab.tps @@ -1,4 +1,4 @@ -create or replace type ut_cursor_column_tab as +create or replace noneditionable type ut_cursor_column_tab as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_cursor_details.tpb b/source/expectations/data_values/ut_cursor_details.tpb index cce0751d1..ff204e3bd 100644 --- a/source/expectations/data_values/ut_cursor_details.tpb +++ b/source/expectations/data_values/ut_cursor_details.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_cursor_details as +create or replace noneditionable type body ut_cursor_details as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_cursor_details.tps b/source/expectations/data_values/ut_cursor_details.tps index 981fda8e5..c50ed16d3 100644 --- a/source/expectations/data_values/ut_cursor_details.tps +++ b/source/expectations/data_values/ut_cursor_details.tps @@ -1,4 +1,4 @@ -create or replace type ut_cursor_details authid current_user as object ( +create or replace noneditionable type ut_cursor_details authid current_user as object ( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_data_value.tpb b/source/expectations/data_values/ut_data_value.tpb index 6eb352b77..05eb3022e 100644 --- a/source/expectations/data_values/ut_data_value.tpb +++ b/source/expectations/data_values/ut_data_value.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_data_value as +create or replace noneditionable type body ut_data_value as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_data_value.tps b/source/expectations/data_values/ut_data_value.tps index 91a07e463..6e362a56d 100644 --- a/source/expectations/data_values/ut_data_value.tps +++ b/source/expectations/data_values/ut_data_value.tps @@ -1,4 +1,4 @@ -create or replace type ut_data_value force authid current_user as object ( +create or replace noneditionable type ut_data_value force authid current_user as object ( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_data_value_anydata.tpb b/source/expectations/data_values/ut_data_value_anydata.tpb index 189d2e032..9fccb7582 100644 --- a/source/expectations/data_values/ut_data_value_anydata.tpb +++ b/source/expectations/data_values/ut_data_value_anydata.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_data_value_anydata as +create or replace noneditionable type body ut_data_value_anydata as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_data_value_anydata.tps b/source/expectations/data_values/ut_data_value_anydata.tps index ee9725d58..6ad692d31 100644 --- a/source/expectations/data_values/ut_data_value_anydata.tps +++ b/source/expectations/data_values/ut_data_value_anydata.tps @@ -1,4 +1,4 @@ -create or replace type ut_data_value_anydata under ut_data_value_refcursor( +create or replace noneditionable type ut_data_value_anydata under ut_data_value_refcursor( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_data_value_blob.tpb b/source/expectations/data_values/ut_data_value_blob.tpb index 42e35fc55..c961ebaab 100644 --- a/source/expectations/data_values/ut_data_value_blob.tpb +++ b/source/expectations/data_values/ut_data_value_blob.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_data_value_blob as +create or replace noneditionable type body ut_data_value_blob as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_data_value_blob.tps b/source/expectations/data_values/ut_data_value_blob.tps index 08813371e..94124bfec 100644 --- a/source/expectations/data_values/ut_data_value_blob.tps +++ b/source/expectations/data_values/ut_data_value_blob.tps @@ -1,4 +1,4 @@ -create or replace type ut_data_value_blob under ut_data_value( +create or replace noneditionable type ut_data_value_blob under ut_data_value( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_data_value_boolean.tpb b/source/expectations/data_values/ut_data_value_boolean.tpb index 84af1c34c..dd253442c 100644 --- a/source/expectations/data_values/ut_data_value_boolean.tpb +++ b/source/expectations/data_values/ut_data_value_boolean.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_data_value_boolean as +create or replace noneditionable type body ut_data_value_boolean as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_data_value_boolean.tps b/source/expectations/data_values/ut_data_value_boolean.tps index 4d7af837b..b6df4e0b4 100644 --- a/source/expectations/data_values/ut_data_value_boolean.tps +++ b/source/expectations/data_values/ut_data_value_boolean.tps @@ -1,4 +1,4 @@ -create or replace type ut_data_value_boolean under ut_data_value( +create or replace noneditionable type ut_data_value_boolean under ut_data_value( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_data_value_clob.tpb b/source/expectations/data_values/ut_data_value_clob.tpb index 2dd00c023..76a55545e 100644 --- a/source/expectations/data_values/ut_data_value_clob.tpb +++ b/source/expectations/data_values/ut_data_value_clob.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_data_value_clob as +create or replace noneditionable type body ut_data_value_clob as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_data_value_clob.tps b/source/expectations/data_values/ut_data_value_clob.tps index abcc635c9..686757e85 100644 --- a/source/expectations/data_values/ut_data_value_clob.tps +++ b/source/expectations/data_values/ut_data_value_clob.tps @@ -1,4 +1,4 @@ -create or replace type ut_data_value_clob under ut_data_value( +create or replace noneditionable type ut_data_value_clob under ut_data_value( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_data_value_date.tpb b/source/expectations/data_values/ut_data_value_date.tpb index dc1c4d22f..2a1232a1c 100644 --- a/source/expectations/data_values/ut_data_value_date.tpb +++ b/source/expectations/data_values/ut_data_value_date.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_data_value_date as +create or replace noneditionable type body ut_data_value_date as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_data_value_date.tps b/source/expectations/data_values/ut_data_value_date.tps index 8db1850c2..0bb9a17cf 100644 --- a/source/expectations/data_values/ut_data_value_date.tps +++ b/source/expectations/data_values/ut_data_value_date.tps @@ -1,4 +1,4 @@ -create or replace type ut_data_value_date under ut_data_value( +create or replace noneditionable type ut_data_value_date under ut_data_value( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_data_value_dsinterval.tpb b/source/expectations/data_values/ut_data_value_dsinterval.tpb index bcfb48a2b..adad0ef6d 100644 --- a/source/expectations/data_values/ut_data_value_dsinterval.tpb +++ b/source/expectations/data_values/ut_data_value_dsinterval.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_data_value_dsinterval as +create or replace noneditionable type body ut_data_value_dsinterval as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_data_value_dsinterval.tps b/source/expectations/data_values/ut_data_value_dsinterval.tps index 5add4adf9..3d15e2e09 100644 --- a/source/expectations/data_values/ut_data_value_dsinterval.tps +++ b/source/expectations/data_values/ut_data_value_dsinterval.tps @@ -1,4 +1,4 @@ -create or replace type ut_data_value_dsinterval under ut_data_value( +create or replace noneditionable type ut_data_value_dsinterval under ut_data_value( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_data_value_json.tpb b/source/expectations/data_values/ut_data_value_json.tpb index 9f65ef618..e1b5aa995 100644 --- a/source/expectations/data_values/ut_data_value_json.tpb +++ b/source/expectations/data_values/ut_data_value_json.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_data_value_json as +create or replace noneditionable type body ut_data_value_json as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_data_value_json.tps b/source/expectations/data_values/ut_data_value_json.tps index 46a78e00e..c89088564 100644 --- a/source/expectations/data_values/ut_data_value_json.tps +++ b/source/expectations/data_values/ut_data_value_json.tps @@ -1,4 +1,4 @@ -create or replace type ut_data_value_json under ut_compound_data_value( +create or replace noneditionable type ut_data_value_json under ut_compound_data_value( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_data_value_number.tpb b/source/expectations/data_values/ut_data_value_number.tpb index 53b8ce413..3ea08bbd4 100644 --- a/source/expectations/data_values/ut_data_value_number.tpb +++ b/source/expectations/data_values/ut_data_value_number.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_data_value_number as +create or replace noneditionable type body ut_data_value_number as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_data_value_number.tps b/source/expectations/data_values/ut_data_value_number.tps index 914252b9f..e7031de72 100644 --- a/source/expectations/data_values/ut_data_value_number.tps +++ b/source/expectations/data_values/ut_data_value_number.tps @@ -1,4 +1,4 @@ -create or replace type ut_data_value_number under ut_data_value( +create or replace noneditionable type ut_data_value_number under ut_data_value( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_data_value_refcursor.tpb b/source/expectations/data_values/ut_data_value_refcursor.tpb index ee1408b56..b7f79ac52 100644 --- a/source/expectations/data_values/ut_data_value_refcursor.tpb +++ b/source/expectations/data_values/ut_data_value_refcursor.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_data_value_refcursor as +create or replace noneditionable type body ut_data_value_refcursor as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_data_value_refcursor.tps b/source/expectations/data_values/ut_data_value_refcursor.tps index 7d336bd78..90a305d32 100644 --- a/source/expectations/data_values/ut_data_value_refcursor.tps +++ b/source/expectations/data_values/ut_data_value_refcursor.tps @@ -1,4 +1,4 @@ -create or replace type ut_data_value_refcursor under ut_compound_data_value( +create or replace noneditionable type ut_data_value_refcursor under ut_compound_data_value( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_data_value_timestamp.tpb b/source/expectations/data_values/ut_data_value_timestamp.tpb index bfb0ab734..c6aabf7a3 100644 --- a/source/expectations/data_values/ut_data_value_timestamp.tpb +++ b/source/expectations/data_values/ut_data_value_timestamp.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_data_value_timestamp as +create or replace noneditionable type body ut_data_value_timestamp as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_data_value_timestamp.tps b/source/expectations/data_values/ut_data_value_timestamp.tps index 5c1f0b879..938b0d63c 100644 --- a/source/expectations/data_values/ut_data_value_timestamp.tps +++ b/source/expectations/data_values/ut_data_value_timestamp.tps @@ -1,4 +1,4 @@ -create or replace type ut_data_value_timestamp under ut_data_value( +create or replace noneditionable type ut_data_value_timestamp under ut_data_value( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_data_value_timestamp_ltz.tpb b/source/expectations/data_values/ut_data_value_timestamp_ltz.tpb index ba1610d31..025314f4b 100644 --- a/source/expectations/data_values/ut_data_value_timestamp_ltz.tpb +++ b/source/expectations/data_values/ut_data_value_timestamp_ltz.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_data_value_timestamp_ltz as +create or replace noneditionable type body ut_data_value_timestamp_ltz as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_data_value_timestamp_ltz.tps b/source/expectations/data_values/ut_data_value_timestamp_ltz.tps index 51bf615af..e7c61a878 100644 --- a/source/expectations/data_values/ut_data_value_timestamp_ltz.tps +++ b/source/expectations/data_values/ut_data_value_timestamp_ltz.tps @@ -1,4 +1,4 @@ -create or replace type ut_data_value_timestamp_ltz under ut_data_value( +create or replace noneditionable type ut_data_value_timestamp_ltz under ut_data_value( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_data_value_timestamp_tz.tpb b/source/expectations/data_values/ut_data_value_timestamp_tz.tpb index ea0d28090..6af5fea4d 100644 --- a/source/expectations/data_values/ut_data_value_timestamp_tz.tpb +++ b/source/expectations/data_values/ut_data_value_timestamp_tz.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_data_value_timestamp_tz as +create or replace noneditionable type body ut_data_value_timestamp_tz as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_data_value_timestamp_tz.tps b/source/expectations/data_values/ut_data_value_timestamp_tz.tps index 435dc8df0..ad190d197 100644 --- a/source/expectations/data_values/ut_data_value_timestamp_tz.tps +++ b/source/expectations/data_values/ut_data_value_timestamp_tz.tps @@ -1,4 +1,4 @@ -create or replace type ut_data_value_timestamp_tz under ut_data_value( +create or replace noneditionable type ut_data_value_timestamp_tz under ut_data_value( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_data_value_varchar2.tpb b/source/expectations/data_values/ut_data_value_varchar2.tpb index 923ef7b9e..7a26d7571 100644 --- a/source/expectations/data_values/ut_data_value_varchar2.tpb +++ b/source/expectations/data_values/ut_data_value_varchar2.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_data_value_varchar2 as +create or replace noneditionable type body ut_data_value_varchar2 as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_data_value_varchar2.tps b/source/expectations/data_values/ut_data_value_varchar2.tps index 8db175d90..56effd460 100644 --- a/source/expectations/data_values/ut_data_value_varchar2.tps +++ b/source/expectations/data_values/ut_data_value_varchar2.tps @@ -1,4 +1,4 @@ -create or replace type ut_data_value_varchar2 under ut_data_value( +create or replace noneditionable type ut_data_value_varchar2 under ut_data_value( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_data_value_xmltype.tpb b/source/expectations/data_values/ut_data_value_xmltype.tpb index dc518da54..f5ffcbc9a 100644 --- a/source/expectations/data_values/ut_data_value_xmltype.tpb +++ b/source/expectations/data_values/ut_data_value_xmltype.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_data_value_xmltype as +create or replace noneditionable type body ut_data_value_xmltype as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_data_value_xmltype.tps b/source/expectations/data_values/ut_data_value_xmltype.tps index 3929b4d7c..2d0257918 100644 --- a/source/expectations/data_values/ut_data_value_xmltype.tps +++ b/source/expectations/data_values/ut_data_value_xmltype.tps @@ -1,4 +1,4 @@ -create or replace type ut_data_value_xmltype under ut_data_value( +create or replace noneditionable type ut_data_value_xmltype under ut_data_value( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_data_value_yminterval.tpb b/source/expectations/data_values/ut_data_value_yminterval.tpb index abba0bc20..8d12d3544 100644 --- a/source/expectations/data_values/ut_data_value_yminterval.tpb +++ b/source/expectations/data_values/ut_data_value_yminterval.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_data_value_yminterval as +create or replace noneditionable type body ut_data_value_yminterval as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_data_value_yminterval.tps b/source/expectations/data_values/ut_data_value_yminterval.tps index 734ed545d..8c3ad8079 100644 --- a/source/expectations/data_values/ut_data_value_yminterval.tps +++ b/source/expectations/data_values/ut_data_value_yminterval.tps @@ -1,4 +1,4 @@ -create or replace type ut_data_value_yminterval under ut_data_value( +create or replace noneditionable type ut_data_value_yminterval under ut_data_value( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_json_leaf.tpb b/source/expectations/data_values/ut_json_leaf.tpb index b7a20f11b..d6c862286 100644 --- a/source/expectations/data_values/ut_json_leaf.tpb +++ b/source/expectations/data_values/ut_json_leaf.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_json_leaf as +create or replace noneditionable type body ut_json_leaf as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_json_leaf.tps b/source/expectations/data_values/ut_json_leaf.tps index 70d4df71d..ac478e34e 100644 --- a/source/expectations/data_values/ut_json_leaf.tps +++ b/source/expectations/data_values/ut_json_leaf.tps @@ -1,4 +1,4 @@ -create or replace type ut_json_leaf authid current_user as object ( +create or replace noneditionable type ut_json_leaf authid current_user as object ( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_json_leaf_tab.tps b/source/expectations/data_values/ut_json_leaf_tab.tps index 10fd3eef6..c00f2a3a1 100644 --- a/source/expectations/data_values/ut_json_leaf_tab.tps +++ b/source/expectations/data_values/ut_json_leaf_tab.tps @@ -1,4 +1,4 @@ -create or replace type ut_json_leaf_tab as +create or replace noneditionable type ut_json_leaf_tab as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_json_tree_details.tpb b/source/expectations/data_values/ut_json_tree_details.tpb index f82aac5a0..0d457b2c5 100644 --- a/source/expectations/data_values/ut_json_tree_details.tpb +++ b/source/expectations/data_values/ut_json_tree_details.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_json_tree_details as +create or replace noneditionable type body ut_json_tree_details as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_json_tree_details.tps b/source/expectations/data_values/ut_json_tree_details.tps index 9c37f99ea..4f7e891be 100644 --- a/source/expectations/data_values/ut_json_tree_details.tps +++ b/source/expectations/data_values/ut_json_tree_details.tps @@ -1,4 +1,4 @@ -create or replace type ut_json_tree_details force as object ( +create or replace noneditionable type ut_json_tree_details force as object ( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_key_anyval_pair.tps b/source/expectations/data_values/ut_key_anyval_pair.tps index 7935ffa09..6ed63ae7e 100644 --- a/source/expectations/data_values/ut_key_anyval_pair.tps +++ b/source/expectations/data_values/ut_key_anyval_pair.tps @@ -1,4 +1,4 @@ -create or replace type ut_key_anyval_pair force as object( +create or replace noneditionable type ut_key_anyval_pair force as object( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_key_anyval_pairs.tps b/source/expectations/data_values/ut_key_anyval_pairs.tps index 2cc1ff225..a75305f79 100644 --- a/source/expectations/data_values/ut_key_anyval_pairs.tps +++ b/source/expectations/data_values/ut_key_anyval_pairs.tps @@ -1,4 +1,4 @@ -create or replace type ut_key_anyval_pairs as +create or replace noneditionable type ut_key_anyval_pairs as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_key_anyvalues.tpb b/source/expectations/data_values/ut_key_anyvalues.tpb index 67b877874..4e6dd2c0f 100644 --- a/source/expectations/data_values/ut_key_anyvalues.tpb +++ b/source/expectations/data_values/ut_key_anyvalues.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_key_anyvalues as +create or replace noneditionable type body ut_key_anyvalues as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/data_values/ut_key_anyvalues.tps b/source/expectations/data_values/ut_key_anyvalues.tps index df14a8101..21a9a5c72 100644 --- a/source/expectations/data_values/ut_key_anyvalues.tps +++ b/source/expectations/data_values/ut_key_anyvalues.tps @@ -1,4 +1,4 @@ -create or replace type ut_key_anyvalues under ut_event_item ( +create or replace noneditionable type ut_key_anyvalues under ut_event_item ( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/json_objects_specs.sql b/source/expectations/json_objects_specs.sql index a5d936afb..c0fc15ed6 100644 --- a/source/expectations/json_objects_specs.sql +++ b/source/expectations/json_objects_specs.sql @@ -2,13 +2,13 @@ BEGIN null; $if dbms_db_version.version < 21 $then dbms_output.put_line('Installing json structures specs for native json.'); - execute immediate q'[create or replace TYPE JSON FORCE AUTHID CURRENT_USER AS OBJECT( + execute immediate q'[create or replace noneditionable TYPE JSON FORCE AUTHID CURRENT_USER AS OBJECT( dummyobjt NUMBER ) NOT FINAL NOT INSTANTIABLE;]'; $end $if dbms_db_version.version = 12 and dbms_db_version.release = 1 or dbms_db_version.version < 12 $then dbms_output.put_line('Installing json structures specs.'); - execute immediate q'[create or replace TYPE JSON_Element_T FORCE AUTHID CURRENT_USER AS OBJECT( + execute immediate q'[create or replace noneditionable TYPE JSON_Element_T FORCE AUTHID CURRENT_USER AS OBJECT( dummyobjt NUMBER, STATIC FUNCTION parse(jsn VARCHAR2) RETURN JSON_Element_T, STATIC FUNCTION parse(jsn CLOB) RETURN JSON_Element_T, @@ -34,9 +34,9 @@ BEGIN MEMBER FUNCTION get_Size(self IN JSON_ELEMENT_T) RETURN NUMBER ) NOT FINAL NOT INSTANTIABLE;]'; - execute immediate q'[create or replace TYPE JSON_KEY_LIST FORCE AS VARRAY(32767) OF VARCHAR2(4000);]'; + execute immediate q'[create or replace noneditionable TYPE JSON_KEY_LIST FORCE AS VARRAY(32767) OF VARCHAR2(4000);]'; - execute immediate q'[create or replace TYPE JSON_Array_T FORCE AUTHID CURRENT_USER UNDER JSON_Element_T( + execute immediate q'[create or replace noneditionable TYPE JSON_Array_T FORCE AUTHID CURRENT_USER UNDER JSON_Element_T( CONSTRUCTOR FUNCTION JSON_Array_T RETURN SELF AS RESULT, MEMBER FUNCTION get(pos NUMBER) RETURN JSON_Element_T, MEMBER FUNCTION get_String(pos NUMBER) RETURN VARCHAR2, @@ -51,7 +51,7 @@ BEGIN MEMBER FUNCTION get_Type(pos NUMBER) RETURN VARCHAR2 ) FINAL;]'; - execute immediate q'[create or replace TYPE JSON_Object_T AUTHID CURRENT_USER UNDER JSON_Element_T( + execute immediate q'[create or replace noneditionable TYPE JSON_Object_T AUTHID CURRENT_USER UNDER JSON_Element_T( CONSTRUCTOR FUNCTION JSON_Object_T RETURN SELF AS RESULT, MEMBER FUNCTION get(key VARCHAR2) RETURN JSON_Element_T, MEMBER FUNCTION get_Object(key VARCHAR2) RETURN JSON_OBJECT_T, diff --git a/source/expectations/matchers/ut_be_between.tpb b/source/expectations/matchers/ut_be_between.tpb index 787be701b..83dfc4c25 100644 --- a/source/expectations/matchers/ut_be_between.tpb +++ b/source/expectations/matchers/ut_be_between.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_be_between is +create or replace noneditionable type body ut_be_between is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_be_between.tps b/source/expectations/matchers/ut_be_between.tps index a08d7a823..7f1403847 100644 --- a/source/expectations/matchers/ut_be_between.tps +++ b/source/expectations/matchers/ut_be_between.tps @@ -1,4 +1,4 @@ -create or replace type ut_be_between under ut_matcher( +create or replace noneditionable type ut_be_between under ut_matcher( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_be_empty.tpb b/source/expectations/matchers/ut_be_empty.tpb index bac77166a..af233aa8f 100644 --- a/source/expectations/matchers/ut_be_empty.tpb +++ b/source/expectations/matchers/ut_be_empty.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_be_empty as +create or replace noneditionable type body ut_be_empty as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_be_empty.tps b/source/expectations/matchers/ut_be_empty.tps index 948e771a3..a5672ba78 100644 --- a/source/expectations/matchers/ut_be_empty.tps +++ b/source/expectations/matchers/ut_be_empty.tps @@ -1,4 +1,4 @@ -create or replace type ut_be_empty under ut_matcher( +create or replace noneditionable type ut_be_empty under ut_matcher( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_be_false.tpb b/source/expectations/matchers/ut_be_false.tpb index 5a5421e8b..a02ac58cb 100644 --- a/source/expectations/matchers/ut_be_false.tpb +++ b/source/expectations/matchers/ut_be_false.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_be_false as +create or replace noneditionable type body ut_be_false as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_be_false.tps b/source/expectations/matchers/ut_be_false.tps index b6906ece8..d793844c1 100644 --- a/source/expectations/matchers/ut_be_false.tps +++ b/source/expectations/matchers/ut_be_false.tps @@ -1,4 +1,4 @@ -create or replace type ut_be_false under ut_matcher( +create or replace noneditionable type ut_be_false under ut_matcher( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_be_greater_or_equal.tpb b/source/expectations/matchers/ut_be_greater_or_equal.tpb index fbd165b1d..6e564a90c 100644 --- a/source/expectations/matchers/ut_be_greater_or_equal.tpb +++ b/source/expectations/matchers/ut_be_greater_or_equal.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_be_greater_or_equal AS +create or replace noneditionable type body ut_be_greater_or_equal AS /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_be_greater_or_equal.tps b/source/expectations/matchers/ut_be_greater_or_equal.tps index e87740134..d3e651958 100644 --- a/source/expectations/matchers/ut_be_greater_or_equal.tps +++ b/source/expectations/matchers/ut_be_greater_or_equal.tps @@ -1,4 +1,4 @@ -create or replace type ut_be_greater_or_equal under ut_comparison_matcher( +create or replace noneditionable type ut_be_greater_or_equal under ut_comparison_matcher( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_be_greater_than.tpb b/source/expectations/matchers/ut_be_greater_than.tpb index f59c2f0be..08628ae3a 100644 --- a/source/expectations/matchers/ut_be_greater_than.tpb +++ b/source/expectations/matchers/ut_be_greater_than.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_be_greater_than AS +create or replace noneditionable type body ut_be_greater_than AS /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_be_greater_than.tps b/source/expectations/matchers/ut_be_greater_than.tps index b66009bab..745b19f08 100644 --- a/source/expectations/matchers/ut_be_greater_than.tps +++ b/source/expectations/matchers/ut_be_greater_than.tps @@ -1,4 +1,4 @@ -create or replace type ut_be_greater_than under ut_comparison_matcher( +create or replace noneditionable type ut_be_greater_than under ut_comparison_matcher( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_be_less_or_equal.tpb b/source/expectations/matchers/ut_be_less_or_equal.tpb index 24c1f9c96..2df06a078 100644 --- a/source/expectations/matchers/ut_be_less_or_equal.tpb +++ b/source/expectations/matchers/ut_be_less_or_equal.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_be_less_or_equal AS +create or replace noneditionable type body ut_be_less_or_equal AS /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_be_less_or_equal.tps b/source/expectations/matchers/ut_be_less_or_equal.tps index 5114644b0..f0e297ad1 100644 --- a/source/expectations/matchers/ut_be_less_or_equal.tps +++ b/source/expectations/matchers/ut_be_less_or_equal.tps @@ -1,4 +1,4 @@ -create or replace type ut_be_less_or_equal under ut_comparison_matcher( +create or replace noneditionable type ut_be_less_or_equal under ut_comparison_matcher( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_be_less_than.tpb b/source/expectations/matchers/ut_be_less_than.tpb index 011ad392f..c0b059231 100644 --- a/source/expectations/matchers/ut_be_less_than.tpb +++ b/source/expectations/matchers/ut_be_less_than.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_be_less_than as +create or replace noneditionable type body ut_be_less_than as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_be_less_than.tps b/source/expectations/matchers/ut_be_less_than.tps index 81a25144d..594df9b71 100644 --- a/source/expectations/matchers/ut_be_less_than.tps +++ b/source/expectations/matchers/ut_be_less_than.tps @@ -1,4 +1,4 @@ -create or replace type ut_be_less_than under ut_comparison_matcher( +create or replace noneditionable type ut_be_less_than under ut_comparison_matcher( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_be_like.tpb b/source/expectations/matchers/ut_be_like.tpb index 953adbe5b..b94c3fa91 100644 --- a/source/expectations/matchers/ut_be_like.tpb +++ b/source/expectations/matchers/ut_be_like.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_be_like as +create or replace noneditionable type body ut_be_like as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_be_like.tps b/source/expectations/matchers/ut_be_like.tps index 1d907ed03..ca9ad45de 100644 --- a/source/expectations/matchers/ut_be_like.tps +++ b/source/expectations/matchers/ut_be_like.tps @@ -1,4 +1,4 @@ -create or replace type ut_be_like under ut_matcher( +create or replace noneditionable type ut_be_like under ut_matcher( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_be_not_null.tpb b/source/expectations/matchers/ut_be_not_null.tpb index df9366fa7..d291d2e35 100644 --- a/source/expectations/matchers/ut_be_not_null.tpb +++ b/source/expectations/matchers/ut_be_not_null.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_be_not_null as +create or replace noneditionable type body ut_be_not_null as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_be_not_null.tps b/source/expectations/matchers/ut_be_not_null.tps index 6cd11fc64..61f6c871d 100644 --- a/source/expectations/matchers/ut_be_not_null.tps +++ b/source/expectations/matchers/ut_be_not_null.tps @@ -1,4 +1,4 @@ -create or replace type ut_be_not_null under ut_matcher( +create or replace noneditionable type ut_be_not_null under ut_matcher( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_be_null.tpb b/source/expectations/matchers/ut_be_null.tpb index d806bba34..89fbaf563 100644 --- a/source/expectations/matchers/ut_be_null.tpb +++ b/source/expectations/matchers/ut_be_null.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_be_null as +create or replace noneditionable type body ut_be_null as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_be_null.tps b/source/expectations/matchers/ut_be_null.tps index 28f3ac796..063c7db29 100644 --- a/source/expectations/matchers/ut_be_null.tps +++ b/source/expectations/matchers/ut_be_null.tps @@ -1,4 +1,4 @@ -create or replace type ut_be_null under ut_matcher( +create or replace noneditionable type ut_be_null under ut_matcher( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_be_true.tpb b/source/expectations/matchers/ut_be_true.tpb index 442e57d7f..59368f342 100644 --- a/source/expectations/matchers/ut_be_true.tpb +++ b/source/expectations/matchers/ut_be_true.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_be_true as +create or replace noneditionable type body ut_be_true as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_be_true.tps b/source/expectations/matchers/ut_be_true.tps index b55fa484d..19d397371 100644 --- a/source/expectations/matchers/ut_be_true.tps +++ b/source/expectations/matchers/ut_be_true.tps @@ -1,4 +1,4 @@ -create or replace type ut_be_true under ut_matcher( +create or replace noneditionable type ut_be_true under ut_matcher( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_be_within.tpb b/source/expectations/matchers/ut_be_within.tpb index f77e9feec..f8f880ace 100644 --- a/source/expectations/matchers/ut_be_within.tpb +++ b/source/expectations/matchers/ut_be_within.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_be_within as +create or replace noneditionable type body ut_be_within as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_be_within.tps b/source/expectations/matchers/ut_be_within.tps index 06a685832..276c529df 100644 --- a/source/expectations/matchers/ut_be_within.tps +++ b/source/expectations/matchers/ut_be_within.tps @@ -1,4 +1,4 @@ -create or replace type ut_be_within force under ut_be_within_pct( +create or replace noneditionable type ut_be_within force under ut_be_within_pct( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_be_within_helper.pkb b/source/expectations/matchers/ut_be_within_helper.pkb index 561bf230b..635c1b111 100644 --- a/source/expectations/matchers/ut_be_within_helper.pkb +++ b/source/expectations/matchers/ut_be_within_helper.pkb @@ -1,4 +1,4 @@ -create or replace package body ut_be_within_helper as +create or replace noneditionable package body ut_be_within_helper as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_be_within_helper.pks b/source/expectations/matchers/ut_be_within_helper.pks index b8480e249..5a59eea9e 100644 --- a/source/expectations/matchers/ut_be_within_helper.pks +++ b/source/expectations/matchers/ut_be_within_helper.pks @@ -1,4 +1,4 @@ -create or replace package ut_be_within_helper authid definer as +create or replace noneditionable package ut_be_within_helper authid definer as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_be_within_pct.tpb b/source/expectations/matchers/ut_be_within_pct.tpb index ad821d72c..82ce8e84e 100644 --- a/source/expectations/matchers/ut_be_within_pct.tpb +++ b/source/expectations/matchers/ut_be_within_pct.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_be_within_pct as +create or replace noneditionable type body ut_be_within_pct as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_be_within_pct.tps b/source/expectations/matchers/ut_be_within_pct.tps index 645e9c485..810eaa5b3 100644 --- a/source/expectations/matchers/ut_be_within_pct.tps +++ b/source/expectations/matchers/ut_be_within_pct.tps @@ -1,4 +1,4 @@ -create or replace type ut_be_within_pct force under ut_comparison_matcher( +create or replace noneditionable type ut_be_within_pct force under ut_comparison_matcher( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_comparison_matcher.tpb b/source/expectations/matchers/ut_comparison_matcher.tpb index b7cef4f59..d6c47855d 100644 --- a/source/expectations/matchers/ut_comparison_matcher.tpb +++ b/source/expectations/matchers/ut_comparison_matcher.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_comparison_matcher as +create or replace noneditionable type body ut_comparison_matcher as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_comparison_matcher.tps b/source/expectations/matchers/ut_comparison_matcher.tps index 11b46d47c..b1ed08a84 100644 --- a/source/expectations/matchers/ut_comparison_matcher.tps +++ b/source/expectations/matchers/ut_comparison_matcher.tps @@ -1,4 +1,4 @@ -create or replace type ut_comparison_matcher under ut_matcher( +create or replace noneditionable type ut_comparison_matcher under ut_matcher( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_contain.tpb b/source/expectations/matchers/ut_contain.tpb index a8eb71ecd..bcc3806b7 100644 --- a/source/expectations/matchers/ut_contain.tpb +++ b/source/expectations/matchers/ut_contain.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_contain as +create or replace noneditionable type body ut_contain as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_contain.tps b/source/expectations/matchers/ut_contain.tps index 6d7c525c6..bd67113c9 100644 --- a/source/expectations/matchers/ut_contain.tps +++ b/source/expectations/matchers/ut_contain.tps @@ -1,4 +1,4 @@ -create or replace type ut_contain under ut_equal( +create or replace noneditionable type ut_contain under ut_equal( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_equal.tpb b/source/expectations/matchers/ut_equal.tpb index f5932b2ad..f999995d1 100644 --- a/source/expectations/matchers/ut_equal.tpb +++ b/source/expectations/matchers/ut_equal.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_equal as +create or replace noneditionable type body ut_equal as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_equal.tps b/source/expectations/matchers/ut_equal.tps index e23eaf23b..eeb715a58 100644 --- a/source/expectations/matchers/ut_equal.tps +++ b/source/expectations/matchers/ut_equal.tps @@ -1,4 +1,4 @@ -create or replace type ut_equal force under ut_comparison_matcher( +create or replace noneditionable type ut_equal force under ut_comparison_matcher( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_have_count.tpb b/source/expectations/matchers/ut_have_count.tpb index 0d4cfbcc0..f6d3d2682 100644 --- a/source/expectations/matchers/ut_have_count.tpb +++ b/source/expectations/matchers/ut_have_count.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_have_count as +create or replace noneditionable type body ut_have_count as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_have_count.tps b/source/expectations/matchers/ut_have_count.tps index bd075e8f4..85cdf4393 100644 --- a/source/expectations/matchers/ut_have_count.tps +++ b/source/expectations/matchers/ut_have_count.tps @@ -1,4 +1,4 @@ -create or replace type ut_have_count under ut_matcher( +create or replace noneditionable type ut_have_count under ut_matcher( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_match.tpb b/source/expectations/matchers/ut_match.tpb index de645a135..1836298e7 100644 --- a/source/expectations/matchers/ut_match.tpb +++ b/source/expectations/matchers/ut_match.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_match as +create or replace noneditionable type body ut_match as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_match.tps b/source/expectations/matchers/ut_match.tps index ababff18f..3f840545f 100644 --- a/source/expectations/matchers/ut_match.tps +++ b/source/expectations/matchers/ut_match.tps @@ -1,4 +1,4 @@ -create or replace type ut_match under ut_matcher( +create or replace noneditionable type ut_match under ut_matcher( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_matcher.tpb b/source/expectations/matchers/ut_matcher.tpb index 07e082a71..828e1ac51 100644 --- a/source/expectations/matchers/ut_matcher.tpb +++ b/source/expectations/matchers/ut_matcher.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_matcher as +create or replace noneditionable type body ut_matcher as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_matcher.tps b/source/expectations/matchers/ut_matcher.tps index 2551ce003..ee7f1b5dd 100644 --- a/source/expectations/matchers/ut_matcher.tps +++ b/source/expectations/matchers/ut_matcher.tps @@ -1,4 +1,4 @@ -create or replace type ut_matcher under ut_matcher_base( +create or replace noneditionable type ut_matcher under ut_matcher_base( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_matcher_base.tps b/source/expectations/matchers/ut_matcher_base.tps index c6d44468d..ba79a6aed 100644 --- a/source/expectations/matchers/ut_matcher_base.tps +++ b/source/expectations/matchers/ut_matcher_base.tps @@ -1,4 +1,4 @@ -create or replace type ut_matcher_base force authid current_user as object( +create or replace noneditionable type ut_matcher_base force authid current_user as object( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_matcher_options.tpb b/source/expectations/matchers/ut_matcher_options.tpb index 1acb4405b..57aca2617 100644 --- a/source/expectations/matchers/ut_matcher_options.tpb +++ b/source/expectations/matchers/ut_matcher_options.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_matcher_options as +create or replace noneditionable type body ut_matcher_options as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_matcher_options.tps b/source/expectations/matchers/ut_matcher_options.tps index 835316e7c..db076fd99 100644 --- a/source/expectations/matchers/ut_matcher_options.tps +++ b/source/expectations/matchers/ut_matcher_options.tps @@ -1,4 +1,4 @@ -create or replace type ut_matcher_options authid current_user as object( +create or replace noneditionable type ut_matcher_options authid current_user as object( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_matcher_options_items.tpb b/source/expectations/matchers/ut_matcher_options_items.tpb index 921d3ecd2..6e4841870 100644 --- a/source/expectations/matchers/ut_matcher_options_items.tpb +++ b/source/expectations/matchers/ut_matcher_options_items.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_matcher_options_items is +create or replace noneditionable type body ut_matcher_options_items is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/matchers/ut_matcher_options_items.tps b/source/expectations/matchers/ut_matcher_options_items.tps index 73c2bb92d..045a7ece7 100644 --- a/source/expectations/matchers/ut_matcher_options_items.tps +++ b/source/expectations/matchers/ut_matcher_options_items.tps @@ -1,4 +1,4 @@ -create or replace type ut_matcher_options_items authid current_user as object( +create or replace noneditionable type ut_matcher_options_items authid current_user as object( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/ut_expectation.tpb b/source/expectations/ut_expectation.tpb index 12aef603a..5f7c9cce0 100644 --- a/source/expectations/ut_expectation.tpb +++ b/source/expectations/ut_expectation.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_expectation as +create or replace noneditionable type body ut_expectation as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/ut_expectation.tps b/source/expectations/ut_expectation.tps index b015a95a7..a423c39a4 100644 --- a/source/expectations/ut_expectation.tps +++ b/source/expectations/ut_expectation.tps @@ -1,4 +1,4 @@ -create or replace type ut_expectation force under ut_expectation_base( +create or replace noneditionable type ut_expectation force under ut_expectation_base( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/ut_expectation_base.tpb b/source/expectations/ut_expectation_base.tpb index 3d6e9b469..5ed630c63 100644 --- a/source/expectations/ut_expectation_base.tpb +++ b/source/expectations/ut_expectation_base.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_expectation_base as +create or replace noneditionable type body ut_expectation_base as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/ut_expectation_base.tps b/source/expectations/ut_expectation_base.tps index 24e180b92..86f274495 100644 --- a/source/expectations/ut_expectation_base.tps +++ b/source/expectations/ut_expectation_base.tps @@ -1,4 +1,4 @@ -create or replace type ut_expectation_base authid current_user as object( +create or replace noneditionable type ut_expectation_base authid current_user as object( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/ut_expectation_compound.tpb b/source/expectations/ut_expectation_compound.tpb index 1131885b0..d76010f80 100644 --- a/source/expectations/ut_expectation_compound.tpb +++ b/source/expectations/ut_expectation_compound.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_expectation_compound as +create or replace noneditionable type body ut_expectation_compound as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/ut_expectation_compound.tps b/source/expectations/ut_expectation_compound.tps index ebf534222..54de48dd4 100644 --- a/source/expectations/ut_expectation_compound.tps +++ b/source/expectations/ut_expectation_compound.tps @@ -1,4 +1,4 @@ -create or replace type ut_expectation_compound under ut_expectation( +create or replace noneditionable type ut_expectation_compound under ut_expectation( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/ut_expectation_json.tpb b/source/expectations/ut_expectation_json.tpb index 90a3a3d31..68d4085ef 100644 --- a/source/expectations/ut_expectation_json.tpb +++ b/source/expectations/ut_expectation_json.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_expectation_json as +create or replace noneditionable type body ut_expectation_json as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/expectations/ut_expectation_json.tps b/source/expectations/ut_expectation_json.tps index d873cc99c..c75154bc8 100644 --- a/source/expectations/ut_expectation_json.tps +++ b/source/expectations/ut_expectation_json.tps @@ -1,4 +1,4 @@ -create or replace type ut_expectation_json under ut_expectation( +create or replace noneditionable type ut_expectation_json under ut_expectation( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/reporters/ut_ansiconsole_helper.pkb b/source/reporters/ut_ansiconsole_helper.pkb index 46960cf5c..e8ee34531 100644 --- a/source/reporters/ut_ansiconsole_helper.pkb +++ b/source/reporters/ut_ansiconsole_helper.pkb @@ -1,4 +1,4 @@ -create or replace package body ut_ansiconsole_helper as +create or replace noneditionable package body ut_ansiconsole_helper as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/reporters/ut_ansiconsole_helper.pks b/source/reporters/ut_ansiconsole_helper.pks index fd4549965..e882de293 100644 --- a/source/reporters/ut_ansiconsole_helper.pks +++ b/source/reporters/ut_ansiconsole_helper.pks @@ -1,4 +1,4 @@ -create or replace package ut_ansiconsole_helper as +create or replace noneditionable package ut_ansiconsole_helper as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/reporters/ut_coverage_cobertura_reporter.tpb b/source/reporters/ut_coverage_cobertura_reporter.tpb index 833ca09be..45c1935b1 100644 --- a/source/reporters/ut_coverage_cobertura_reporter.tpb +++ b/source/reporters/ut_coverage_cobertura_reporter.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_coverage_cobertura_reporter is +create or replace noneditionable type body ut_coverage_cobertura_reporter is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/reporters/ut_coverage_cobertura_reporter.tps b/source/reporters/ut_coverage_cobertura_reporter.tps index ee2d9b71d..799840a55 100644 --- a/source/reporters/ut_coverage_cobertura_reporter.tps +++ b/source/reporters/ut_coverage_cobertura_reporter.tps @@ -1,4 +1,4 @@ -create or replace type ut_coverage_cobertura_reporter under ut_coverage_reporter_base( +create or replace noneditionable type ut_coverage_cobertura_reporter under ut_coverage_reporter_base( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/reporters/ut_coverage_html_reporter.tpb b/source/reporters/ut_coverage_html_reporter.tpb index 253c067e5..90419371a 100644 --- a/source/reporters/ut_coverage_html_reporter.tpb +++ b/source/reporters/ut_coverage_html_reporter.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_coverage_html_reporter is +create or replace noneditionable type body ut_coverage_html_reporter is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/reporters/ut_coverage_html_reporter.tps b/source/reporters/ut_coverage_html_reporter.tps index db65e1e00..23cf45c0b 100644 --- a/source/reporters/ut_coverage_html_reporter.tps +++ b/source/reporters/ut_coverage_html_reporter.tps @@ -1,4 +1,4 @@ -create or replace type ut_coverage_html_reporter under ut_coverage_reporter_base( +create or replace noneditionable type ut_coverage_html_reporter under ut_coverage_reporter_base( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/reporters/ut_coverage_report_html_helper.pkb b/source/reporters/ut_coverage_report_html_helper.pkb index d81211f03..99c36ab73 100644 --- a/source/reporters/ut_coverage_report_html_helper.pkb +++ b/source/reporters/ut_coverage_report_html_helper.pkb @@ -1,4 +1,4 @@ -create or replace package body ut_coverage_report_html_helper is +create or replace noneditionable package body ut_coverage_report_html_helper is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/reporters/ut_coverage_report_html_helper.pks b/source/reporters/ut_coverage_report_html_helper.pks index c028168a8..8463e3e89 100644 --- a/source/reporters/ut_coverage_report_html_helper.pks +++ b/source/reporters/ut_coverage_report_html_helper.pks @@ -1,4 +1,4 @@ -create or replace package ut_coverage_report_html_helper authid current_user is +create or replace noneditionable package ut_coverage_report_html_helper authid current_user is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/reporters/ut_coverage_sonar_reporter.tpb b/source/reporters/ut_coverage_sonar_reporter.tpb index 8148fc7fc..a070572b7 100644 --- a/source/reporters/ut_coverage_sonar_reporter.tpb +++ b/source/reporters/ut_coverage_sonar_reporter.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_coverage_sonar_reporter is +create or replace noneditionable type body ut_coverage_sonar_reporter is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/reporters/ut_coverage_sonar_reporter.tps b/source/reporters/ut_coverage_sonar_reporter.tps index b5e964a3a..fd160bdb5 100644 --- a/source/reporters/ut_coverage_sonar_reporter.tps +++ b/source/reporters/ut_coverage_sonar_reporter.tps @@ -1,4 +1,4 @@ -create or replace type ut_coverage_sonar_reporter under ut_coverage_reporter_base( +create or replace noneditionable type ut_coverage_sonar_reporter under ut_coverage_reporter_base( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/reporters/ut_coveralls_reporter.tpb b/source/reporters/ut_coveralls_reporter.tpb index fc459c906..8d8884878 100644 --- a/source/reporters/ut_coveralls_reporter.tpb +++ b/source/reporters/ut_coveralls_reporter.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_coveralls_reporter is +create or replace noneditionable type body ut_coveralls_reporter is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/reporters/ut_coveralls_reporter.tps b/source/reporters/ut_coveralls_reporter.tps index e547793d1..8518891d5 100644 --- a/source/reporters/ut_coveralls_reporter.tps +++ b/source/reporters/ut_coveralls_reporter.tps @@ -1,4 +1,4 @@ -create or replace type ut_coveralls_reporter under ut_coverage_reporter_base( +create or replace noneditionable type ut_coveralls_reporter under ut_coverage_reporter_base( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/reporters/ut_debug_reporter.tpb b/source/reporters/ut_debug_reporter.tpb index b17f039ea..547437cde 100644 --- a/source/reporters/ut_debug_reporter.tpb +++ b/source/reporters/ut_debug_reporter.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_debug_reporter is +create or replace noneditionable type body ut_debug_reporter is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/reporters/ut_debug_reporter.tps b/source/reporters/ut_debug_reporter.tps index 85c0eeb54..edbf1cdc6 100644 --- a/source/reporters/ut_debug_reporter.tps +++ b/source/reporters/ut_debug_reporter.tps @@ -1,4 +1,4 @@ -create or replace type ut_debug_reporter under ut_output_reporter_base( +create or replace noneditionable type ut_debug_reporter under ut_output_reporter_base( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/reporters/ut_documentation_reporter.tpb b/source/reporters/ut_documentation_reporter.tpb index 489b6efd2..83152ea1c 100644 --- a/source/reporters/ut_documentation_reporter.tpb +++ b/source/reporters/ut_documentation_reporter.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_documentation_reporter is +create or replace noneditionable type body ut_documentation_reporter is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/reporters/ut_documentation_reporter.tps b/source/reporters/ut_documentation_reporter.tps index 23b86226f..bab9082c6 100644 --- a/source/reporters/ut_documentation_reporter.tps +++ b/source/reporters/ut_documentation_reporter.tps @@ -1,4 +1,4 @@ -create or replace type ut_documentation_reporter under ut_console_reporter_base( +create or replace noneditionable type ut_documentation_reporter under ut_console_reporter_base( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/reporters/ut_junit_reporter.tpb b/source/reporters/ut_junit_reporter.tpb index a2cffd287..bf62dc564 100644 --- a/source/reporters/ut_junit_reporter.tpb +++ b/source/reporters/ut_junit_reporter.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_junit_reporter is +create or replace noneditionable type body ut_junit_reporter is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/reporters/ut_junit_reporter.tps b/source/reporters/ut_junit_reporter.tps index 5999c33f5..a20913980 100644 --- a/source/reporters/ut_junit_reporter.tps +++ b/source/reporters/ut_junit_reporter.tps @@ -1,4 +1,4 @@ -create or replace type ut_junit_reporter force under ut_output_reporter_base( +create or replace noneditionable type ut_junit_reporter force under ut_output_reporter_base( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/reporters/ut_realtime_reporter.tpb b/source/reporters/ut_realtime_reporter.tpb index fac7cd9b8..a8b7c566e 100644 --- a/source/reporters/ut_realtime_reporter.tpb +++ b/source/reporters/ut_realtime_reporter.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_realtime_reporter is +create or replace noneditionable type body ut_realtime_reporter is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/reporters/ut_realtime_reporter.tps b/source/reporters/ut_realtime_reporter.tps index 5ab350162..b8686685b 100644 --- a/source/reporters/ut_realtime_reporter.tps +++ b/source/reporters/ut_realtime_reporter.tps @@ -1,4 +1,4 @@ -create or replace type ut_realtime_reporter force under ut_output_reporter_base( +create or replace noneditionable type ut_realtime_reporter force under ut_output_reporter_base( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/reporters/ut_sonar_test_reporter.tpb b/source/reporters/ut_sonar_test_reporter.tpb index dfa6a7421..da29b629d 100644 --- a/source/reporters/ut_sonar_test_reporter.tpb +++ b/source/reporters/ut_sonar_test_reporter.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_sonar_test_reporter is +create or replace noneditionable type body ut_sonar_test_reporter is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/reporters/ut_sonar_test_reporter.tps b/source/reporters/ut_sonar_test_reporter.tps index d9f98071d..0884ad3d3 100644 --- a/source/reporters/ut_sonar_test_reporter.tps +++ b/source/reporters/ut_sonar_test_reporter.tps @@ -1,4 +1,4 @@ -create or replace type ut_sonar_test_reporter under ut_output_reporter_base( +create or replace noneditionable type ut_sonar_test_reporter under ut_output_reporter_base( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/reporters/ut_tap_reporter.tpb b/source/reporters/ut_tap_reporter.tpb index c591c19f8..c807ab3e1 100644 --- a/source/reporters/ut_tap_reporter.tpb +++ b/source/reporters/ut_tap_reporter.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_tap_reporter is +create or replace noneditionable type body ut_tap_reporter is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/reporters/ut_tap_reporter.tps b/source/reporters/ut_tap_reporter.tps index 94423b6fc..150486648 100644 --- a/source/reporters/ut_tap_reporter.tps +++ b/source/reporters/ut_tap_reporter.tps @@ -1,4 +1,4 @@ -create or replace type ut_tap_reporter under ut_documentation_reporter( +create or replace noneditionable type ut_tap_reporter under ut_documentation_reporter( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/reporters/ut_teamcity_reporter.tpb b/source/reporters/ut_teamcity_reporter.tpb index 2e09c7103..94d5497d5 100644 --- a/source/reporters/ut_teamcity_reporter.tpb +++ b/source/reporters/ut_teamcity_reporter.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_teamcity_reporter is +create or replace noneditionable type body ut_teamcity_reporter is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/reporters/ut_teamcity_reporter.tps b/source/reporters/ut_teamcity_reporter.tps index e5c43b59e..2def91c35 100644 --- a/source/reporters/ut_teamcity_reporter.tps +++ b/source/reporters/ut_teamcity_reporter.tps @@ -1,4 +1,4 @@ -create or replace type ut_teamcity_reporter under ut_output_reporter_base( +create or replace noneditionable type ut_teamcity_reporter under ut_output_reporter_base( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/reporters/ut_teamcity_reporter_helper.pkb b/source/reporters/ut_teamcity_reporter_helper.pkb index 575af645d..1d33c43ae 100644 --- a/source/reporters/ut_teamcity_reporter_helper.pkb +++ b/source/reporters/ut_teamcity_reporter_helper.pkb @@ -1,4 +1,4 @@ -create or replace package body ut_teamcity_reporter_helper is +create or replace noneditionable package body ut_teamcity_reporter_helper is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/reporters/ut_teamcity_reporter_helper.pks b/source/reporters/ut_teamcity_reporter_helper.pks index 727d02913..bb9acef35 100644 --- a/source/reporters/ut_teamcity_reporter_helper.pks +++ b/source/reporters/ut_teamcity_reporter_helper.pks @@ -1,4 +1,4 @@ -create or replace package ut_teamcity_reporter_helper is +create or replace noneditionable package ut_teamcity_reporter_helper is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/reporters/ut_tfs_junit_reporter.tpb b/source/reporters/ut_tfs_junit_reporter.tpb index 8c2bd6333..5e24b2dca 100644 --- a/source/reporters/ut_tfs_junit_reporter.tpb +++ b/source/reporters/ut_tfs_junit_reporter.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_tfs_junit_reporter is +create or replace noneditionable type body ut_tfs_junit_reporter is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/reporters/ut_tfs_junit_reporter.tps b/source/reporters/ut_tfs_junit_reporter.tps index 3af2226a5..560bb10dd 100644 --- a/source/reporters/ut_tfs_junit_reporter.tps +++ b/source/reporters/ut_tfs_junit_reporter.tps @@ -1,4 +1,4 @@ -create or replace type ut_tfs_junit_reporter under ut_output_reporter_base( +create or replace noneditionable type ut_tfs_junit_reporter under ut_output_reporter_base( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/reporters/ut_xunit_reporter.tpb b/source/reporters/ut_xunit_reporter.tpb index 164703917..74fc57ac0 100644 --- a/source/reporters/ut_xunit_reporter.tpb +++ b/source/reporters/ut_xunit_reporter.tpb @@ -1,4 +1,4 @@ -create or replace type body ut_xunit_reporter is +create or replace noneditionable type body ut_xunit_reporter is /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/reporters/ut_xunit_reporter.tps b/source/reporters/ut_xunit_reporter.tps index 970e4d162..d701d8ab0 100644 --- a/source/reporters/ut_xunit_reporter.tps +++ b/source/reporters/ut_xunit_reporter.tps @@ -1,4 +1,4 @@ -create or replace type ut_xunit_reporter under ut_junit_reporter( +create or replace noneditionable type ut_xunit_reporter under ut_junit_reporter( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project From 98a6b3bf8b3e223df81845c6f54515e47d88cd34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Sun, 7 Jun 2026 12:36:09 +0300 Subject: [PATCH 043/171] Fixed failing test case --- test/ut3_user/reporters/test_tfs_junit_reporter.pkb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/ut3_user/reporters/test_tfs_junit_reporter.pkb b/test/ut3_user/reporters/test_tfs_junit_reporter.pkb index 1036be2ba..105517763 100644 --- a/test/ut3_user/reporters/test_tfs_junit_reporter.pkb +++ b/test/ut3_user/reporters/test_tfs_junit_reporter.pkb @@ -100,7 +100,7 @@ create or replace package body test_tfs_junit_reporter as --%displayname(Test in and out of context) -- %context(incontext) - -- %name(ProductincontextFeatures) + -- %name(Production_context_Features) --%test(inctx) --%displayname(inctx) @@ -298,7 +298,7 @@ create or replace package body test_tfs_junit_reporter as - + From fc00ada2d2087af7dff0b0ad43a7ec327cea9307 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Sun, 7 Jun 2026 12:39:31 +0300 Subject: [PATCH 044/171] Fixed incorrect code replacement --- source/core/annotations/ut_annotated_object.tps | 2 +- source/core/annotations/ut_annotated_objects.tps | 2 +- source/core/annotations/ut_annotation.tps | 2 +- source/core/annotations/ut_annotation_obj_cache_info.tps | 2 +- source/core/annotations/ut_annotation_objs_cache_info.tps | 2 +- source/core/annotations/ut_annotations.tps | 2 +- source/core/types/ut_suite_cache_rows.tps | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/source/core/annotations/ut_annotated_object.tps b/source/core/annotations/ut_annotated_object.tps index facc8d2d8..ca327d7fc 100644 --- a/source/core/annotations/ut_annotated_object.tps +++ b/source/core/annotations/ut_annotated_object.tps @@ -1,4 +1,4 @@ -create or replace noneditionable type( )ut_annotated_object as object( +create or replace noneditionable type ut_annotated_object as object( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/annotations/ut_annotated_objects.tps b/source/core/annotations/ut_annotated_objects.tps index e86f102c9..2b338e7d9 100644 --- a/source/core/annotations/ut_annotated_objects.tps +++ b/source/core/annotations/ut_annotated_objects.tps @@ -1,4 +1,4 @@ -create or replace noneditionable type( )ut_annotated_objects as +create or replace noneditionable type ut_annotated_objects as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/annotations/ut_annotation.tps b/source/core/annotations/ut_annotation.tps index a6889540f..cc1f90e86 100644 --- a/source/core/annotations/ut_annotation.tps +++ b/source/core/annotations/ut_annotation.tps @@ -1,4 +1,4 @@ -create or replace noneditionable type( )ut_annotation as object( +create or replace noneditionable type ut_annotation as object( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/annotations/ut_annotation_obj_cache_info.tps b/source/core/annotations/ut_annotation_obj_cache_info.tps index 9e0f3aa71..5436a11ed 100644 --- a/source/core/annotations/ut_annotation_obj_cache_info.tps +++ b/source/core/annotations/ut_annotation_obj_cache_info.tps @@ -1,4 +1,4 @@ -create or replace noneditionable type( )ut_annotation_obj_cache_info as object( +create or replace noneditionable type ut_annotation_obj_cache_info as object( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/annotations/ut_annotation_objs_cache_info.tps b/source/core/annotations/ut_annotation_objs_cache_info.tps index f6b5ea20d..c29b7d208 100644 --- a/source/core/annotations/ut_annotation_objs_cache_info.tps +++ b/source/core/annotations/ut_annotation_objs_cache_info.tps @@ -1,4 +1,4 @@ -create or replace noneditionable type( )ut_annotation_objs_cache_info as +create or replace noneditionable type ut_annotation_objs_cache_info as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/annotations/ut_annotations.tps b/source/core/annotations/ut_annotations.tps index dd5b79e71..9e4adc5ae 100644 --- a/source/core/annotations/ut_annotations.tps +++ b/source/core/annotations/ut_annotations.tps @@ -1,4 +1,4 @@ -create or replace noneditionable type( )ut_annotations +create or replace noneditionable type ut_annotations /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project diff --git a/source/core/types/ut_suite_cache_rows.tps b/source/core/types/ut_suite_cache_rows.tps index b201e7bf0..84bcc9f75 100644 --- a/source/core/types/ut_suite_cache_rows.tps +++ b/source/core/types/ut_suite_cache_rows.tps @@ -1,4 +1,4 @@ -create or replace noneditionable type( )ut_suite_cache_rows as +create or replace noneditionable type ut_suite_cache_rows as /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project From 3dcd837c48424ad120682bae8e5758cd6d090d51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Sun, 7 Jun 2026 12:58:05 +0300 Subject: [PATCH 045/171] Fixed incorrect code replacement --- source/core/annotations/ut_trigger_check.pkb | 2 +- source/create_synonyms.sql | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/source/core/annotations/ut_trigger_check.pkb b/source/core/annotations/ut_trigger_check.pkb index da8f98949..463243c5e 100644 --- a/source/core/annotations/ut_trigger_check.pkb +++ b/source/core/annotations/ut_trigger_check.pkb @@ -22,7 +22,7 @@ create or replace noneditionable package body ut_trigger_check is function is_alive return boolean is pragma autonomous_transaction; begin - execute immediate 'create or replace synonym '||ut_utils.ut_owner||'.'||gc_check_object_name||' for no_object'; + execute immediate 'create or replace noneditionable synonym '||ut_utils.ut_owner||'.'||gc_check_object_name||' for no_object'; return g_is_trigger_live; end; diff --git a/source/create_synonyms.sql b/source/create_synonyms.sql index 3cc642921..242bd6d61 100644 --- a/source/create_synonyms.sql +++ b/source/create_synonyms.sql @@ -36,10 +36,10 @@ set termout off spool params.sql.tmp select case - when upper('&&ut3_user') = 'PUBLIC' then q'[define action_type='or replace public' + when upper('&&ut3_user') = 'PUBLIC' then q'[define action_type='or replace noneditionable public' ]'||q'[define ut3_user='' ]'||q'[define grantee='PUBLIC']' - else q'[define action_type='or replace' + else q'[define action_type='or replace noneditionable' ]'||q'[define grantee='&&ut3_user'] ]'||q'[define ut3_user='&&ut3_user..']' end From b876dd060b211f22e32351804515b5551acbbb91 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 7 Jun 2026 11:05:36 +0100 Subject: [PATCH 046/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/about/authors.md | 2 +- docs/about/license.md | 2 +- docs/about/project-details.md | 2 +- docs/about/support.md | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index 17151eb01..0129b6375 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4447 +4458 diff --git a/docs/about/authors.md b/docs/about/authors.md index 812b0c6c1..7eadabde4 100644 --- a/docs/about/authors.md +++ b/docs/about/authors.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4447--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4458--develop-blue.svg) ### utPLSQL v3 Major Contributors diff --git a/docs/about/license.md b/docs/about/license.md index 76f712192..0459d0f20 100644 --- a/docs/about/license.md +++ b/docs/about/license.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4447--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4458--develop-blue.svg) # Version Information diff --git a/docs/about/project-details.md b/docs/about/project-details.md index bb6dd6380..281c38375 100644 --- a/docs/about/project-details.md +++ b/docs/about/project-details.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4447--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4458--develop-blue.svg) # utPLSQL Project Details diff --git a/docs/about/support.md b/docs/about/support.md index 576fbf445..d323b17e0 100644 --- a/docs/about/support.md +++ b/docs/about/support.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4447--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4458--develop-blue.svg) # How to get support diff --git a/docs/index.md b/docs/index.md index 2307868ba..86e6349a4 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4447--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4458--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index 010ceb7d2..3f7bc74ef 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4447--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4458--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index af36ac0ae..8a5f0e2c6 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4447--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4458--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index f9b363977..4087b53f8 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4447--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4458--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index 329528134..ad9e885c2 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4447--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4458--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index 67a15719b..75fd2ad98 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4447--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4458--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index 99a4958d6..cb3fc7207 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4447--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4458--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index 446571936..550a7af23 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4447--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4458--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index 48513cbb6..7bb410a9e 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4447--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4458--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index a6c8d37b4..a4904aa3a 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4447--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4458--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index 3752137cd..cc048e66a 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4447--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4458--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index f5efb4298..f386c2ef0 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4447--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4458--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index 4ca5ec270..2369c6549 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4447--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4458--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 7cffd26e8..89dad120f 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.01.4447-develop'; + gc_version constant varchar2(50) := 'v3.2.01.4458-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From a0620688dcc03bf011ab4d96fd9e08839b85f6f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Sun, 7 Jun 2026 13:09:51 +0300 Subject: [PATCH 047/171] Fixed incorrect code replacement --- source/api/be_between.syn | 2 +- source/api/be_empty.syn | 2 +- source/api/be_false.syn | 2 +- source/api/be_greater_or_equal.syn | 2 +- source/api/be_greater_than.syn | 2 +- source/api/be_less_or_equal.syn | 2 +- source/api/be_less_than.syn | 2 +- source/api/be_like.syn | 2 +- source/api/be_not_null.syn | 2 +- source/api/be_null.syn | 2 +- source/api/be_true.syn | 2 +- source/api/be_within.syn | 2 +- source/api/be_within_pct.syn | 2 +- source/api/contain.syn | 2 +- source/api/equal.syn | 2 +- source/api/have_count.syn | 2 +- source/api/match.syn | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/source/api/be_between.syn b/source/api/be_between.syn index c0972595d..013800746 100644 --- a/source/api/be_between.syn +++ b/source/api/be_between.syn @@ -1 +1 @@ -create synonym be_between for ut_be_between; +create noneditionable synonymbe_between for ut_be_between; diff --git a/source/api/be_empty.syn b/source/api/be_empty.syn index a8e28de6e..1b478188d 100644 --- a/source/api/be_empty.syn +++ b/source/api/be_empty.syn @@ -1 +1 @@ -create synonym be_empty for ut_be_empty; +create noneditionable synonymbe_empty for ut_be_empty; diff --git a/source/api/be_false.syn b/source/api/be_false.syn index c2665bbcb..0cca7fd90 100644 --- a/source/api/be_false.syn +++ b/source/api/be_false.syn @@ -1 +1 @@ -create synonym be_false for ut_be_false; +create noneditionable synonymbe_false for ut_be_false; diff --git a/source/api/be_greater_or_equal.syn b/source/api/be_greater_or_equal.syn index 386fe7f32..98103ab9f 100644 --- a/source/api/be_greater_or_equal.syn +++ b/source/api/be_greater_or_equal.syn @@ -1 +1 @@ -create synonym be_greater_or_equal for ut_be_greater_or_equal; +create noneditionable synonymbe_greater_or_equal for ut_be_greater_or_equal; diff --git a/source/api/be_greater_than.syn b/source/api/be_greater_than.syn index 6f97b7d22..2ac4f387a 100644 --- a/source/api/be_greater_than.syn +++ b/source/api/be_greater_than.syn @@ -1 +1 @@ -create synonym be_greater_than for ut_be_greater_than; +create noneditionable synonymbe_greater_than for ut_be_greater_than; diff --git a/source/api/be_less_or_equal.syn b/source/api/be_less_or_equal.syn index b2f836144..acde22516 100644 --- a/source/api/be_less_or_equal.syn +++ b/source/api/be_less_or_equal.syn @@ -1 +1 @@ -create synonym be_less_or_equal for ut_be_less_or_equal; +create noneditionable synonymbe_less_or_equal for ut_be_less_or_equal; diff --git a/source/api/be_less_than.syn b/source/api/be_less_than.syn index fbef3b4c3..38b940e10 100644 --- a/source/api/be_less_than.syn +++ b/source/api/be_less_than.syn @@ -1 +1 @@ -create synonym be_less_than for ut_be_less_than; +create noneditionable synonymbe_less_than for ut_be_less_than; diff --git a/source/api/be_like.syn b/source/api/be_like.syn index a8be1de71..cb1704c94 100644 --- a/source/api/be_like.syn +++ b/source/api/be_like.syn @@ -1 +1 @@ -create synonym be_like for ut_be_like; +create noneditionable synonymbe_like for ut_be_like; diff --git a/source/api/be_not_null.syn b/source/api/be_not_null.syn index d6458683a..f9ef61db3 100644 --- a/source/api/be_not_null.syn +++ b/source/api/be_not_null.syn @@ -1 +1 @@ -create synonym be_not_null for ut_be_not_null; +create noneditionable synonymbe_not_null for ut_be_not_null; diff --git a/source/api/be_null.syn b/source/api/be_null.syn index 42f6516c3..c3eff86c2 100644 --- a/source/api/be_null.syn +++ b/source/api/be_null.syn @@ -1 +1 @@ -create synonym be_null for ut_be_null; +create noneditionable synonymbe_null for ut_be_null; diff --git a/source/api/be_true.syn b/source/api/be_true.syn index bf7392a62..ecf3689ca 100644 --- a/source/api/be_true.syn +++ b/source/api/be_true.syn @@ -1 +1 @@ -create synonym be_true for ut_be_true; +create noneditionable synonymbe_true for ut_be_true; diff --git a/source/api/be_within.syn b/source/api/be_within.syn index e00005bb7..5790de956 100644 --- a/source/api/be_within.syn +++ b/source/api/be_within.syn @@ -1 +1 @@ -create synonym be_within for ut_be_within; +create noneditionable synonymbe_within for ut_be_within; diff --git a/source/api/be_within_pct.syn b/source/api/be_within_pct.syn index 40e3fb8b9..d954159d6 100644 --- a/source/api/be_within_pct.syn +++ b/source/api/be_within_pct.syn @@ -1 +1 @@ -create synonym be_within_pct for ut_be_within_pct; +create noneditionable synonymbe_within_pct for ut_be_within_pct; diff --git a/source/api/contain.syn b/source/api/contain.syn index 5bce7d1d2..0ba68f801 100644 --- a/source/api/contain.syn +++ b/source/api/contain.syn @@ -1 +1 @@ -create synonym contain for ut_contain; +create noneditionable synonymcontain for ut_contain; diff --git a/source/api/equal.syn b/source/api/equal.syn index 71ba58b53..344be182d 100644 --- a/source/api/equal.syn +++ b/source/api/equal.syn @@ -1 +1 @@ -create synonym equal for ut_equal; +create noneditionable synonymequal for ut_equal; diff --git a/source/api/have_count.syn b/source/api/have_count.syn index a406d47ec..9a2b0b60b 100644 --- a/source/api/have_count.syn +++ b/source/api/have_count.syn @@ -1 +1 @@ -create synonym have_count for ut_have_count; +create noneditionable synonymhave_count for ut_have_count; diff --git a/source/api/match.syn b/source/api/match.syn index ffbda35b1..2ed12ff41 100644 --- a/source/api/match.syn +++ b/source/api/match.syn @@ -1 +1 @@ -create synonym match for ut_match; +create noneditionable synonymmatch for ut_match; From 92a0c8173f283dd29001658f4d3460d0ea20ab1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Sun, 7 Jun 2026 13:14:48 +0300 Subject: [PATCH 048/171] Fixed incorrect code replacement --- source/api/contain.syn | 2 +- source/api/equal.syn | 2 +- source/api/match.syn | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/source/api/contain.syn b/source/api/contain.syn index 0ba68f801..5b4158635 100644 --- a/source/api/contain.syn +++ b/source/api/contain.syn @@ -1 +1 @@ -create noneditionable synonymcontain for ut_contain; +create noneditionable synonym contain for ut_contain; diff --git a/source/api/equal.syn b/source/api/equal.syn index 344be182d..0d81fcf6f 100644 --- a/source/api/equal.syn +++ b/source/api/equal.syn @@ -1 +1 @@ -create noneditionable synonymequal for ut_equal; +create noneditionable synonym equal for ut_equal; diff --git a/source/api/match.syn b/source/api/match.syn index 2ed12ff41..13e8cc97d 100644 --- a/source/api/match.syn +++ b/source/api/match.syn @@ -1 +1 @@ -create noneditionable synonymmatch for ut_match; +create noneditionable synonym match for ut_match; From 3e061f8a1e220db01d207ea232adf7f566e4ce4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Sun, 7 Jun 2026 13:16:08 +0300 Subject: [PATCH 049/171] Fixed incorrect code replacement --- source/api/be_between.syn | 2 +- source/api/be_empty.syn | 2 +- source/api/be_false.syn | 2 +- source/api/be_greater_or_equal.syn | 2 +- source/api/be_greater_than.syn | 2 +- source/api/be_less_or_equal.syn | 2 +- source/api/be_less_than.syn | 2 +- source/api/be_like.syn | 2 +- source/api/be_not_null.syn | 2 +- source/api/be_null.syn | 2 +- source/api/be_true.syn | 2 +- source/api/be_within.syn | 2 +- source/api/be_within_pct.syn | 2 +- source/api/have_count.syn | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/source/api/be_between.syn b/source/api/be_between.syn index 013800746..233dd65bf 100644 --- a/source/api/be_between.syn +++ b/source/api/be_between.syn @@ -1 +1 @@ -create noneditionable synonymbe_between for ut_be_between; +create noneditionable synonym be_between for ut_be_between; diff --git a/source/api/be_empty.syn b/source/api/be_empty.syn index 1b478188d..f63366fa3 100644 --- a/source/api/be_empty.syn +++ b/source/api/be_empty.syn @@ -1 +1 @@ -create noneditionable synonymbe_empty for ut_be_empty; +create noneditionable synonym be_empty for ut_be_empty; diff --git a/source/api/be_false.syn b/source/api/be_false.syn index 0cca7fd90..cdf497235 100644 --- a/source/api/be_false.syn +++ b/source/api/be_false.syn @@ -1 +1 @@ -create noneditionable synonymbe_false for ut_be_false; +create noneditionable synonym be_false for ut_be_false; diff --git a/source/api/be_greater_or_equal.syn b/source/api/be_greater_or_equal.syn index 98103ab9f..67616dc1d 100644 --- a/source/api/be_greater_or_equal.syn +++ b/source/api/be_greater_or_equal.syn @@ -1 +1 @@ -create noneditionable synonymbe_greater_or_equal for ut_be_greater_or_equal; +create noneditionable synonym be_greater_or_equal for ut_be_greater_or_equal; diff --git a/source/api/be_greater_than.syn b/source/api/be_greater_than.syn index 2ac4f387a..c180f3d43 100644 --- a/source/api/be_greater_than.syn +++ b/source/api/be_greater_than.syn @@ -1 +1 @@ -create noneditionable synonymbe_greater_than for ut_be_greater_than; +create noneditionable synonym be_greater_than for ut_be_greater_than; diff --git a/source/api/be_less_or_equal.syn b/source/api/be_less_or_equal.syn index acde22516..0069f52ba 100644 --- a/source/api/be_less_or_equal.syn +++ b/source/api/be_less_or_equal.syn @@ -1 +1 @@ -create noneditionable synonymbe_less_or_equal for ut_be_less_or_equal; +create noneditionable synonym be_less_or_equal for ut_be_less_or_equal; diff --git a/source/api/be_less_than.syn b/source/api/be_less_than.syn index 38b940e10..5d2766d05 100644 --- a/source/api/be_less_than.syn +++ b/source/api/be_less_than.syn @@ -1 +1 @@ -create noneditionable synonymbe_less_than for ut_be_less_than; +create noneditionable synonym be_less_than for ut_be_less_than; diff --git a/source/api/be_like.syn b/source/api/be_like.syn index cb1704c94..6f62f21a0 100644 --- a/source/api/be_like.syn +++ b/source/api/be_like.syn @@ -1 +1 @@ -create noneditionable synonymbe_like for ut_be_like; +create noneditionable synonym be_like for ut_be_like; diff --git a/source/api/be_not_null.syn b/source/api/be_not_null.syn index f9ef61db3..a9e02b94d 100644 --- a/source/api/be_not_null.syn +++ b/source/api/be_not_null.syn @@ -1 +1 @@ -create noneditionable synonymbe_not_null for ut_be_not_null; +create noneditionable synonym be_not_null for ut_be_not_null; diff --git a/source/api/be_null.syn b/source/api/be_null.syn index c3eff86c2..4fe3fb9dd 100644 --- a/source/api/be_null.syn +++ b/source/api/be_null.syn @@ -1 +1 @@ -create noneditionable synonymbe_null for ut_be_null; +create noneditionable synonym be_null for ut_be_null; diff --git a/source/api/be_true.syn b/source/api/be_true.syn index ecf3689ca..1aa348c7e 100644 --- a/source/api/be_true.syn +++ b/source/api/be_true.syn @@ -1 +1 @@ -create noneditionable synonymbe_true for ut_be_true; +create noneditionable synonym be_true for ut_be_true; diff --git a/source/api/be_within.syn b/source/api/be_within.syn index 5790de956..4f4f77606 100644 --- a/source/api/be_within.syn +++ b/source/api/be_within.syn @@ -1 +1 @@ -create noneditionable synonymbe_within for ut_be_within; +create noneditionable synonym be_within for ut_be_within; diff --git a/source/api/be_within_pct.syn b/source/api/be_within_pct.syn index d954159d6..b9fc1cd53 100644 --- a/source/api/be_within_pct.syn +++ b/source/api/be_within_pct.syn @@ -1 +1 @@ -create noneditionable synonymbe_within_pct for ut_be_within_pct; +create noneditionable synonym be_within_pct for ut_be_within_pct; diff --git a/source/api/have_count.syn b/source/api/have_count.syn index 9a2b0b60b..9cbf8ebf2 100644 --- a/source/api/have_count.syn +++ b/source/api/have_count.syn @@ -1 +1 @@ -create noneditionable synonymhave_count for ut_have_count; +create noneditionable synonym have_count for ut_have_count; From 248899eb1d39e26739ecd16822f429390bd60538 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 7 Jun 2026 21:22:57 +0100 Subject: [PATCH 050/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/about/authors.md | 2 +- docs/about/license.md | 2 +- docs/about/project-details.md | 2 +- docs/about/support.md | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index 0129b6375..b8a6cc71b 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4458 +4465 diff --git a/docs/about/authors.md b/docs/about/authors.md index 7eadabde4..4415412f8 100644 --- a/docs/about/authors.md +++ b/docs/about/authors.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4458--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4465--develop-blue.svg) ### utPLSQL v3 Major Contributors diff --git a/docs/about/license.md b/docs/about/license.md index 0459d0f20..f66476bcf 100644 --- a/docs/about/license.md +++ b/docs/about/license.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4458--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4465--develop-blue.svg) # Version Information diff --git a/docs/about/project-details.md b/docs/about/project-details.md index 281c38375..766e0fd19 100644 --- a/docs/about/project-details.md +++ b/docs/about/project-details.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4458--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4465--develop-blue.svg) # utPLSQL Project Details diff --git a/docs/about/support.md b/docs/about/support.md index d323b17e0..cc8c5ef88 100644 --- a/docs/about/support.md +++ b/docs/about/support.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4458--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4465--develop-blue.svg) # How to get support diff --git a/docs/index.md b/docs/index.md index 86e6349a4..2a91d52f0 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4458--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4465--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index 3f7bc74ef..18461cf71 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4458--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4465--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index 8a5f0e2c6..d650151f8 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4458--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4465--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index 4087b53f8..424fce7e0 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4458--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4465--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index ad9e885c2..c428616fd 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4458--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4465--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index 75fd2ad98..06d340418 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4458--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4465--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index cb3fc7207..afd2a2abd 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4458--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4465--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index 550a7af23..6ec273ffb 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4458--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4465--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index 7bb410a9e..ae5b0a622 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4458--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4465--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index a4904aa3a..ab2a552ac 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4458--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4465--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index cc048e66a..f71bd504a 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4458--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4465--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index f386c2ef0..c106bc198 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4458--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4465--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index 2369c6549..210871e4e 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4458--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4465--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 358ed9b50..0df784d4a 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.01.4458-develop'; + gc_version constant varchar2(50) := 'v3.2.01.4465-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From 193f6103ce5b7483db32e025148409725a7abe6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Sun, 7 Jun 2026 23:29:12 +0300 Subject: [PATCH 051/171] Removed coveralls reporter Resolves: 1172 --- docs/compare_version2_to_3.md | 1 - docs/userguide/coverage.md | 7 +- readme.md | 2 +- source/create_grants.sql | 1 - source/create_synonyms.sql | 1 - source/install.sql | 2 - source/reporters/ut_coveralls_reporter.tpb | 104 ------------------ source/reporters/ut_coveralls_reporter.tps | 31 ------ source/uninstall_objects.sql | 2 - test/run_tests.sh | 1 - test/ut3_user/api/test_ut_runner.pkb | 1 - .../test_coverage/test_coveralls_reporter.pkb | 77 ------------- .../test_coverage/test_coveralls_reporter.pks | 13 --- 13 files changed, 4 insertions(+), 239 deletions(-) delete mode 100644 source/reporters/ut_coveralls_reporter.tpb delete mode 100644 source/reporters/ut_coveralls_reporter.tps delete mode 100644 test/ut3_user/reporters/test_coverage/test_coveralls_reporter.pkb delete mode 100644 test/ut3_user/reporters/test_coverage/test_coveralls_reporter.pks diff --git a/docs/compare_version2_to_3.md b/docs/compare_version2_to_3.md index 5f53e41d4..121fafc59 100644 --- a/docs/compare_version2_to_3.md +++ b/docs/compare_version2_to_3.md @@ -37,7 +37,6 @@ There is a [migration tool](https://github.com/utPLSQL/utPLSQL-v2-v3-migration) | **Code Coverage Reporting** | No | Yes | | Html Coverage Report | No | Yes | | Sonar XML Coverage Report | No | Yes | -| Coveralls Json Coverage Report | No | Yes | | Framework Transaction Control | No | Yes - Annotations1 | | **Test Output** | | | | Real-time test execution progress reporting | No | Yes | diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index c428616fd..7c196aece 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -22,7 +22,6 @@ To obtain information about code coverage for unit tests, run utPLSQL with one o The following code coverage reporters are supplied with utPLSQL: * `ut_coverage_html_reporter` - generates a HTML coverage report providing summary and detailed information on code coverage. The HTML reporter is based on the open-source [simplecov-html](https://github.com/colszowka/simplecov-html) reporter for Ruby. It includes source code of the code that was covered (if the code is accessible for test user) -* `ut_coveralls_reporter` - generates a [Coveralls compatible JSON](https://coveralls.zendesk.com/hc/en-us/articles/201774865-API-Introduction) coverage report providing detailed information on code coverage with line numbers. This coverage report is designed to be consumed by cloud services like [Coveralls](https://coveralls.io) * `ut_coverage_sonar_reporter` - generates a [Sonar Compatible XML](https://docs.sonarqube.org/latest/analysis/generic-test/) coverage report providing detailed information on code coverage with line numbers. This coverage report is designed to be consumed by services like [SonarQube](https://www.sonarqube.org/) and [SonarCloud](https://about.sonarcloud.io/) * `ut_coverage_cobertura_reporter` - generates a basic Cobertura coverage (http://cobertura.sourceforge.net/xml/coverage-04.dtd) report providing detailed information on code coverage with line numbers. This coverage report is designed to be consumed by services like TFS and Jenkins. Check this link for an example of XML generated by Java: https://raw.githubusercontent.com/jenkinsci/cobertura-plugin/master/src/test/resources/hudson/plugins/cobertura/coverage-with-data.xml @@ -310,9 +309,9 @@ Executes test `test_award_bonus` in schema `unit_test_schema`. Coverage will be ### Project based Coverage -utPLSQL provides reporters that produce reports consumable by external tools like `Sonar`/`SonarCloud` & `Coveralls`. +utPLSQL provides reporters that produce reports consumable by external tools like `Sonar`/`SonarCloud`. -Services like Sonar, Coveralls and others perform analysis based on source code in project files. +Services like Sonar and others perform analysis based on source code in project files. They are abstracted from database, schema names, packages, procedures and functions, and operate on a more generic concept of project source code. To be able to effectively use reporters dedicated for those tools, utPLSQL provides functionality for mapping database object names to project files. @@ -320,7 +319,7 @@ To be able to effectively use reporters dedicated for those tools, utPLSQL provi There are a few significant differences when running coverage on project files compared to running coverage on schema(s). - Coverage is only reported on objects that were successfully mapped to project files. -- Project files (database objects) that were not executed at all are not reported as fully uncovered. It is up to the consumer (Sonar/Coveralls) to determine if project file should be considered as 0% coverage or just ignored. +- Project files (database objects) that were not executed at all are not reported as fully uncovered. It is up to the consumer (Sonar) to determine if project file should be considered as 0% coverage or just ignored. In order to successfully use coverage on project files, those files must be mapped to database objects. diff --git a/readme.md b/readme.md index 7af2183c5..bba640d17 100644 --- a/readme.md +++ b/readme.md @@ -19,7 +19,7 @@ utPLSQL is a unit testing framework for Oracle PL/SQL and SQL, following industr - Hierarchies of test suites configured with annotations - Automatic (configurable) transaction control - Built-in [coverage](docs/userguide/coverage.md) reporting -- Integration with SonarQube, Coveralls, Jenkins and TeamCity via [reporters](docs/userguide/reporters.md) +- Integration with SonarQube, Jenkins and TeamCity via [reporters](docs/userguide/reporters.md) - Plugin architecture for reporters and matchers - Flexible and simple test invocation - Multi-format reporting from the [command line client](https://github.com/utPLSQL/utPLSQL-cli) diff --git a/source/create_grants.sql b/source/create_grants.sql index 0656ec82f..9318a7220 100644 --- a/source/create_grants.sql +++ b/source/create_grants.sql @@ -108,7 +108,6 @@ grant execute on &&ut3_owner..ut_tap_reporter to &ut3_user; --reporters - coverage grant execute on &&ut3_owner..ut_coverage_html_reporter to &ut3_user; grant execute on &&ut3_owner..ut_coverage_sonar_reporter to &ut3_user; -grant execute on &&ut3_owner..ut_coveralls_reporter to &ut3_user; grant execute on &&ut3_owner..ut_coverage_cobertura_reporter to &ut3_user; --reporters - debug grant execute on &&ut3_owner..ut_debug_reporter to &ut3_user; diff --git a/source/create_synonyms.sql b/source/create_synonyms.sql index 242bd6d61..ab338f4f7 100644 --- a/source/create_synonyms.sql +++ b/source/create_synonyms.sql @@ -123,7 +123,6 @@ create &action_type. synonym &ut3_user.ut_tap_reporter for &&ut3_owner..ut_tap_r --reporters - coverage create &action_type. synonym &ut3_user.ut_coverage_html_reporter for &&ut3_owner..ut_coverage_html_reporter; create &action_type. synonym &ut3_user.ut_coverage_sonar_reporter for &&ut3_owner..ut_coverage_sonar_reporter; -create &action_type. synonym &ut3_user.ut_coveralls_reporter for &&ut3_owner..ut_coveralls_reporter; create &action_type. synonym &ut3_user.ut_coverage_cobertura_reporter for &&ut3_owner..ut_coverage_cobertura_reporter; --reporters - debug create &action_type. synonym &ut3_user.ut_debug_reporter for &&ut3_owner..ut_debug_reporter; diff --git a/source/install.sql b/source/install.sql index a2c73ef17..9af0a4f66 100644 --- a/source/install.sql +++ b/source/install.sql @@ -355,8 +355,6 @@ prompt Installing DBMSPLSQL Tables objects into &&ut3_owner schema @@install_component.sql 'reporters/ut_coverage_html_reporter.tpb' @@install_component.sql 'reporters/ut_coverage_sonar_reporter.tps' @@install_component.sql 'reporters/ut_coverage_sonar_reporter.tpb' -@@install_component.sql 'reporters/ut_coveralls_reporter.tps' -@@install_component.sql 'reporters/ut_coveralls_reporter.tpb' @@install_component.sql 'reporters/ut_coverage_cobertura_reporter.tps' @@install_component.sql 'reporters/ut_coverage_cobertura_reporter.tpb' @@install_component.sql 'reporters/ut_realtime_reporter.tps' diff --git a/source/reporters/ut_coveralls_reporter.tpb b/source/reporters/ut_coveralls_reporter.tpb deleted file mode 100644 index 8d8884878..000000000 --- a/source/reporters/ut_coveralls_reporter.tpb +++ /dev/null @@ -1,104 +0,0 @@ -create or replace noneditionable type body ut_coveralls_reporter is - /* - utPLSQL - Version 3 - Copyright 2016 - 2026 utPLSQL Project - - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - */ - - constructor function ut_coveralls_reporter( - self in out nocopy ut_coveralls_reporter - ) return self as result is - begin - self.init($$plsql_unit,ut_output_bulk_buffer()); - return; - end; - - overriding member procedure after_calling_run(self in out nocopy ut_coveralls_reporter, a_run in ut_run) as - - function get_lines_json(a_unit_coverage ut_coverage.t_unit_coverage) return ut_varchar2_rows is - l_file_part varchar2(32767); - l_result ut_varchar2_rows := ut_varchar2_rows(); - l_last_line_no binary_integer; - c_coverage_header constant varchar2(30) := '"coverage": ['; - c_null constant varchar2(4) := 'null'; - begin - ut_utils.append_to_list(l_result, c_coverage_header); - - l_last_line_no := a_unit_coverage.lines.last; - if l_last_line_no is null then - ut_utils.append_to_list( - l_result - , rpad( to_clob( '0' ), ( a_unit_coverage.total_lines * 3 ) - 2, ','||chr(10)||'0' ) - ); - else - for line_no in 1 .. l_last_line_no loop - if a_unit_coverage.lines.exists(line_no) then - l_file_part := to_char(a_unit_coverage.lines(line_no).executions); - else - l_file_part := c_null; - end if; - if line_no < l_last_line_no then - l_file_part := l_file_part ||','; - end if; - ut_utils.append_to_list(l_result, l_file_part); - end loop; - end if; - ut_utils.append_to_list(l_result, ']'); - return l_result; - end; - - function get_coverage_json( - a_coverage_data ut_coverage.t_coverage - ) return ut_varchar2_rows is - l_result ut_varchar2_rows := ut_varchar2_rows(); - l_unit ut_coverage.t_object_name; - c_coverage_header constant varchar2(30) := '{"source_files":['; - c_coverage_footer constant varchar2(30) := ']}'||chr(10)||' '; - begin - ut_utils.append_to_list(l_result, c_coverage_header); - l_unit := a_coverage_data.objects.first; - while l_unit is not null loop - ut_utils.append_to_list(l_result, '{ "name": "'||l_unit||'",'); - - ut_utils.append_to_list(l_result,get_lines_json(a_coverage_data.objects(l_unit))); - - ut_utils.append_to_list(l_result, '}'); - - l_unit := a_coverage_data.objects.next(l_unit); - if l_unit is not null then - ut_utils.append_to_list(l_result, ','); - end if; - end loop; - ut_utils.append_to_list(l_result, c_coverage_footer); - return l_result; - end; - begin - ut_coverage.coverage_stop(); - - self.print_text_lines( - get_coverage_json( - ut_coverage.get_coverage_data(a_run.coverage_options) - ) - ); - end; - - overriding member function get_description return varchar2 as - begin - return 'Generates a JSON coverage report providing information on code coverage with line numbers.' || chr(10) || - 'Designed for [Coveralls](https://coveralls.io/).' || chr(10) || - 'JSON format conforms with specification: https://docs.coveralls.io/api-introduction'; - end; - -end; -/ diff --git a/source/reporters/ut_coveralls_reporter.tps b/source/reporters/ut_coveralls_reporter.tps deleted file mode 100644 index 8518891d5..000000000 --- a/source/reporters/ut_coveralls_reporter.tps +++ /dev/null @@ -1,31 +0,0 @@ -create or replace noneditionable type ut_coveralls_reporter under ut_coverage_reporter_base( - /* - utPLSQL - Version 3 - Copyright 2016 - 2026 utPLSQL Project - - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - */ - - /** - * Builds a coverage XML report that follows rules described in - * https://docs.coveralls.io/api-introduction - */ - constructor function ut_coveralls_reporter( - self in out nocopy ut_coveralls_reporter - ) return self as result, - - overriding member procedure after_calling_run(self in out nocopy ut_coveralls_reporter, a_run in ut_run), - - overriding member function get_description return varchar2 -) -/ diff --git a/source/uninstall_objects.sql b/source/uninstall_objects.sql index 8ef644aa9..fcc8dfa52 100644 --- a/source/uninstall_objects.sql +++ b/source/uninstall_objects.sql @@ -74,8 +74,6 @@ drop synonym be_within; drop synonym be_within_pct; -drop type ut_coveralls_reporter force; - drop type ut_coverage_sonar_reporter force; drop type ut_coverage_cobertura_reporter force; diff --git a/test/run_tests.sh b/test/run_tests.sh index 7d0431aec..078d011d6 100755 --- a/test/run_tests.sh +++ b/test/run_tests.sh @@ -17,7 +17,6 @@ time utPLSQL-cli/bin/utplsql run UT3_TESTER_HELPER/ut3@//${CONNECTION_STR} -D \ -f=ut_coverage_sonar_reporter -o=coverage.xml \ -f=ut_coverage_cobertura_reporter -o=cobertura.xml \ -f=ut_coverage_html_reporter -o=coverage.html \ --f=ut_coveralls_reporter -o=coverage.json \ -f=ut_sonar_test_reporter -o=test_results.xml \ -f=ut_junit_reporter -o=junit_test_results.xml \ -f=ut_tfs_junit_reporter -o=tfs_test_results.xml \ diff --git a/test/ut3_user/api/test_ut_runner.pkb b/test/ut3_user/api/test_ut_runner.pkb index d665718e1..d35495c70 100644 --- a/test/ut3_user/api/test_ut_runner.pkb +++ b/test/ut3_user/api/test_ut_runner.pkb @@ -386,7 +386,6 @@ end;'; select 'UT3_DEVELOP.UT_DEBUG_REPORTER', 'Y' from dual union all select 'UT3_DEVELOP.UT_COVERAGE_HTML_REPORTER', 'Y' from dual union all select 'UT3_DEVELOP.UT_COVERAGE_SONAR_REPORTER', 'Y' from dual union all - select 'UT3_DEVELOP.UT_COVERALLS_REPORTER', 'Y' from dual union all select 'UT3_DEVELOP.UT_DOCUMENTATION_REPORTER', 'Y' from dual union all select 'UT3_DEVELOP.UT_JUNIT_REPORTER', 'Y' from dual union all select 'UT3_DEVELOP.UT_REALTIME_REPORTER', 'Y' from dual union all diff --git a/test/ut3_user/reporters/test_coverage/test_coveralls_reporter.pkb b/test/ut3_user/reporters/test_coverage/test_coveralls_reporter.pkb deleted file mode 100644 index e3806cd97..000000000 --- a/test/ut3_user/reporters/test_coverage/test_coveralls_reporter.pkb +++ /dev/null @@ -1,77 +0,0 @@ -create or replace package body test_coveralls_reporter is - - procedure report_on_file is - l_expected clob; - l_actual clob; - l_file_path varchar2(250); - begin - --Arrange - l_file_path := 'test/ut3_develop.'||ut3_tester_helper.coverage_helper.covered_package_name||'.pkb'; - l_expected := q'[{"source_files":[ -{ "name": "]'||l_file_path||q'[", -"coverage": [ -null, -null, -null, -3, -null, -0 -] -} -]} - ]'; - l_actual := - ut3_tester_helper.coverage_helper.run_tests_as_job( - q'[ - ut3_develop.ut.run( - a_path => 'ut3_develop.test_dummy_coverage', - a_reporter => ut3_develop.ut_coveralls_reporter( ), - a_source_files => ut3_develop.ut_varchar2_list( ']'||l_file_path||q'[' ), - a_test_files => ut3_develop.ut_varchar2_list( ) - ) - ]' - ); - --Assert - ut.expect(l_actual).to_equal(l_expected); - end; - - procedure report_zero_coverage is - l_expected clob; - l_actual clob; - begin - --Arrange - l_expected := q'[{"source_files":[ -{ "name": "package body ut3_develop.]'||ut3_tester_helper.coverage_helper.covered_package_name||q'[", -"coverage": [ -0, -0, -0, -0, -0, -0, -0, -0, -0 -] -} -]} - ]'; - - --Act - l_actual := - ut3_tester_helper.coverage_helper.run_tests_as_job( - q'[ - ut3_develop.ut.run( - 'ut3_develop.test_dummy_coverage.zero_coverage', - ut3_develop.ut_coveralls_reporter(), - a_include_objects => ut3_develop.ut_varchar2_list('UT3_DEVELOP.]'||ut3_tester_helper.coverage_helper.covered_package_name||q'[') - ) - ]' - ); - --Assert - ut.expect(l_actual).to_equal(l_expected); - - end; - -end; -/ diff --git a/test/ut3_user/reporters/test_coverage/test_coveralls_reporter.pks b/test/ut3_user/reporters/test_coverage/test_coveralls_reporter.pks deleted file mode 100644 index d958b8f12..000000000 --- a/test/ut3_user/reporters/test_coverage/test_coveralls_reporter.pks +++ /dev/null @@ -1,13 +0,0 @@ -create or replace package test_coveralls_reporter is - - --%suite(ut_coveralls_reporter) - --%suitepath(utplsql.test_user.reporters.test_coverage) - - --%test(reports on a project file mapped to database object) - procedure report_on_file; - - --%test(reports zero coverage on each line of non-executed database object) - procedure report_zero_coverage; - -end; -/ From 417d7075acd18f74715acdc85b4da638c17e5fe6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Mon, 8 Jun 2026 13:23:14 +0300 Subject: [PATCH 052/171] Fixing unit tests installation --- test/install_ut3_user_tests.sql | 2 -- 1 file changed, 2 deletions(-) diff --git a/test/install_ut3_user_tests.sql b/test/install_ut3_user_tests.sql index 518e07841..b74c5d7ae 100644 --- a/test/install_ut3_user_tests.sql +++ b/test/install_ut3_user_tests.sql @@ -50,7 +50,6 @@ set define on @@ut3_user/reporters/test_coverage/test_extended_coverage.pks @@ut3_user/reporters/test_coverage/test_html_coverage_reporter.pks set define off -@@ut3_user/reporters/test_coverage/test_coveralls_reporter.pks @@ut3_user/reporters/test_coverage/test_cov_cobertura_reporter.pks @@ut3_user/reporters/test_coverage/test_coverage_sonar_reporter.pks set define on @@ -93,7 +92,6 @@ set define on @@ut3_user/reporters/test_coverage/test_extended_coverage.pkb @@ut3_user/reporters/test_coverage/test_html_coverage_reporter.pkb set define off -@@ut3_user/reporters/test_coverage/test_coveralls_reporter.pkb @@ut3_user/reporters/test_coverage/test_cov_cobertura_reporter.pkb @@ut3_user/reporters/test_coverage/test_coverage_sonar_reporter.pkb set define on From 291fe6ca6e8ff2c30ef6fe79f157af699a65b3aa Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 8 Jun 2026 11:45:50 +0100 Subject: [PATCH 053/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/about/authors.md | 2 +- docs/about/license.md | 2 +- docs/about/project-details.md | 2 +- docs/about/support.md | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index b8a6cc71b..d5a8a7704 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4465 +4470 diff --git a/docs/about/authors.md b/docs/about/authors.md index 4415412f8..0a7e96e1a 100644 --- a/docs/about/authors.md +++ b/docs/about/authors.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4465--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4470--develop-blue.svg) ### utPLSQL v3 Major Contributors diff --git a/docs/about/license.md b/docs/about/license.md index f66476bcf..3e20a7d99 100644 --- a/docs/about/license.md +++ b/docs/about/license.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4465--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4470--develop-blue.svg) # Version Information diff --git a/docs/about/project-details.md b/docs/about/project-details.md index 766e0fd19..a3dd5ecc4 100644 --- a/docs/about/project-details.md +++ b/docs/about/project-details.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4465--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4470--develop-blue.svg) # utPLSQL Project Details diff --git a/docs/about/support.md b/docs/about/support.md index cc8c5ef88..b80db02d0 100644 --- a/docs/about/support.md +++ b/docs/about/support.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4465--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4470--develop-blue.svg) # How to get support diff --git a/docs/index.md b/docs/index.md index 2a91d52f0..6188cf063 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4465--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4470--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index 18461cf71..4c949c4dd 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4465--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4470--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index d650151f8..dffd20d52 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4465--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4470--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index 424fce7e0..53a915b5b 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4465--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4470--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index 7c196aece..d0874cef8 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4465--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4470--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index 06d340418..3799ad53f 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4465--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4470--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index afd2a2abd..34467066a 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4465--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4470--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index 6ec273ffb..8e5c148a6 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4465--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4470--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index ae5b0a622..64b6cbbff 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4465--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4470--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index ab2a552ac..61403752b 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4465--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4470--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index f71bd504a..00f083a6a 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4465--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4470--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index c106bc198..b311351ff 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4465--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4470--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index 210871e4e..554c88606 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4465--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4470--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 0df784d4a..4e689d901 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.01.4465-develop'; + gc_version constant varchar2(50) := 'v3.2.01.4470-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From 397c9f30627d039dde0217107571983320c6d332 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Mon, 8 Jun 2026 14:24:57 +0300 Subject: [PATCH 054/171] Clarify behavior of before/after procedures in suitepath Clarify the scope of beforeall / afterall beforeeach and aftereach when using suitepaths. Resolves: #958 --- docs/userguide/annotations.md | 50 ++++++++++++++++++++++------------- 1 file changed, 31 insertions(+), 19 deletions(-) diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index dffd20d52..e3a07c278 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -23,8 +23,8 @@ In below example we have a `suite` annotation with `Stuff) -- we should name thi Do not place comments within annotation line to avoid unexpected behaviors. -**Note:** ->Annotations are interpreted only in the package specification and are case-insensitive. We strongly recommend using lower-case annotations as described in this documentation. +!!! note + Annotations are interpreted only in the package specification and are case-insensitive. We strongly recommend using lower-case annotations as described in this documentation. There are two distinct types of annotations, identified by their location in package. - package annotations @@ -151,15 +151,13 @@ The `--%suite` annotation denotes PLSQL package as a unit test suite. It accepts an optional description that will be visible when running the tests. When description is not provided, package name is displayed on report. -**Note** ->Package is considered a test-suite only when package specification contains the `--%suite` annotation at the package level. -> ->Some annotations like `--%suite`, `--%test` and `--%displayname` accept parameters. The parameters for annotations need to be placed in brackets. -Values for parameters should be provided without any quotation marks. -If the parameters are placed without brackets or with incomplete brackets, they will be ignored. -> ->Example: `--%suite(The name of suite without closing bracket` ->Example: `--%suite The name of suite without brackets` +!!! note + Package is considered a test-suite only when package specification contains the `--%suite` annotation at the package level. + Some annotations like `--%suite`, `--%test` and `--%displayname` accept parameters. The parameters for annotations need to be placed in brackets. + Values for parameters should be provided without any quotation marks. + If the parameters are placed without brackets or with incomplete brackets, they will be ignored. + Example: `--%suite(The name of suite without closing bracket` + Example: `--%suite The name of suite without brackets` Suite package without description. @@ -459,7 +457,7 @@ Finished in .005868 seconds ### Beforeall -There are two possible ways to use the `--%beforeall` annotation. +There are two possible ways to use the `--%beforeall` annotation. As a procedure level annotation: ```sql linenums="1" @@ -545,7 +543,7 @@ Finished in .012292 seconds ``` In the below example a combination pacakge and procedure level `--%beforeall` annotations is used. -The order of execution of the beforeall procedures is determined by the annotation position in package. +The execution order of the `--%beforeall` procedures is determined by the annotation position in the package. All of the `--%beforeall` procedures get invoked before any test is executed in a suite. ```sql linenums="1" create or replace package test_package as @@ -672,6 +670,8 @@ Finished in .012158 seconds 2 tests, 0 failed, 0 errored, 0 disabled, 2 warning(s) ``` +!!! note "Suite scope" + The `--%beforeall` procedrues in parent suite package are always part of all suite packages that are children on the suitepath. ### Afterall @@ -759,6 +759,10 @@ Finished in .014161 seconds 2 tests, 0 failed, 0 errored, 0 disabled, 0 warning(s) ``` +!!! note "Suite scope" + The `--%afterall` procedrues in parent suite package are always part of all suite packages that are children on the suitepath. + + ### Beforeeach The procedure annotated as `--%beforeeach` is getting executed before each test in a suite. @@ -868,6 +872,9 @@ Finished in .014683 seconds 2 tests, 0 failed, 0 errored, 0 disabled, 0 warning(s) ``` +!!! note "Package scope" + Unlike `--%beforeall`, the `--%beforeeach` annotation is only applicable within the scope of current test suite package. The `--%beforeeach` annotations from parent suite package are ignored. + See [beforeall](#Beforeall) for more examples. ### Aftereach @@ -977,6 +984,9 @@ Finished in .018115 seconds 2 tests, 0 failed, 0 errored, 0 disabled, 0 warning(s) ``` +!!! note "Package scope" + Unlike `--%afterall`, the `--%aftereach` annotation is only applicable within the scope of current test suite package. The `--%aftereach` annotations from parent suite package are ignored. + See [beforeall](#Beforeall) for more examples. ### Beforetest @@ -1715,6 +1725,8 @@ When executing tests, `path` for executing tests can be provided in three ways: * [schema]:suite1[.suite2][.suite3]...[.procedure] - execute all tests by `suitepath` in all suites on path suite1[.suite2][.suite3]...[.procedure]. If schema is not provided, then the current schema is used. Example: `:all.rooms_tests` * [schema.]package[.procedure] - execute all tests in the specified test package. The whole hierarchy of suites in the schema is built before all before/after hooks or part suites for the provided suite package are executed as well. Example: `tests.test_contact.test_last_name_validator` or simply `test_contact.test_last_name_validator` if `tests` is the current schema. +!!! note + Only the `beforeall` and `afterall` hooks of the parent suite are executed for the suite package. The `beforeeach` and `aftereach` hooks of the suite package are not executed. ### Rollback @@ -1740,12 +1752,12 @@ Doing so allows your tests to use the framework's automatic transaction control When you are testing code that performs explicit or implicit commits, you may set the test procedure to run as an autonomous transaction with `pragma autonomous_transaction`. Keep in mind that when your test runs as autonomous transaction it will not see the data prepared in a setup procedure unless the setup procedure committed the changes. -**Note** -> The `--%suitepath` annotation, when used, must be provided with a value of path. -> The path in suitepath cannot contain spaces. Dot (.) identifies individual elements of the path. -> -> Example: `--%suitepath(org.utplsql.core.utils)` -> +!!! note + The `--%rollback(manual)` annotation is only relevant for suites that use shared setup/cleanup with beforeall, + The `--%suitepath` annotation, when used, must be provided with a value of path. + The path in suitepath cannot contain spaces. Dot (.) identifies individual elements of the path. + Example: `--%suitepath(org.utplsql.core.utils)` + ### Throws From 7b0cc19a994e32667f8c86972101b6475e89193f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Mon, 8 Jun 2026 17:09:31 +0300 Subject: [PATCH 055/171] `throws` can reference exception without schema or package name It is now possible to reference a variable name or exception name without providing fully qualified name. utPLSQL will resolve the name of variable based on current unit test package owner and current unit test package name. Resolves: #1223 --- docs/userguide/annotations.md | 12 ++- source/core/types/ut_executable_test.tpb | 40 +++++---- .../test_annot_throws_exception.pkb | 87 +++++++++++++++++-- .../test_annot_throws_exception.pks | 25 +++++- 4 files changed, 133 insertions(+), 31 deletions(-) diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index dffd20d52..ea5952a7b 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1753,11 +1753,11 @@ Keep in mind that when your test runs as autonomous transaction it will not see The `--%throws` annotation allows you to specify a list of exceptions as one of: - number literals - example `--%throws(-20134)` -- variables of type exception defined in a package specification - example `--%throws(exc_pkg.c_exception_No_variable)` -- variables of type number defined in a package specification - example `--%throws(exc_pkg.c_some_exception)` +- variables of type `exception` defined in a package specification - example `--%throws(exc_pkg.c_exception_No_variable)` +- variables of type `number` defined in a package specification - example `--%throws(exc_pkg.c_some_exception)` - [predefined oracle exceptions](https://docs.oracle.com/en//database/oracle/oracle-database/19/lnpls/predefined-exceptions.html) - example `--%throws(no_data_found)` -The annotation is ignored, when no valid arguments are provided. Examples of invalid annotations `--%throws()`,`--%throws`, `--%throws(abe, 723pf)`. +The annotation is ignored when no valid arguments are provided. Examples of invalid annotations `--%throws()`,`--%throws`, `--%throws(abe, 723pf)`. If `--%throws` annotation is specified with arguments and no exception is raised, the test is marked as failed. @@ -1768,7 +1768,11 @@ The framework will raise a warning, when `--%throws` annotation has invalid argu Annotation `--%throws(7894562, operaqk, -=1, -20496, pow74d, posdfk3)` will be interpreted as `--%throws(-20496)`. Please note that `NO_DATA_FOUND` exception is a special case in Oracle. To capture it use `NO_DATA_FOUND` named exception or `-1403` exception No. - + +Syntax: `--%throws( [[schema.]package.]exception [, ... ])` + +So the exception name can be provided with or without the schema and package name. The package name is required only when the exception variable is located in another package. The schema name is required only when the exception variable is located in a pacakge in a nother schema. + Example: ```sql linenums="1" create or replace package exc_pkg is diff --git a/source/core/types/ut_executable_test.tpb b/source/core/types/ut_executable_test.tpb index 5772cdbc4..fc699c08b 100644 --- a/source/core/types/ut_executable_test.tpb +++ b/source/core/types/ut_executable_test.tpb @@ -65,9 +65,11 @@ create or replace noneditionable type body ut_executable_test as return false; end; - function check_exception_type(a_exception_name in varchar2) return varchar2 is - l_exception_type varchar2(50); + function to_exception_number(a_exception_name in varchar2) return integer is + l_exception_type varchar2(100); + l_exc_no integer; begin + --check if it is a predefined exception begin execute immediate 'begin null; exception when '||a_exception_name||' then null; end;'; @@ -87,10 +89,21 @@ create or replace noneditionable type body ut_executable_test as end; end if; end; - return l_exception_type; + + execute immediate + case l_exception_type + when c_integer_exception then + 'declare l_exception number; begin :l_exception := '||a_exception_name||'; end;' + when c_named_exception then + 'begin raise '||a_exception_name||'; exception when others then :l_exception := sqlcode; end;' + else + 'begin :l_exception := null; end;' + end + using out l_exc_no; + return l_exc_no; end; - function get_exception_number (a_exception_var in varchar2) return integer is + function get_exception_number (a_exception_var in varchar2, a_item ut_suite_item) return integer is l_exc_no integer; l_exc_type varchar2(50); function remap_no_data_found (a_number integer) return integer is @@ -98,18 +111,11 @@ create or replace noneditionable type body ut_executable_test as return case a_number when 100 then -1403 else a_number end; end; begin - l_exc_type := check_exception_type(a_exception_var); - - execute immediate - case l_exc_type - when c_integer_exception then - 'declare l_exception number; begin :l_exception := '||a_exception_var||'; end;' - when c_named_exception then - 'begin raise '||a_exception_var||'; exception when others then :l_exception := sqlcode; end;' - else - 'begin :l_exception := null; end;' - end - using out l_exc_no; + l_exc_no := coalesce( + to_exception_number(a_exception_var), + to_exception_number(a_item.object_owner||'.'||a_exception_var), + to_exception_number(a_item.object_owner||'.'||a_item.object_name||'.'||a_exception_var) + ); return remap_no_data_found(l_exc_no); end; @@ -121,7 +127,7 @@ create or replace noneditionable type body ut_executable_test as * Check if its a valid qualified name and if so try to resolve name to an exception number */ if is_valid_qualified_name(a_expected_error_codes(i)) then - l_exception_number := get_exception_number(a_expected_error_codes(i)); + l_exception_number := get_exception_number(a_expected_error_codes(i), a_item); elsif regexp_like(a_expected_error_codes(i), c_regexp_for_exception_no) then l_exception_number := a_expected_error_codes(i); end if; diff --git a/test/ut3_tester/core/annotations/test_annot_throws_exception.pkb b/test/ut3_tester/core/annotations/test_annot_throws_exception.pkb index ac51d3a49..6e690a8bd 100644 --- a/test/ut3_tester/core/annotations/test_annot_throws_exception.pkb +++ b/test/ut3_tester/core/annotations/test_annot_throws_exception.pkb @@ -1,6 +1,7 @@ create or replace package body test_annot_throws_exception is g_tests_results clob; + g_results_other_schema clob; procedure recollect_tests_results is pragma autonomous_transaction; @@ -25,10 +26,16 @@ is e_some_exception exception; pragma exception_init(e_some_exception, -20207); - end;]'; + end; + ]'; - l_package_spec := ' - create package annotated_package_with_throws is + l_package_spec := q'[ + create or replace package annotated_package_with_throws is + + c_local_error_no constant number := -20211; + e_some_local_exception exception; + pragma exception_init(e_some_local_exception, -20212); + --%suite(Dummy package to test annotation throws) --%test(Throws same annotated exception) @@ -95,6 +102,22 @@ is --%throws(exc_pkg.c_e_mix_missin,utter_rubbish) procedure mixed_list_notexi; + --%test(Success referencing an exception variable when running from another schema) + --%throws(exc_pkg.e_some_exception) + procedure named_exc_pragma_run_from_another_schema; + + --%test(Success referencing a numeric exception variable when running from another schema) + --%throws(exc_pkg.c_e_list_1) + procedure exc_number_var_run_from_another_schema; + + --%test(Success referencing an exception variable without package name when running from another schema) + --%throws(e_some_local_exception) + procedure named_exc_pragma_run_from_another_schema_no_package_name; + + --%test(Success referencing a numeric exception variable without package name when running from another schema) + --%throws(c_local_error_no) + procedure exc_number_var_run_from_another_schema_no_package_name; + --%test(Success resolve and match named exception defined in pragma exception init) --%throws(exc_pkg.e_some_exception) procedure named_exc_pragma; @@ -123,10 +146,10 @@ is --%throws(exc_pkg.c_e_dummy); procedure bad_exc_const; end; - '; + ]'; l_package_body := ' - create package body annotated_package_with_throws is + create or replace package body annotated_package_with_throws is procedure raised_same_exception is begin raise_application_error(-20145, ''Test error''); @@ -208,6 +231,26 @@ is raise_application_error(exc_pkg.c_e_mix_missin,''Test''); end; + procedure named_exc_pragma_run_from_another_schema is + begin + raise exc_pkg.e_some_exception; + end; + + procedure exc_number_var_run_from_another_schema is + begin + raise_application_error(exc_pkg.c_e_list_1,''Test''); + end; + + procedure named_exc_pragma_run_from_another_schema_no_package_name is + begin + raise e_some_local_exception; + end; + + procedure exc_number_var_run_from_another_schema_no_package_name is + begin + raise_application_error(c_local_error_no,''Test''); + end; + procedure named_exc_pragma is begin raise exc_pkg.e_some_exception; @@ -312,7 +355,7 @@ is procedure one_valid_exception_number is begin - ut.expect(g_tests_results).to_match('^\s*Detects a valid exception number within many invalid ones \[[\.0-9]+ sec\]\s*$','m'); + ut.expect(g_tests_results).to_match('^\s*Detects a valid exception number within many invalid ones \[[,\.0-9]+ sec\]\s*$','m'); ut.expect(g_tests_results).to_match('one_valid_exception_number\s*Invalid parameter value ".*" for "--%throws" annotation. Parameter ignored.','m'); end; @@ -357,7 +400,37 @@ is ut.expect(g_tests_results).to_match('^\s*Success resolve and match named exception defined in pragma exception init \[[,\.0-9]+ sec\]\s*$','m'); ut.expect(g_tests_results).not_to_match('named_exc_pragma'); end; - + + procedure run_from_another_schema is + begin + ut3_tester_helper.run_helper.run(('ut3_tester.annotated_package_with_throws')); + g_results_other_schema := ut3_tester_helper.main_helper.get_dbms_output_as_clob(); + end; + + procedure named_exc_pragma_run_from_another_schema is + begin + ut.expect(g_results_other_schema).to_match('^\s*Success referencing an exception variable when running from another schema \[[,\.0-9]+ sec\]\s*$','m'); + ut.expect(g_results_other_schema).not_to_match('named_exc_pragma_run_from_another_schema'); + end; + + procedure named_exc_pragma_run_from_another_schema_no_package_name is + begin + ut.expect(g_results_other_schema).to_match('^\s*Success referencing an exception variable without package name when running from another schema \[[,\.0-9]+ sec\]\s*$','m'); + ut.expect(g_results_other_schema).not_to_match('named_exc_pragma_run_from_another_schema_no_package_name'); + end; + + procedure exc_number_var_run_from_another_schema_no_package_name is + begin + ut.expect(g_results_other_schema).to_match('^\s*Success referencing a numeric exception variable without package name when running from another schema \[[,\.0-9]+ sec\]\s*$','m'); + ut.expect(g_results_other_schema).not_to_match('exc_number_var_run_from_another_schema_no_package_name'); + end; + + procedure exc_number_var_run_from_another_schema is + begin + ut.expect(g_results_other_schema).to_match('^\s*Success referencing a numeric exception variable when running from another schema \[[,\.0-9]+ sec\]\s*$','m'); + ut.expect(g_results_other_schema).not_to_match('exc_number_var_run_from_another_schema'); + end; + procedure named_exc_ora is begin ut.expect(g_tests_results).to_match('^\s*Success resolve and match oracle named exception \[[,\.0-9]+ sec\]\s*$','m'); diff --git a/test/ut3_tester/core/annotations/test_annot_throws_exception.pks b/test/ut3_tester/core/annotations/test_annot_throws_exception.pks index a9d20183d..75369615e 100644 --- a/test/ut3_tester/core/annotations/test_annot_throws_exception.pks +++ b/test/ut3_tester/core/annotations/test_annot_throws_exception.pks @@ -18,7 +18,7 @@ is --%test(Gives failure when the raised exception is different that the annotated one) procedure throws_diff_annotated_except; - --%test(Ignores when the annotation throws is empty) + --%test(Ignores the throws annotation when it is empty) procedure throws_empty; --%test(Ignores when only bad parameters are passed, the test raise a exception and it shows errored test) @@ -56,8 +56,8 @@ is --%test(Success resolve and match named exception defined in pragma exception init) procedure named_exc_pragma; - - --%test(Success resolve and match oracle named exception no data) + + --%test(Success resolve and match oracle named exception no data) procedure named_exc_ora; --%test(Success resolve and match oracle named exception dup val index) @@ -78,5 +78,24 @@ is --%afterall procedure drop_test_package; + --%context(referencing exceptions when running from another schema) + + --%beforeall + procedure run_from_another_schema; + + --%test(Success referencing an exception variable when running from another schema) + procedure named_exc_pragma_run_from_another_schema; + + --%test(Success referencing a numeric exception variable when running from another schema) + procedure exc_number_var_run_from_another_schema; + + --%test(Success referencing an exception variable without a package name when running from another schema) + procedure named_exc_pragma_run_from_another_schema_no_package_name; + + --%test(Success referencing a numeric exception variable without a package name when running from another schema) + procedure exc_number_var_run_from_another_schema_no_package_name; + + --%endcontext + end; / From 1ed93993d90d671f5b7bdc151dc8a58e401cfd77 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 8 Jun 2026 15:18:52 +0100 Subject: [PATCH 056/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/about/authors.md | 2 +- docs/about/license.md | 2 +- docs/about/project-details.md | 2 +- docs/about/support.md | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index d5a8a7704..c1bdd6d8e 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4470 +4475 diff --git a/docs/about/authors.md b/docs/about/authors.md index 0a7e96e1a..be53e8fc1 100644 --- a/docs/about/authors.md +++ b/docs/about/authors.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4470--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4475--develop-blue.svg) ### utPLSQL v3 Major Contributors diff --git a/docs/about/license.md b/docs/about/license.md index 3e20a7d99..1cb261d83 100644 --- a/docs/about/license.md +++ b/docs/about/license.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4470--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4475--develop-blue.svg) # Version Information diff --git a/docs/about/project-details.md b/docs/about/project-details.md index a3dd5ecc4..9ecc430ed 100644 --- a/docs/about/project-details.md +++ b/docs/about/project-details.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4470--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4475--develop-blue.svg) # utPLSQL Project Details diff --git a/docs/about/support.md b/docs/about/support.md index b80db02d0..9c5357086 100644 --- a/docs/about/support.md +++ b/docs/about/support.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4470--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4475--develop-blue.svg) # How to get support diff --git a/docs/index.md b/docs/index.md index 6188cf063..0a288bc9d 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4470--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4475--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index 4c949c4dd..9c5dc0a01 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4470--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4475--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index e3a07c278..fed77d103 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4470--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4475--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index 53a915b5b..0933e322b 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4470--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4475--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index d0874cef8..c09228803 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4470--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4475--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index 3799ad53f..62ffb4ce1 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4470--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4475--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index 34467066a..e265ee897 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4470--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4475--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index 8e5c148a6..9f75dcc42 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4470--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4475--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index 64b6cbbff..f2625a9bb 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4470--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4475--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index 61403752b..b5c82e343 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4470--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4475--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index 00f083a6a..66444118c 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4470--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4475--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index b311351ff..cd4291b35 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4470--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4475--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index 554c88606..7f16e19a1 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4470--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4475--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 4e689d901..4ce9fee8c 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.01.4470-develop'; + gc_version constant varchar2(50) := 'v3.2.01.4475-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From 34bedaeb71675cf692ce411c2ea95290ea5ad867 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Tue, 9 Jun 2026 14:37:26 +0300 Subject: [PATCH 057/171] `throws` works with uninitialized exception variables It is now possible to reference an uninitialized exception variable name. utPLSQL will handle the exception properly. Resolves: #1340 --- source/core/types/ut_executable.tpb | 54 +++-- source/core/types/ut_executable.tps | 29 ++- source/core/types/ut_executable_test.tpb | 184 ++++++++---------- source/core/types/ut_executable_test.tps | 4 +- .../test_annot_throws_exception.pkb | 51 +++-- .../test_annot_throws_exception.pks | 14 +- .../core/test_ut_suite_tag_filter.pkb | 2 +- 7 files changed, 192 insertions(+), 146 deletions(-) diff --git a/source/core/types/ut_executable.tpb b/source/core/types/ut_executable.tpb index 6a45caa99..2fa3c1b5d 100644 --- a/source/core/types/ut_executable.tpb +++ b/source/core/types/ut_executable.tpb @@ -38,20 +38,30 @@ create or replace noneditionable type body ut_executable is return ut_metadata.form_name(l_owner_name, object_name, procedure_name); end; - member procedure do_execute(self in out nocopy ut_executable, a_item in out nocopy ut_suite_item) is + member procedure do_execute( + self in out nocopy ut_executable, + a_item in out nocopy ut_suite_item, + a_ignored_exception_names in ut_varchar2_rows := null, + a_ignored_exception_numbers in ut_varchar2_rows :=null) + is l_completed_without_errors boolean; begin - l_completed_without_errors := self.do_execute(a_item); + l_completed_without_errors := self.do_execute(a_item, a_ignored_exception_names, a_ignored_exception_numbers); end do_execute; - member function do_execute(self in out nocopy ut_executable, a_item in out nocopy ut_suite_item) return boolean is - l_statement varchar2(4000); - l_status number; - l_cursor_number number; - l_completed_without_errors boolean := true; - l_failed_with_invalid_pck boolean := true; - l_start_transaction_id varchar2(250); - l_end_transaction_id varchar2(250); + member function do_execute( + self in out nocopy ut_executable, + a_item in out nocopy ut_suite_item, + a_ignored_exception_names in ut_varchar2_rows := null, + a_ignored_exception_numbers in ut_varchar2_rows :=null) + return boolean is + l_statement varchar2(4000); + l_status number; + l_cursor_number number; + l_completed_without_errors boolean := true; + l_failed_with_invalid_pck boolean := true; + l_start_transaction_id varchar2(250); + l_end_transaction_id varchar2(250); function is_defined return boolean is l_result boolean := false; @@ -111,19 +121,33 @@ create or replace noneditionable type body ut_executable is if l_completed_without_errors then l_statement := 'declare' || chr(10) || - ' l_error_stack varchar2(32767);' || chr(10) || - ' l_error_backtrace varchar2(32767);' || chr(10) || + ' l_error_stack varchar2(32767);' || chr(10) || + ' l_error_backtrace varchar2(32767);' || chr(10) || + ' l_ignored_exception_detected integer := 0;' || chr(10) || 'begin' || chr(10) || ' begin' || chr(10) || ' ' || self.form_name( a_skip_current_user_schema => true ) || ';' || chr(10) || ' exception' || chr(10) || + case when a_ignored_exception_names is not empty then + ' when ' || ut_utils.table_to_clob( a_ignored_exception_names, ' or ' ) || ' then ' || chr(10) || + ' l_ignored_exception_detected := 1;' + end || ' when others then ' || chr(10) || + case when a_ignored_exception_numbers is not empty then + ' if sqlcode in (' || ut_utils.table_to_clob( a_ignored_exception_numbers, ', ' ) || ') then ' || chr(10) || + ' l_ignored_exception_detected := 1; ' || chr(10) || + ' else ' || chr(10) || + ' l_error_stack := dbms_utility.format_error_stack;' || chr(10) || + ' l_error_backtrace := dbms_utility.format_error_backtrace;' || chr(10) || + ' end if;' + else ' l_error_stack := dbms_utility.format_error_stack;' || chr(10) || - ' l_error_backtrace := dbms_utility.format_error_backtrace;' || chr(10) || - ' --raise on ORA-04068, ORA-04061: existing state of packages has been discarded to avoid unrecoverable session exception' || chr(10) || + ' l_error_backtrace := dbms_utility.format_error_backtrace;' + end || chr(10) || ' end;' || chr(10) || ' :a_error_stack := l_error_stack;' || chr(10) || ' :a_error_backtrace := l_error_backtrace;' || chr(10) || + ' :a_ignored_exception_detected := l_ignored_exception_detected;' || chr(10) || 'end;'; ut_utils.debug_log('ut_executable.do_execute l_statement: ' || l_statement); @@ -139,9 +163,11 @@ create or replace noneditionable type body ut_executable is dbms_sql.parse(l_cursor_number, statement => l_statement, language_flag => dbms_sql.native); dbms_sql.bind_variable(l_cursor_number, 'a_error_stack', to_char(null), 32767); dbms_sql.bind_variable(l_cursor_number, 'a_error_backtrace', to_char(null), 32767); + dbms_sql.bind_variable(l_cursor_number, 'a_ignored_exception_detected', to_number(null)); l_status := dbms_sql.execute(l_cursor_number); dbms_sql.variable_value(l_cursor_number, 'a_error_stack', self.error_stack); dbms_sql.variable_value(l_cursor_number, 'a_error_backtrace', self.error_backtrace); + dbms_sql.variable_value(l_cursor_number, 'a_ignored_exception_detected', self.ignored_exception_detected); dbms_sql.close_cursor(l_cursor_number); exception when ut_utils.ex_invalid_package then diff --git a/source/core/types/ut_executable.tps b/source/core/types/ut_executable.tps index 6257e3e89..0945a8996 100644 --- a/source/core/types/ut_executable.tps +++ b/source/core/types/ut_executable.tps @@ -18,26 +18,37 @@ create or replace noneditionable type ut_executable under ut_event_item( /** * The name of the event to be executed before and after the executable is invoked */ - executable_type varchar2(250 char), - owner_name varchar2(250 char), - object_name varchar2(250 char), - procedure_name varchar2(250 char), - error_backtrace varchar2(4000), - error_stack varchar2(4000), - serveroutput clob, + executable_type varchar2(250 char), + owner_name varchar2(250 char), + object_name varchar2(250 char), + procedure_name varchar2(250 char), + error_backtrace varchar2(4000), + error_stack varchar2(4000), + ignored_exception_detected integer, + serveroutput clob, /** * Used for ordering of executables, as Oracle doesn not guarantee ordering of items in a nested table. */ seq_no integer, constructor function ut_executable( self in out nocopy ut_executable, a_owner varchar2, a_package varchar2, a_procedure_name varchar2, a_executable_type varchar2) return self as result, member function form_name(a_skip_current_user_schema boolean := false) return varchar2, - member procedure do_execute(self in out nocopy ut_executable, a_item in out nocopy ut_suite_item), + member procedure do_execute( + self in out nocopy ut_executable, + a_item in out nocopy ut_suite_item, + a_ignored_exception_names in ut_varchar2_rows := null, + a_ignored_exception_numbers in ut_varchar2_rows := null + ), /** * executes the defines executable * returns true if executed without exceptions * returns false if exceptions were raised */ - member function do_execute(self in out nocopy ut_executable, a_item in out nocopy ut_suite_item) return boolean, + member function do_execute( + self in out nocopy ut_executable, + a_item in out nocopy ut_suite_item, + a_ignored_exception_names in ut_varchar2_rows := null, + a_ignored_exception_numbers in ut_varchar2_rows :=null + ) return boolean, member function get_error_stack_trace return varchar2 ) not final / diff --git a/source/core/types/ut_executable_test.tpb b/source/core/types/ut_executable_test.tpb index fc699c08b..a16937e54 100644 --- a/source/core/types/ut_executable_test.tpb +++ b/source/core/types/ut_executable_test.tpb @@ -31,147 +31,127 @@ create or replace noneditionable type body ut_executable_test as member procedure do_execute( self in out nocopy ut_executable_test, a_item in out nocopy ut_suite_item, - a_expected_error_codes in ut_varchar2_rows + a_expected_errors in ut_varchar2_rows ) is l_completed_without_errors boolean; begin - l_completed_without_errors := self.do_execute(a_item, a_expected_error_codes); + l_completed_without_errors := self.do_execute(a_item, a_expected_errors); end do_execute; member function do_execute( self in out nocopy ut_executable_test, a_item in out nocopy ut_suite_item, - a_expected_error_codes in ut_varchar2_rows + a_expected_errors in ut_varchar2_rows ) return boolean is - l_expected_except_message varchar2(4000); - l_expected_error_numbers ut_integer_list; - - function build_exception_numbers_list( - a_item in out nocopy ut_suite_item, - a_expected_error_codes in ut_varchar2_rows - ) return ut_integer_list is + l_failure_message varchar2(32767); + l_expected_error_names ut_varchar2_rows; + l_expected_error_numbers ut_varchar2_rows; + l_all_expected_errors ut_varchar2_rows; + + procedure build_expected_exceptions( + a_item in out nocopy ut_suite_item, + a_exception_definitions in ut_varchar2_rows, + a_exception_names_list out ut_varchar2_rows, + a_exception_numbers_list out ut_varchar2_rows + ) is l_exception_number integer; - l_exception_number_list ut_integer_list := ut_integer_list(); - c_regexp_for_exception_no constant varchar2(30) := '^-?[[:digit:]]{1,5}$'; - - c_integer_exception constant varchar2(1) := 'I'; - c_named_exception constant varchar2(1) := 'N'; - - function is_valid_qualified_name (a_name varchar2) return boolean is - l_name varchar2(500); - begin - l_name := dbms_assert.qualified_sql_name(a_name); - return true; - exception when others then - return false; - end; - - function to_exception_number(a_exception_name in varchar2) return integer is - l_exception_type varchar2(100); - l_exc_no integer; - begin - - --check if it is a predefined exception + l_exception_name varchar2(128); + function to_exception_number (a_exception_var in varchar2, a_item ut_suite_item) return integer is + function get_exception_no(a_exception_var in varchar2) return integer is + l_exc_no integer; begin - execute immediate 'begin null; exception when '||a_exception_name||' then null; end;'; - l_exception_type := c_named_exception; + execute immediate 'declare l_exception integer; begin :l_exception := '||a_exception_var||'; end;' + using out l_exc_no; + return l_exc_no; exception when others then - if dbms_utility.format_error_stack() like '%PLS-00485%' then - declare - e_invalid_number exception; - pragma exception_init ( e_invalid_number, -6502 ); - begin - execute immediate 'declare x integer := '||a_exception_name||'; begin null; end;'; - l_exception_type := c_integer_exception; - exception - when others then - null; - end; - end if; + return null; end; - - execute immediate - case l_exception_type - when c_integer_exception then - 'declare l_exception number; begin :l_exception := '||a_exception_name||'; end;' - when c_named_exception then - 'begin raise '||a_exception_name||'; exception when others then :l_exception := sqlcode; end;' - else - 'begin :l_exception := null; end;' - end - using out l_exc_no; - return l_exc_no; - end; - - function get_exception_number (a_exception_var in varchar2, a_item ut_suite_item) return integer is - l_exc_no integer; - l_exc_type varchar2(50); function remap_no_data_found (a_number integer) return integer is begin return case a_number when 100 then -1403 else a_number end; end; begin - l_exc_no := coalesce( - to_exception_number(a_exception_var), - to_exception_number(a_item.object_owner||'.'||a_exception_var), - to_exception_number(a_item.object_owner||'.'||a_item.object_name||'.'||a_exception_var) + return remap_no_data_found( + coalesce( + get_exception_no(a_exception_var), + get_exception_no(a_item.object_owner||'.'||a_exception_var), + get_exception_no(a_item.object_owner||'.'||a_item.object_name||'.'||a_exception_var) + ) + ); + end; + + function to_exception_name (a_exception_var in varchar2, a_item ut_suite_item) return varchar2 is + function verify_name(a_exception_name in varchar2) return varchar2 is + begin + --check if it is an existing, named exception + execute immediate 'begin null; exception when '||a_exception_name||' then null; end;'; + return a_exception_name; + exception + when others then + return null; + end; + begin + return coalesce( + verify_name(a_exception_var), + verify_name(a_item.object_owner||'.'||a_exception_var), + verify_name(a_item.object_owner||'.'||a_item.object_name||'.'||a_exception_var) ); - return remap_no_data_found(l_exc_no); end; begin - if a_expected_error_codes is not empty then - for i in 1 .. a_expected_error_codes.count loop - /** - * Check if its a valid qualified name and if so try to resolve name to an exception number - */ - if is_valid_qualified_name(a_expected_error_codes(i)) then - l_exception_number := get_exception_number(a_expected_error_codes(i), a_item); - elsif regexp_like(a_expected_error_codes(i), c_regexp_for_exception_no) then - l_exception_number := a_expected_error_codes(i); - end if; - - if l_exception_number is null then + a_exception_names_list := ut_varchar2_rows(); + a_exception_numbers_list := ut_varchar2_rows(); + if a_exception_definitions is not empty then + for i in 1 .. a_exception_definitions.count loop + l_exception_number := + coalesce( + to_exception_number(a_exception_definitions(i), a_item), + to_number(a_exception_definitions(i) default null on conversion error ) + ); + l_exception_name := to_exception_name(a_exception_definitions(i), a_item); + + if l_exception_number is null and l_exception_name is null then a_item.put_warning( - 'Invalid parameter value "'||a_expected_error_codes(i)||'" for "--%throws" annotation. Parameter ignored.', + 'Invalid parameter value "'||a_exception_definitions(i)||'" for "--%throws" annotation. Parameter ignored.', self.procedure_name, a_item.line_no ); elsif l_exception_number >= 0 then a_item.put_warning( - 'Invalid parameter value "'||a_expected_error_codes(i)||'" for "--%throws" annotation. Exception value must be a negative integer. Parameter ignored.', + 'Invalid parameter value "'||a_exception_definitions(i)||'" for "--%throws" annotation. Exception value must be a negative integer. Parameter ignored.', self.procedure_name, a_item.line_no ); - else - l_exception_number_list.extend; - l_exception_number_list(l_exception_number_list.last) := l_exception_number; + elsif l_exception_number is not null then + a_exception_numbers_list.extend; + a_exception_numbers_list(a_exception_numbers_list.last) := l_exception_number; + elsif l_exception_name is not null then + a_exception_names_list.extend; + a_exception_names_list(a_exception_names_list.last) := l_exception_name; end if; - l_exception_number := null; end loop; end if; - - return l_exception_number_list; end; - function failed_expec_errnum_message(a_expected_error_codes in ut_integer_list) return varchar is + + function get_exception_failure_message(a_expected_errors_list ut_varchar2_rows) return varchar is l_actual_error_no integer; - l_expected_error_codes varchar2(4000); + l_expected_errors varchar2(4000); l_fail_message varchar2(4000); begin --Convert the ut_varchar2_list to string to can construct the message - l_expected_error_codes := ut_utils.table_to_clob(a_expected_error_codes, ', '); + l_expected_errors := ut_utils.table_to_clob(a_expected_errors_list, ', '); if self.error_stack is null then - l_fail_message := 'Expected one of exceptions ('||l_expected_error_codes||') but nothing was raised.'; + l_fail_message := 'Expected one of exceptions ('|| l_expected_errors|| ') but nothing was raised.'; else l_actual_error_no := regexp_substr(self.error_stack, '^[[:alpha:]]{3}(-[0-9]+)', subexpression=>1); - if not l_actual_error_no member of a_expected_error_codes or l_actual_error_no is null then + if not l_actual_error_no member of a_expected_errors_list or l_actual_error_no is null then l_fail_message := 'Actual: '||l_actual_error_no||' was expected to '; - if cardinality(a_expected_error_codes) > 1 then - l_fail_message := l_fail_message || 'be one of: ('||l_expected_error_codes||')'; + if cardinality(a_expected_errors_list) > 1 then + l_fail_message := l_fail_message || 'be one of: ('|| l_expected_errors|| ')'; else - l_fail_message := l_fail_message || 'equal: '||l_expected_error_codes; + l_fail_message := l_fail_message || 'equal: '||l_expected_errors; end if; l_fail_message := substr( l_fail_message||chr(10)||self.error_stack||chr(10)||self.error_backtrace, 1, 4000 ); end if; @@ -181,14 +161,16 @@ create or replace noneditionable type body ut_executable_test as end; begin --Create a ut_executable object and call do_execute after that get the data to know the test's execution result - self.do_execute(a_item); - l_expected_error_numbers := build_exception_numbers_list(a_item, a_expected_error_codes); - if l_expected_error_numbers is not null and l_expected_error_numbers is not empty then - l_expected_except_message := failed_expec_errnum_message( l_expected_error_numbers ); + build_expected_exceptions(a_item, a_expected_errors, l_expected_error_names, l_expected_error_numbers ); + + self.do_execute(a_item, l_expected_error_names, l_expected_error_numbers); + l_all_expected_errors := l_expected_error_names multiset union all l_expected_error_numbers; + if l_all_expected_errors is not empty and self.ignored_exception_detected = 0 then + l_failure_message := get_exception_failure_message( l_all_expected_errors); - if l_expected_except_message is not null then + if l_failure_message is not null then ut_expectation_processor.add_expectation_result( - ut_expectation_result(ut_utils.gc_failure, null, l_expected_except_message, false) + ut_expectation_result(ut_utils.gc_failure, null, l_failure_message, false) ); end if; self.error_stack := null; diff --git a/source/core/types/ut_executable_test.tps b/source/core/types/ut_executable_test.tps index 91a7c6be0..d477456f6 100644 --- a/source/core/types/ut_executable_test.tps +++ b/source/core/types/ut_executable_test.tps @@ -22,12 +22,12 @@ create or replace noneditionable type ut_executable_test authid current_user und member procedure do_execute( self in out nocopy ut_executable_test, a_item in out nocopy ut_suite_item, - a_expected_error_codes in ut_varchar2_rows + a_expected_errors in ut_varchar2_rows ), member function do_execute( self in out nocopy ut_executable_test, a_item in out nocopy ut_suite_item, - a_expected_error_codes in ut_varchar2_rows + a_expected_errors in ut_varchar2_rows ) return boolean ) final; diff --git a/test/ut3_tester/core/annotations/test_annot_throws_exception.pkb b/test/ut3_tester/core/annotations/test_annot_throws_exception.pkb index 6e690a8bd..dfe06f00a 100644 --- a/test/ut3_tester/core/annotations/test_annot_throws_exception.pkb +++ b/test/ut3_tester/core/annotations/test_annot_throws_exception.pkb @@ -36,6 +36,8 @@ is e_some_local_exception exception; pragma exception_init(e_some_local_exception, -20212); + e_uninitialized_exception_variable exception; + --%suite(Dummy package to test annotation throws) --%test(Throws same annotated exception) @@ -145,6 +147,11 @@ is --%test(Bad exception constant) --%throws(exc_pkg.c_e_dummy); procedure bad_exc_const; + + --%test(Uninitialized exception variable can be used successfully in a test) + --%throws(e_uninitialized_exception_variable) + procedure referencing_uninitialized_exception; + end; ]'; @@ -286,6 +293,10 @@ is raise_application_error(-20143, ''Test error''); end; + procedure referencing_uninitialized_exception is + begin + raise e_uninitialized_exception_variable; + end; end; '; @@ -299,6 +310,14 @@ is g_tests_results := ut3_develop.ut_utils.table_to_clob(l_test_results); end; + procedure drop_test_package is + pragma autonomous_transaction; + begin + execute immediate 'drop package annotated_package_with_throws'; + execute immediate 'drop package exc_pkg'; + end; + + procedure throws_same_annotated_except is begin ut.expect(g_tests_results).to_match('^\s*Throws same annotated exception \[[,\.0-9]+ sec\]\s*$','m'); @@ -409,26 +428,26 @@ is procedure named_exc_pragma_run_from_another_schema is begin - ut.expect(g_results_other_schema).to_match('^\s*Success referencing an exception variable when running from another schema \[[,\.0-9]+ sec\]\s*$','m'); - ut.expect(g_results_other_schema).not_to_match('named_exc_pragma_run_from_another_schema'); + ut.expect(g_results_other_schema).to_match('^\s*Success referencing an exception variable when running from another schema \[[,\.0-9]+ sec\]\s*$', 'm'); + ut.expect(g_results_other_schema).not_to_match('named_exc_pragma_run_from_another_schema'); end; procedure named_exc_pragma_run_from_another_schema_no_package_name is begin - ut.expect(g_results_other_schema).to_match('^\s*Success referencing an exception variable without package name when running from another schema \[[,\.0-9]+ sec\]\s*$','m'); - ut.expect(g_results_other_schema).not_to_match('named_exc_pragma_run_from_another_schema_no_package_name'); + ut.expect(g_results_other_schema).to_match('^\s*Success referencing an exception variable without package name when running from another schema \[[,\.0-9]+ sec\]\s*$', 'm'); + ut.expect(g_results_other_schema).not_to_match('named_exc_pragma_run_from_another_schema_no_package_name'); end; procedure exc_number_var_run_from_another_schema_no_package_name is begin - ut.expect(g_results_other_schema).to_match('^\s*Success referencing a numeric exception variable without package name when running from another schema \[[,\.0-9]+ sec\]\s*$','m'); - ut.expect(g_results_other_schema).not_to_match('exc_number_var_run_from_another_schema_no_package_name'); + ut.expect(g_results_other_schema).to_match('^\s*Success referencing a numeric exception variable without package name when running from another schema \[[,\.0-9]+ sec\]\s*$', 'm'); + ut.expect(g_results_other_schema).not_to_match('exc_number_var_run_from_another_schema_no_package_name'); end; procedure exc_number_var_run_from_another_schema is begin - ut.expect(g_results_other_schema).to_match('^\s*Success referencing a numeric exception variable when running from another schema \[[,\.0-9]+ sec\]\s*$','m'); - ut.expect(g_results_other_schema).not_to_match('exc_number_var_run_from_another_schema'); + ut.expect(g_results_other_schema).to_match('^\s*Success referencing a numeric exception variable when running from another schema \[[,\.0-9]+ sec\]\s*$', 'm'); + ut.expect(g_results_other_schema).not_to_match('exc_number_var_run_from_another_schema'); end; procedure named_exc_ora is @@ -465,13 +484,17 @@ is begin ut.expect(g_tests_results).to_match('^\s*Bad exception constant \[[,\.0-9]+ sec\] \(FAILED - [0-9]+\)\s*$','m'); ut.expect(g_tests_results).to_match('bad_exc_const\s*ORA-20143: Test error\s*ORA-06512: at "UT3_TESTER.ANNOTATED_PACKAGE_WITH_THROWS"'); - end; - - procedure drop_test_package is - pragma autonomous_transaction; + end; + + procedure referencing_uninitialized_exception is + l_test_results ut3_develop.ut_varchar2_list; + l_actual clob; begin - execute immediate 'drop package annotated_package_with_throws'; - execute immediate 'drop package exc_pkg'; + select * bulk collect into l_test_results from table(ut3_develop.ut.run(('annotated_package_with_throws.referencing_uninitialized_exception'))); + + l_actual := ut3_develop.ut_utils.table_to_clob(l_test_results); + ut.expect(l_actual).to_match('^\s*Uninitialized exception variable can be used successfully in a test \[[,\.0-9]+ sec\]\s*$','m'); + ut.expect(l_actual).not_to_match('referencing_uninitialized_exception'); end; end; diff --git a/test/ut3_tester/core/annotations/test_annot_throws_exception.pks b/test/ut3_tester/core/annotations/test_annot_throws_exception.pks index 75369615e..883ba79e1 100644 --- a/test/ut3_tester/core/annotations/test_annot_throws_exception.pks +++ b/test/ut3_tester/core/annotations/test_annot_throws_exception.pks @@ -5,7 +5,11 @@ is --%beforeall procedure recollect_tests_results; - + + --%afterall + procedure drop_test_package; + + --%test(Gives success when annotated number exception is thrown) procedure throws_same_annotated_except; @@ -73,11 +77,11 @@ is procedure non_existing_const; --%test(Bad exception constant) - procedure bad_exc_const; - - --%afterall - procedure drop_test_package; + procedure bad_exc_const; + --%test(Uninitialized exception variable can be used successfully in a test) + procedure referencing_uninitialized_exception; + --%context(referencing exceptions when running from another schema) --%beforeall diff --git a/test/ut3_tester/core/test_ut_suite_tag_filter.pkb b/test/ut3_tester/core/test_ut_suite_tag_filter.pkb index 7ce6a1c3e..32610edf6 100644 --- a/test/ut3_tester/core/test_ut_suite_tag_filter.pkb +++ b/test/ut3_tester/core/test_ut_suite_tag_filter.pkb @@ -101,7 +101,7 @@ create or replace package body test_ut_suite_tag_filter is ut3_develop.ut_varchar2_rows('context_tag'), null), ut3_develop.ut_suite_cache_row( 3, 'UT_TEST', 'some.path.test_tags.nested_context_#1.create_new_mapping', 'TEST_USER', 'TEST_TAGS', 'CREATE_NEW_MAPPING', 11, timestamp '2026-05-06 10:23:38.461299', NULL, NULL, 0, NULL, null, null, null, null, null, null, null, null, - ut3_develop.ut_varchar2_rows('test_tag'), ut3_develop.ut_executable_test('UT_EXECUTABLE_TEST', 'test', 'TEST_USER', 'test_tags', 'create_new_mapping', NULL, NULL, NULL, NULL)) + ut3_develop.ut_varchar2_rows('test_tag'), ut3_develop.ut_executable_test('UT_EXECUTABLE_TEST', 'test', 'TEST_USER', 'test_tags', 'create_new_mapping', NULL, NULL, NULL, NULL, NULL)) ); ut.expect(ut3_develop.ut_suite_tag_filter.apply( l_input_data, 'slow').count).to_equal(3 ); From 455602f750df949fad86e21d2f029f5de1183f8c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 9 Jun 2026 12:39:07 +0100 Subject: [PATCH 058/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/about/authors.md | 2 +- docs/about/license.md | 2 +- docs/about/project-details.md | 2 +- docs/about/support.md | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index c1bdd6d8e..ddbeab24e 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4475 +4476 diff --git a/docs/about/authors.md b/docs/about/authors.md index be53e8fc1..86bfea6ba 100644 --- a/docs/about/authors.md +++ b/docs/about/authors.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4475--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4476--develop-blue.svg) ### utPLSQL v3 Major Contributors diff --git a/docs/about/license.md b/docs/about/license.md index 1cb261d83..a091e0ce5 100644 --- a/docs/about/license.md +++ b/docs/about/license.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4475--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4476--develop-blue.svg) # Version Information diff --git a/docs/about/project-details.md b/docs/about/project-details.md index 9ecc430ed..3d7a0477b 100644 --- a/docs/about/project-details.md +++ b/docs/about/project-details.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4475--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4476--develop-blue.svg) # utPLSQL Project Details diff --git a/docs/about/support.md b/docs/about/support.md index 9c5357086..c1ebe77e9 100644 --- a/docs/about/support.md +++ b/docs/about/support.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4475--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4476--develop-blue.svg) # How to get support diff --git a/docs/index.md b/docs/index.md index 0a288bc9d..288f2bb73 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4475--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4476--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index 9c5dc0a01..efafb71c1 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4475--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4476--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index aaced671e..f3fe1b436 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4475--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4476--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index 0933e322b..fc3e7ece3 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4475--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4476--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index c09228803..4eec51ae4 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4475--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4476--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index 62ffb4ce1..d10ebc006 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4475--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4476--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index e265ee897..0df4aecdc 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4475--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4476--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index 9f75dcc42..21c44b8ae 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4475--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4476--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index f2625a9bb..a5f73e7fd 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4475--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4476--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index b5c82e343..1d7ceef95 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4475--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4476--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index 66444118c..60d76eaaa 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4475--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4476--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index cd4291b35..60f783ee7 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4475--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4476--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index 7f16e19a1..d34b80055 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4475--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4476--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 4ce9fee8c..706fa73ea 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.01.4475-develop'; + gc_version constant varchar2(50) := 'v3.2.01.4476-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From 71e7aba1e5eefae06f101cdfbbaaa37623db157f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Tue, 9 Jun 2026 14:48:00 +0300 Subject: [PATCH 059/171] `throws` works with uninitialized exception variables It is now possible to reference an uninitialized exception variable name. utPLSQL will handle the exception properly. Resolves: #1340 --- docs/userguide/annotations.md | 123 ++++++++++++++++++++++------------ 1 file changed, 82 insertions(+), 41 deletions(-) diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index aaced671e..20b822fc3 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1765,8 +1765,8 @@ Keep in mind that when your test runs as autonomous transaction it will not see The `--%throws` annotation allows you to specify a list of exceptions as one of: - number literals - example `--%throws(-20134)` -- variables of type `exception` defined in a package specification - example `--%throws(exc_pkg.c_exception_No_variable)` -- variables of type `number` defined in a package specification - example `--%throws(exc_pkg.c_some_exception)` +- variables of type `exception` defined in a package specification - example `--%throws(exc_pkg.c_exception_no_variable)` +- variables or constants of containing a valid negative exception number defined in a package specification - example `--%throws(exc_pkg.c_some_exception)` - [predefined oracle exceptions](https://docs.oracle.com/en//database/oracle/oracle-database/19/lnpls/predefined-exceptions.html) - example `--%throws(no_data_found)` The annotation is ignored when no valid arguments are provided. Examples of invalid annotations `--%throws()`,`--%throws`, `--%throws(abe, 723pf)`. @@ -1783,23 +1783,27 @@ Please note that `NO_DATA_FOUND` exception is a special case in Oracle. To captu Syntax: `--%throws( [[schema.]package.]exception [, ... ])` -So the exception name can be provided with or without the schema and package name. The package name is required only when the exception variable is located in another package. The schema name is required only when the exception variable is located in a pacakge in a nother schema. +The exception name can be provided with or without the schema and package name. The package name is required only when the exception variable is located in another package than the unti test package. The schema name is required only when the exception variable is located in a package in another schema. Example: ```sql linenums="1" create or replace package exc_pkg is c_e_option1 constant number := -20200; c_e_option2 constant varchar2(10) := '-20201'; - c_e_option3 number := -20202; - - e_option4 exception; - pragma exception_init(e_option4, -20203); + c_e_option3 integer := -20202; + e_initialized_exception exception; + pragma exception_init(e_initialized_exception, -20203); + + e_uninitialized_exception exception; end; / create or replace package example_pgk as + e_local_exception exception; + e_local_exception_num constant integer := -20123; + --%suite(Example Throws Annotation) --%test(Throws one of the listed exceptions) @@ -1830,10 +1834,22 @@ create or replace package example_pgk as --%throws(exc_pkg.c_e_option3) procedure raised_option3_exception; - --%test(Throws package exception option4) - --%throws(exc_pkg.e_option4) - procedure raised_option4_exception; + --%test(Throws exception associated with exception number) + --%throws(exc_pkg.e_initialized_exception) + procedure raised_initialized_exception; + + --%test(Throws uninitialized exception) + --%throws(exc_pkg.e_uninitialized_exception) + procedure raised_uninitialized_exception; + --%test(Throws exception local to unit tests package) + --%throws(e_local_exception) + procedure raised_local_exception; + + --%test(Throws exception local to unit tests package with exception number) + --%throws(e_local_exception_num) + procedure raised_local_exception_num; + --%test(Raise name exception) --%throws(DUP_VAL_ON_INDEX) procedure raise_named_exc; @@ -1844,6 +1860,7 @@ create or replace package example_pgk as end; / + create or replace package body example_pgk is procedure raised_one_listed_exception is begin @@ -1880,11 +1897,28 @@ create or replace package body example_pgk is raise_application_error(exc_pkg.c_e_option3, 'Test error'); end; - procedure raised_option4_exception is + procedure raised_initialized_exception is + begin + raise exc_pkg.e_initialized_exception; + end; + + procedure raised_uninitialized_exception is begin - raise exc_pkg.e_option4; + raise exc_pkg.e_uninitialized_exception; end; + procedure raised_local_exception is + pragma autonomous_transaction; + begin + raise e_local_exception; + end; + + procedure raised_local_exception_num is + pragma autonomous_transaction; + begin + raise_application_error(e_local_exception_num, 'Test error'); + end; + procedure raise_named_exc is begin raise DUP_VAL_ON_INDEX; @@ -1903,48 +1937,55 @@ exec ut3.ut.run('example_pgk'); Running the test will give report: ``` Example Throws Annotation - Throws one of the listed exceptions [.002 sec] - Throws different exception than expected [.002 sec] (FAILED - 1) - Throws different exception than listed [.003 sec] (FAILED - 2) - Gives failure when an exception is expected and nothing is thrown [.002 sec] (FAILED - 3) - Throws package exception option1 [.003 sec] - Throws package exception option2 [.002 sec] - Throws package exception option3 [.002 sec] - Throws package exception option4 [.002 sec] - Raise name exception [.002 sec] - Invalid throws annotation [.002 sec] - + Throws one of the listed exceptions [,026 sec] + Throws different exception than expected [,009 sec] (FAILED - 1) + Throws different exception than listed [,014 sec] (FAILED - 2) + Gives failure when an exception is expected and nothing is thrown [,016 sec] (FAILED - 3) + SUCCESS + Actual: 1 (number) was expected to equal: 1 (number) + Throws package exception option1 [,007 sec] + Throws package exception option2 [,008 sec] + Throws package exception option3 [,007 sec] + Throws exception associated with exception number [,006 sec] + Throws uninitialized exception [,006 sec] + Throws exception local to unit tests package [,009 sec] + Throws exception local to unit tests package with exception number [,011 sec] + Raise name exception [,006 sec] + Invalid throws annotation [,004 sec] + Failures: - + 1) raised_different_exception Actual: -20143 was expected to equal: -20144 ORA-20143: Test error - ORA-06512: at "UT3.EXAMPLE_PGK", line 9 - ORA-06512: at "UT3.EXAMPLE_PGK", line 9 - ORA-06512: at line 6 - + ORA-06512: at "UT3_TESTER.EXAMPLE_PGK", line 9 + ORA-06512: at "UT3_TESTER.EXAMPLE_PGK", line 9 + ORA-06512: at line 7 + 2) raised_unlisted_exception Actual: -20143 was expected to be one of: (-20144, -1, -20145) ORA-20143: Test error - ORA-06512: at "UT3.EXAMPLE_PGK", line 14 - ORA-06512: at "UT3.EXAMPLE_PGK", line 14 - ORA-06512: at line 6 - + ORA-06512: at "UT3_TESTER.EXAMPLE_PGK", line 14 + ORA-06512: at "UT3_TESTER.EXAMPLE_PGK", line 14 + ORA-06512: at line 7 + 3) nothing_thrown Expected one of exceptions (-20459, -20136, -20145) but nothing was raised. - - + + Warnings: - - 1) example_pgk + + 1) example_pgk.raised_one_listed_exception Invalid parameter value "bad" for "--%throws" annotation. Parameter ignored. - at "UT3.EXAMPLE_PGK.RAISED_ONE_LISTED_EXCEPTION", line 6 + at package "UT3_TESTER.EXAMPLE_PGK.RAISED_ONE_LISTED_EXCEPTION", line 8 + 2) example_pgk "--%throws" annotation requires a parameter. Annotation ignored. - at "UT3.EXAMPLE_PGK.BAD_THROWS_ANNOTATION", line 42 - -Finished in .025784 seconds -10 tests, 3 failed, 0 errored, 0 disabled, 2 warning(s) + at package "UT3_TESTER.EXAMPLE_PGK.BAD_THROWS_ANNOTATION", line 57 + +Finished in ,138276 seconds +13 tests, 3 failed, 0 errored, 0 disabled, 2 warning(s) + ``` ## Order of execution From a37cb5edf43db128c72ae943e28acbd63d446f03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Tue, 9 Jun 2026 14:51:04 +0300 Subject: [PATCH 060/171] Fixing typo in documentation --- docs/userguide/annotations.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index 20b822fc3..ef91887bb 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1783,7 +1783,7 @@ Please note that `NO_DATA_FOUND` exception is a special case in Oracle. To captu Syntax: `--%throws( [[schema.]package.]exception [, ... ])` -The exception name can be provided with or without the schema and package name. The package name is required only when the exception variable is located in another package than the unti test package. The schema name is required only when the exception variable is located in a package in another schema. +The exception name can be provided with or without the schema and package name. The package name is required only when the exception variable is located in another package than the unit test package. The schema name is required only when the exception variable is located in a package in another schema. Example: ```sql linenums="1" From e6f768e82c867223cd41f4c86c22f887e3d49ea2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Tue, 9 Jun 2026 15:49:36 +0300 Subject: [PATCH 061/171] Update of failing tests --- test/ut3_user/api/test_ut_run.pkb | 2 +- test/ut3_user/reporters/test_documentation_reporter.pkb | 2 +- test/ut3_user/reporters/test_realtime_reporter.pkb | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/test/ut3_user/api/test_ut_run.pkb b/test/ut3_user/api/test_ut_run.pkb index b4040bb43..8c99af7d7 100644 --- a/test/ut3_user/api/test_ut_run.pkb +++ b/test/ut3_user/api/test_ut_run.pkb @@ -551,7 +551,7 @@ Failures:% ORA-04068: existing state of packages (DB_LOOPBACK%) has been discarded ORA-04061: existing state of package body "%.STATEFUL_PACKAGE" has been invalidated ORA-04065: not executed, altered or dropped package body "%.STATEFUL_PACKAGE"% - ORA-06512: at line 6% + ORA-06512: at line 7% 1 tests, 0 failed, 1 errored, 0 disabled, 0 warning(s)%'; --Act diff --git a/test/ut3_user/reporters/test_documentation_reporter.pkb b/test/ut3_user/reporters/test_documentation_reporter.pkb index 016cec256..d9c5d48c8 100644 --- a/test/ut3_user/reporters/test_documentation_reporter.pkb +++ b/test/ut3_user/reporters/test_documentation_reporter.pkb @@ -38,7 +38,7 @@ Failures: 2) erroring_test ORA-06502: PL/SQL: %: character to number conversion error ORA-06512: at "UT3_USER.TEST_REPORTERS", line 44% - ORA-06512: at line 6 + ORA-06512: at line 7 Finished in % seconds 5 tests, 1 failed, 1 errored, 2 disabled, 0 warning(s)%]'; diff --git a/test/ut3_user/reporters/test_realtime_reporter.pkb b/test/ut3_user/reporters/test_realtime_reporter.pkb index 84053c3c9..d4d83f7a3 100644 --- a/test/ut3_user/reporters/test_realtime_reporter.pkb +++ b/test/ut3_user/reporters/test_realtime_reporter.pkb @@ -410,7 +410,7 @@ create or replace package body test_realtime_reporter as = 'realtime_reporting.check_realtime_reporting3.test_6_with_runtime_error'; ut3_tester_helper.main_helper.append_to_list(l_expected_list, ''); + ut3_tester_helper.main_helper.append_to_list(l_expected_list, '%ORA-06512: at line 7]]>'); l_expected := ut3_tester_helper.main_helper.table_to_clob(l_expected_list); ut.expect(l_actual).to_be_like(l_expected); end error_stack_of_test; @@ -427,7 +427,7 @@ create or replace package body test_realtime_reporter as = 'realtime_reporting.check_realtime_reporting3'; ut3_tester_helper.main_helper.append_to_list(l_expected_list, ''); + ut3_tester_helper.main_helper.append_to_list(l_expected_list, '%ORA-06512: at line 7]]>'); l_expected := ut3_tester_helper.main_helper.table_to_clob(l_expected_list); ut.expect(l_actual).to_be_like(l_expected); end error_stack_of_testsuite; From bfd1a9aac18d796347d30c48bd17f9022850f79e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Tue, 9 Jun 2026 17:00:10 +0300 Subject: [PATCH 062/171] Adding an extra test to extend coverage. --- source/core/types/ut_executable_test.tpb | 2 ++ .../annotations/test_annot_throws_exception.pkb | 15 +++++++++++++++ .../annotations/test_annot_throws_exception.pks | 11 +++++++---- 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/source/core/types/ut_executable_test.tpb b/source/core/types/ut_executable_test.tpb index a16937e54..047f88671 100644 --- a/source/core/types/ut_executable_test.tpb +++ b/source/core/types/ut_executable_test.tpb @@ -74,6 +74,7 @@ create or replace noneditionable type body ut_executable_test as return remap_no_data_found( coalesce( get_exception_no(a_exception_var), + get_exception_no(a_item.object_name||'.'||a_exception_var), get_exception_no(a_item.object_owner||'.'||a_exception_var), get_exception_no(a_item.object_owner||'.'||a_item.object_name||'.'||a_exception_var) ) @@ -93,6 +94,7 @@ create or replace noneditionable type body ut_executable_test as begin return coalesce( verify_name(a_exception_var), + verify_name(a_item.object_name||'.'||a_exception_var), verify_name(a_item.object_owner||'.'||a_exception_var), verify_name(a_item.object_owner||'.'||a_item.object_name||'.'||a_exception_var) ); diff --git a/test/ut3_tester/core/annotations/test_annot_throws_exception.pkb b/test/ut3_tester/core/annotations/test_annot_throws_exception.pkb index dfe06f00a..761377765 100644 --- a/test/ut3_tester/core/annotations/test_annot_throws_exception.pkb +++ b/test/ut3_tester/core/annotations/test_annot_throws_exception.pkb @@ -152,6 +152,10 @@ is --%throws(e_uninitialized_exception_variable) procedure referencing_uninitialized_exception; + --%test(Failure report shows all expected exceptions) + --%throws(c_local_error_no,e_some_local_exception,e_uninitialized_exception_variable) + procedure not_throwing_expected_exceptions; + end; ]'; @@ -297,6 +301,11 @@ is begin raise e_uninitialized_exception_variable; end; + + procedure not_throwing_expected_exceptions is + begin + raise_application_error(-20143, ''Test error''); + end; end; '; @@ -497,5 +506,11 @@ is ut.expect(l_actual).not_to_match('referencing_uninitialized_exception'); end; + procedure not_throwing_expected_exceptions is + begin + ut.expect(g_tests_results).to_match('not_throwing_expected_exceptions'); + ut.expect(g_tests_results).to_match('Actual: -20143 was expected to be one of: \(annotated_package_with_throws.e_some_local_exception, annotated_package_with_throws.e_uninitialized_exception_variable, -20211\)'); + end; + end; / diff --git a/test/ut3_tester/core/annotations/test_annot_throws_exception.pks b/test/ut3_tester/core/annotations/test_annot_throws_exception.pks index 883ba79e1..a41c18d2b 100644 --- a/test/ut3_tester/core/annotations/test_annot_throws_exception.pks +++ b/test/ut3_tester/core/annotations/test_annot_throws_exception.pks @@ -40,7 +40,7 @@ is --%test(Detects a valid exception number within many invalid ones) procedure one_valid_exception_number; - --%test(Gives failure when a exception is expected and nothing is thrown) + --%test(Gives failure when an exception is expected and nothing is thrown) procedure nothing_thrown; --%test(Single exception defined as a constant number in package) @@ -49,13 +49,13 @@ is --%test(Gives success when one of annotated exception using constant is thrown) procedure list_of_exc_constant; - --%test(Gives failure when the raised exception is different that the annotated one using variable) + --%test(Gives failure when the raised exception is different than the annotated one using variable) procedure fail_not_match_exc; - --%test(Success when one of exception from mixed list of number and constant is thrown) + --%test(Success when one of exception from a mixed list of number and constant is thrown) procedure mixed_exc_list; - --%test(Success when match exception even if other variable on list dont exists) + --%test(Success when match exception even if another variable on list doesn't exists) procedure mixed_list_notexi; --%test(Success resolve and match named exception defined in pragma exception init) @@ -81,6 +81,9 @@ is --%test(Uninitialized exception variable can be used successfully in a test) procedure referencing_uninitialized_exception; + + --%test(a Failure report shows all expected exceptions) + procedure not_throwing_expected_exceptions; --%context(referencing exceptions when running from another schema) From 797e401165a1215894e05c776916dc9a145b559f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Tue, 9 Jun 2026 17:16:25 +0300 Subject: [PATCH 063/171] Update datatype --- source/core/types/ut_executable_test.tpb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/core/types/ut_executable_test.tpb b/source/core/types/ut_executable_test.tpb index 047f88671..8e48bd70a 100644 --- a/source/core/types/ut_executable_test.tpb +++ b/source/core/types/ut_executable_test.tpb @@ -136,7 +136,7 @@ create or replace noneditionable type body ut_executable_test as end if; end; - function get_exception_failure_message(a_expected_errors_list ut_varchar2_rows) return varchar is + function get_exception_failure_message(a_expected_errors_list ut_varchar2_rows) return varchar2 is l_actual_error_no integer; l_expected_errors varchar2(4000); l_fail_message varchar2(4000); From 917585053686989017aa052fd16beb52a0482cd8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 9 Jun 2026 15:35:17 +0100 Subject: [PATCH 064/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/about/authors.md | 2 +- docs/about/license.md | 2 +- docs/about/project-details.md | 2 +- docs/about/support.md | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index ddbeab24e..4a4c5f9fb 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4476 +4488 diff --git a/docs/about/authors.md b/docs/about/authors.md index 86bfea6ba..dca49827d 100644 --- a/docs/about/authors.md +++ b/docs/about/authors.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4476--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4488--develop-blue.svg) ### utPLSQL v3 Major Contributors diff --git a/docs/about/license.md b/docs/about/license.md index a091e0ce5..a786f3eee 100644 --- a/docs/about/license.md +++ b/docs/about/license.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4476--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4488--develop-blue.svg) # Version Information diff --git a/docs/about/project-details.md b/docs/about/project-details.md index 3d7a0477b..ff840e728 100644 --- a/docs/about/project-details.md +++ b/docs/about/project-details.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4476--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4488--develop-blue.svg) # utPLSQL Project Details diff --git a/docs/about/support.md b/docs/about/support.md index c1ebe77e9..acc99e286 100644 --- a/docs/about/support.md +++ b/docs/about/support.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4476--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4488--develop-blue.svg) # How to get support diff --git a/docs/index.md b/docs/index.md index 288f2bb73..71f9cdc83 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4476--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4488--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index efafb71c1..5d37731f4 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4476--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4488--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index 03e895bb8..e075cd4cb 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4476--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4488--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index fc3e7ece3..5993c3824 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4476--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4488--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index 4eec51ae4..5e37f149e 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4476--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4488--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index d10ebc006..cfe79069a 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4476--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4488--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index 0df4aecdc..6b26dd1c8 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4476--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4488--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index 21c44b8ae..1fa394be5 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4476--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4488--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index a5f73e7fd..f1e36e625 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4476--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4488--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index 1d7ceef95..e9d8d7ad7 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4476--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4488--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index 60d76eaaa..36b7e8932 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4476--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4488--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index 60f783ee7..324e97602 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4476--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4488--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index d34b80055..e69998a46 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4476--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4488--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 706fa73ea..559dde03d 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.01.4476-develop'; + gc_version constant varchar2(50) := 'v3.2.01.4488-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From 8b19e193faee277563ab438b18c6fdabbfa4292f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Sat, 13 Jun 2026 13:44:57 +0300 Subject: [PATCH 065/171] Update mkdocs navigation --- docs/overrides/main.html | 11 +++++++++++ mkdocs.yml | 1 + 2 files changed, 12 insertions(+) create mode 100644 docs/overrides/main.html diff --git a/docs/overrides/main.html b/docs/overrides/main.html new file mode 100644 index 000000000..7f0400ac3 --- /dev/null +++ b/docs/overrides/main.html @@ -0,0 +1,11 @@ +{% extends "base.html" %} +{# + Sub-repository template override. + Loads the shared utPLSQL.org top navigation bar from the central org site. + The topbar.js file is the single source of truth β€” update nav links there only. +#} + +{% block extrahead %} + {{ super() }} + +{% endblock %} diff --git a/mkdocs.yml b/mkdocs.yml index 49356fd4e..659fde4c2 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -14,6 +14,7 @@ extra_css: - stylesheets/extra.css theme: name: material + custom_dir: docs/overrides palette: # Palette toggle for light mode - media: "(prefers-color-scheme: light)" From 12cc0e51a60917d43cac7c097fa1e9448bde89f8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 13 Jun 2026 12:12:02 +0100 Subject: [PATCH 066/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/about/authors.md | 2 +- docs/about/license.md | 2 +- docs/about/project-details.md | 2 +- docs/about/support.md | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index 4a4c5f9fb..4ad7ae861 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4488 +4490 diff --git a/docs/about/authors.md b/docs/about/authors.md index dca49827d..c96f0e206 100644 --- a/docs/about/authors.md +++ b/docs/about/authors.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4488--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4490--develop-blue.svg) ### utPLSQL v3 Major Contributors diff --git a/docs/about/license.md b/docs/about/license.md index a786f3eee..6eb28e564 100644 --- a/docs/about/license.md +++ b/docs/about/license.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4488--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4490--develop-blue.svg) # Version Information diff --git a/docs/about/project-details.md b/docs/about/project-details.md index ff840e728..905f94d16 100644 --- a/docs/about/project-details.md +++ b/docs/about/project-details.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4488--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4490--develop-blue.svg) # utPLSQL Project Details diff --git a/docs/about/support.md b/docs/about/support.md index acc99e286..f6a1b8c10 100644 --- a/docs/about/support.md +++ b/docs/about/support.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4488--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4490--develop-blue.svg) # How to get support diff --git a/docs/index.md b/docs/index.md index 71f9cdc83..70dde91c2 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4488--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4490--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index 5d37731f4..8f7a39e3a 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4488--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4490--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index e075cd4cb..3cad191b1 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4488--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4490--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index 5993c3824..a5090a1cb 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4488--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4490--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index 5e37f149e..4c326047c 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4488--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4490--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index cfe79069a..8bbc81662 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4488--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4490--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index 6b26dd1c8..b5ed501ca 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4488--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4490--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index 1fa394be5..ee03d8daa 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4488--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4490--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index f1e36e625..411da2728 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4488--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4490--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index e9d8d7ad7..3b90ff3ad 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4488--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4490--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index 36b7e8932..1688384d9 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4488--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4490--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index 324e97602..e95165ed5 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4488--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4490--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index e69998a46..ec0c2a197 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4488--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4490--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 559dde03d..55b6e7b1a 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.01.4488-develop'; + gc_version constant varchar2(50) := 'v3.2.01.4490-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From a070b8a901342f03aa5b1e93f5e9b75fcde55afb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Sat, 13 Jun 2026 14:39:23 +0300 Subject: [PATCH 067/171] Disable overrides in documentation navigation. --- mkdocs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkdocs.yml b/mkdocs.yml index 659fde4c2..254ad3966 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -14,7 +14,7 @@ extra_css: - stylesheets/extra.css theme: name: material - custom_dir: docs/overrides +# custom_dir: docs/overrides palette: # Palette toggle for light mode - media: "(prefers-color-scheme: light)" From 8c655afc4292661e378b55085b6d665b7c4a4e50 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 13 Jun 2026 12:46:12 +0100 Subject: [PATCH 068/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/about/authors.md | 2 +- docs/about/license.md | 2 +- docs/about/project-details.md | 2 +- docs/about/support.md | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index 4ad7ae861..5e94ad4d4 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4490 +4491 diff --git a/docs/about/authors.md b/docs/about/authors.md index c96f0e206..d9ee9be33 100644 --- a/docs/about/authors.md +++ b/docs/about/authors.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4490--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4491--develop-blue.svg) ### utPLSQL v3 Major Contributors diff --git a/docs/about/license.md b/docs/about/license.md index 6eb28e564..a7fb3092b 100644 --- a/docs/about/license.md +++ b/docs/about/license.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4490--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4491--develop-blue.svg) # Version Information diff --git a/docs/about/project-details.md b/docs/about/project-details.md index 905f94d16..289fd8c04 100644 --- a/docs/about/project-details.md +++ b/docs/about/project-details.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4490--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4491--develop-blue.svg) # utPLSQL Project Details diff --git a/docs/about/support.md b/docs/about/support.md index f6a1b8c10..d2a3a1d01 100644 --- a/docs/about/support.md +++ b/docs/about/support.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4490--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4491--develop-blue.svg) # How to get support diff --git a/docs/index.md b/docs/index.md index 70dde91c2..681a975fe 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4490--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4491--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index 8f7a39e3a..95af1fa70 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4490--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4491--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index 3cad191b1..81056aecc 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4490--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4491--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index a5090a1cb..517748102 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4490--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4491--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index 4c326047c..dbb064ed4 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4490--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4491--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index 8bbc81662..6b5453e38 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4490--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4491--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index b5ed501ca..6326f05b3 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4490--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4491--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index ee03d8daa..e92c7988b 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4490--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4491--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index 411da2728..f1661b7ec 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4490--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4491--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index 3b90ff3ad..13d65f71b 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4490--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4491--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index 1688384d9..96e993444 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4490--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4491--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index e95165ed5..8a78a637f 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4490--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4491--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index ec0c2a197..e39151cba 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4490--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4491--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 55b6e7b1a..1f92098e1 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.01.4490-develop'; + gc_version constant varchar2(50) := 'v3.2.01.4491-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From 8b4d367031ed96c1402809284fbfb7e188faef57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Mon, 15 Jun 2026 12:00:54 +0300 Subject: [PATCH 069/171] Update of documentation shared navigation. --- docs/overrides/main.html | 15 +++++++++++++++ mkdocs.yml | 2 +- mkdocs_offline.yml | 2 +- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/docs/overrides/main.html b/docs/overrides/main.html index 7f0400ac3..7276dfe5e 100644 --- a/docs/overrides/main.html +++ b/docs/overrides/main.html @@ -7,5 +7,20 @@ {% block extrahead %} {{ super() }} + {%- set palette = config.theme.palette %} + {%- if palette %} + {%- set entries = [palette] if palette is mapping else palette %} + {%- set ns = namespace(icons=[]) %} + {%- for entry in entries %} + {%- if entry.toggle is defined %} + {%- set svg %}{% include ".icons/" ~ entry.toggle.icon ~ ".svg" %}{%- endset %} + {%- set ns.icons = ns.icons + [{"scheme": entry.scheme | default("default"), "icon": svg, "name": entry.toggle.name}] %} + {%- endif %} + {%- endfor %} + {%- if ns.icons %} + + {%- endif %} + {%- endif %} + {% endblock %} diff --git a/mkdocs.yml b/mkdocs.yml index 254ad3966..659fde4c2 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -14,7 +14,7 @@ extra_css: - stylesheets/extra.css theme: name: material -# custom_dir: docs/overrides + custom_dir: docs/overrides palette: # Palette toggle for light mode - media: "(prefers-color-scheme: light)" diff --git a/mkdocs_offline.yml b/mkdocs_offline.yml index 9f0ef57af..24c58213b 100644 --- a/mkdocs_offline.yml +++ b/mkdocs_offline.yml @@ -8,7 +8,7 @@ edit_uri: "" site_url: http://utPLSQL.org/ site_name: utPLSQL-framework site_description: utPLSQL Ultimate Testing Framework for Oracle PL/SQL & SQL -copyright: Copyright © 2016 - 2022 utPLSQL Team +copyright: Copyright © 2016 - 2026 utPLSQL Team #repo_url: https://github.com/utPLSQL/utPLSQL # disable for offline docs extra_css: - stylesheets/extra.css From 6751b64ea5184793a028062e597f6d47a4783427 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 15 Jun 2026 10:08:06 +0100 Subject: [PATCH 070/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/about/authors.md | 2 +- docs/about/license.md | 2 +- docs/about/project-details.md | 2 +- docs/about/support.md | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index 5e94ad4d4..9ed668302 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4491 +4492 diff --git a/docs/about/authors.md b/docs/about/authors.md index d9ee9be33..def691755 100644 --- a/docs/about/authors.md +++ b/docs/about/authors.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4491--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4492--develop-blue.svg) ### utPLSQL v3 Major Contributors diff --git a/docs/about/license.md b/docs/about/license.md index a7fb3092b..143e9d9a7 100644 --- a/docs/about/license.md +++ b/docs/about/license.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4491--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4492--develop-blue.svg) # Version Information diff --git a/docs/about/project-details.md b/docs/about/project-details.md index 289fd8c04..207a28d4f 100644 --- a/docs/about/project-details.md +++ b/docs/about/project-details.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4491--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4492--develop-blue.svg) # utPLSQL Project Details diff --git a/docs/about/support.md b/docs/about/support.md index d2a3a1d01..f4547fd01 100644 --- a/docs/about/support.md +++ b/docs/about/support.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4491--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4492--develop-blue.svg) # How to get support diff --git a/docs/index.md b/docs/index.md index 681a975fe..a1d91a672 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4491--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4492--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index 95af1fa70..e885a51a3 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4491--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4492--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index 81056aecc..c340703a7 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4491--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4492--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index 517748102..307b30ad7 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4491--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4492--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index dbb064ed4..fbbc79b99 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4491--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4492--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index 6b5453e38..18365758d 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4491--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4492--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index 6326f05b3..a0258eeee 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4491--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4492--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index e92c7988b..15b671004 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4491--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4492--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index f1661b7ec..b43d43ac3 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4491--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4492--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index 13d65f71b..d7c66545a 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4491--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4492--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index 96e993444..6b03c3166 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4491--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4492--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index 8a78a637f..11114068f 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4491--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4492--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index e39151cba..12389beaa 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4491--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4492--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 1f92098e1..4451f206c 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.01.4491-develop'; + gc_version constant varchar2(50) := 'v3.2.01.4492-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From 959a7b8ec496fa30cf45bdbd546abd77dbc0cc80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Mon, 15 Jun 2026 17:12:19 +0300 Subject: [PATCH 071/171] Adding navigation.top to documentation --- mkdocs.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/mkdocs.yml b/mkdocs.yml index 659fde4c2..8a7a1f21a 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -35,6 +35,7 @@ theme: # - navigation.indexes - navigation.tabs - navigation.tracking + - navigation.top - toc.follow - toc.integrate - search.suggest From e6fd313765279619f4ea6c2ab7153ba70af846c4 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 15 Jun 2026 15:19:31 +0100 Subject: [PATCH 072/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/about/authors.md | 2 +- docs/about/license.md | 2 +- docs/about/project-details.md | 2 +- docs/about/support.md | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index 9ed668302..d59fc0270 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4492 +4493 diff --git a/docs/about/authors.md b/docs/about/authors.md index def691755..e9ffa3f1a 100644 --- a/docs/about/authors.md +++ b/docs/about/authors.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4492--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4493--develop-blue.svg) ### utPLSQL v3 Major Contributors diff --git a/docs/about/license.md b/docs/about/license.md index 143e9d9a7..45189cc7f 100644 --- a/docs/about/license.md +++ b/docs/about/license.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4492--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4493--develop-blue.svg) # Version Information diff --git a/docs/about/project-details.md b/docs/about/project-details.md index 207a28d4f..121957552 100644 --- a/docs/about/project-details.md +++ b/docs/about/project-details.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4492--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4493--develop-blue.svg) # utPLSQL Project Details diff --git a/docs/about/support.md b/docs/about/support.md index f4547fd01..a9e26fb70 100644 --- a/docs/about/support.md +++ b/docs/about/support.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4492--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4493--develop-blue.svg) # How to get support diff --git a/docs/index.md b/docs/index.md index a1d91a672..b8bbf4e37 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4492--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4493--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index e885a51a3..0f62c07f8 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4492--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4493--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index c340703a7..bab271da7 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4492--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4493--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index 307b30ad7..9ab7094ec 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4492--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4493--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index fbbc79b99..5d14a25dc 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4492--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4493--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index 18365758d..dc02d292c 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4492--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4493--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index a0258eeee..2faabc090 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4492--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4493--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index 15b671004..8d75ce0e0 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4492--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4493--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index b43d43ac3..3056129ec 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4492--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4493--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index d7c66545a..55856e9c2 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4492--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4493--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index 6b03c3166..505067165 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4492--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4493--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index 11114068f..0ef77cf22 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4492--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4493--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index 12389beaa..e54f92ac5 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4492--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4493--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 4451f206c..927a035e9 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.01.4492-develop'; + gc_version constant varchar2(50) := 'v3.2.01.4493-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From ee6754aadf652fb48ea6aa5d293fdb396b6458f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Tue, 16 Jun 2026 00:01:36 +0300 Subject: [PATCH 073/171] update site_utl to https --- mkdocs.yml | 2 +- mkdocs_offline.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mkdocs.yml b/mkdocs.yml index 8a7a1f21a..ca2d109b0 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -5,7 +5,7 @@ # https://squidfunk.github.io/mkdocs-material/setup/building-for-offline-usage/ edit_uri: "" -site_url: http://utPLSQL.org/ +site_url: https://utplsql.org/ site_name: utPLSQL-framework site_description: utPLSQL Ultimate Testing Framework for Oracle PL/SQL & SQL copyright: Copyright © 2016 - 2026 utPLSQL Team diff --git a/mkdocs_offline.yml b/mkdocs_offline.yml index 24c58213b..da631359e 100644 --- a/mkdocs_offline.yml +++ b/mkdocs_offline.yml @@ -5,7 +5,7 @@ # https://squidfunk.github.io/mkdocs-material/setup/building-for-offline-usage/ edit_uri: "" -site_url: http://utPLSQL.org/ +site_url: https://utplsql.org/ site_name: utPLSQL-framework site_description: utPLSQL Ultimate Testing Framework for Oracle PL/SQL & SQL copyright: Copyright © 2016 - 2026 utPLSQL Team From 49bd6c5b14f07b66b09e9c08c55c4bec96ea61aa Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 15 Jun 2026 22:08:33 +0100 Subject: [PATCH 074/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/about/authors.md | 2 +- docs/about/license.md | 2 +- docs/about/project-details.md | 2 +- docs/about/support.md | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index d59fc0270..f60a0d593 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4493 +4494 diff --git a/docs/about/authors.md b/docs/about/authors.md index e9ffa3f1a..05026528c 100644 --- a/docs/about/authors.md +++ b/docs/about/authors.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4493--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4494--develop-blue.svg) ### utPLSQL v3 Major Contributors diff --git a/docs/about/license.md b/docs/about/license.md index 45189cc7f..6e8068e1b 100644 --- a/docs/about/license.md +++ b/docs/about/license.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4493--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4494--develop-blue.svg) # Version Information diff --git a/docs/about/project-details.md b/docs/about/project-details.md index 121957552..5fc788565 100644 --- a/docs/about/project-details.md +++ b/docs/about/project-details.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4493--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4494--develop-blue.svg) # utPLSQL Project Details diff --git a/docs/about/support.md b/docs/about/support.md index a9e26fb70..85e928633 100644 --- a/docs/about/support.md +++ b/docs/about/support.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4493--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4494--develop-blue.svg) # How to get support diff --git a/docs/index.md b/docs/index.md index b8bbf4e37..1769bcacc 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4493--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4494--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index 0f62c07f8..aac1bb6b0 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4493--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4494--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index bab271da7..e7c16e3a0 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4493--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4494--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index 9ab7094ec..5214aba16 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4493--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4494--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index 5d14a25dc..1432319ba 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4493--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4494--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index dc02d292c..fa2f4b65d 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4493--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4494--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index 2faabc090..6571f52d8 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4493--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4494--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index 8d75ce0e0..1c2f65a42 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4493--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4494--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index 3056129ec..87f4ac24c 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4493--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4494--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index 55856e9c2..07045953a 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4493--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4494--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index 505067165..7556e8ad9 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4493--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4494--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index 0ef77cf22..023750e13 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4493--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4494--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index e54f92ac5..6a86c4831 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4493--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4494--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 927a035e9..b68682087 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.01.4493-develop'; + gc_version constant varchar2(50) := 'v3.2.01.4494-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From ca2a5b50cf9133c9327b13acf075bcdc24410fa1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Tue, 16 Jun 2026 00:14:11 +0300 Subject: [PATCH 075/171] update site_utl and override main.html --- docs/overrides/main.html | 14 -------------- mkdocs.yml | 5 ++--- mkdocs_offline.yml | 5 ++--- 3 files changed, 4 insertions(+), 20 deletions(-) diff --git a/docs/overrides/main.html b/docs/overrides/main.html index 7276dfe5e..339e062c4 100644 --- a/docs/overrides/main.html +++ b/docs/overrides/main.html @@ -7,20 +7,6 @@ {% block extrahead %} {{ super() }} - {%- set palette = config.theme.palette %} - {%- if palette %} - {%- set entries = [palette] if palette is mapping else palette %} - {%- set ns = namespace(icons=[]) %} - {%- for entry in entries %} - {%- if entry.toggle is defined %} - {%- set svg %}{% include ".icons/" ~ entry.toggle.icon ~ ".svg" %}{%- endset %} - {%- set ns.icons = ns.icons + [{"scheme": entry.scheme | default("default"), "icon": svg, "name": entry.toggle.name}] %} - {%- endif %} - {%- endfor %} - {%- if ns.icons %} - - {%- endif %} - {%- endif %} {% endblock %} diff --git a/mkdocs.yml b/mkdocs.yml index ca2d109b0..a874a6161 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -5,7 +5,7 @@ # https://squidfunk.github.io/mkdocs-material/setup/building-for-offline-usage/ edit_uri: "" -site_url: https://utplsql.org/ +site_url: https://www.utplsql.org/ site_name: utPLSQL-framework site_description: utPLSQL Ultimate Testing Framework for Oracle PL/SQL & SQL copyright: Copyright © 2016 - 2026 utPLSQL Team @@ -41,8 +41,7 @@ theme: - search.suggest - search.highlight extra: -# homepage: http://jgebal.github.io/ -# homepage: http://utPLSQL.org/ +# homepage: https://www.utPLSQL.org/ social: - icon: fontawesome/brands/twitter link: https://twitter.com/utPLSQL diff --git a/mkdocs_offline.yml b/mkdocs_offline.yml index da631359e..4429d68f5 100644 --- a/mkdocs_offline.yml +++ b/mkdocs_offline.yml @@ -5,7 +5,7 @@ # https://squidfunk.github.io/mkdocs-material/setup/building-for-offline-usage/ edit_uri: "" -site_url: https://utplsql.org/ +site_url: https://www.utplsql.org/ site_name: utPLSQL-framework site_description: utPLSQL Ultimate Testing Framework for Oracle PL/SQL & SQL copyright: Copyright © 2016 - 2026 utPLSQL Team @@ -39,8 +39,7 @@ theme: - search.suggest - search.highlight extra: -# homepage: http://jgebal.github.io/ -# homepage: http://utPLSQL.org/ +# homepage: https://www.utPLSQL.org/ social: - icon: fontawesome/brands/twitter link: https://twitter.com/utPLSQL From 35703ac4f07f399e70a35fea9e124d24d6a99e1a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 15 Jun 2026 22:20:57 +0100 Subject: [PATCH 076/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/about/authors.md | 2 +- docs/about/license.md | 2 +- docs/about/project-details.md | 2 +- docs/about/support.md | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index f60a0d593..a5bb21c73 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4494 +4495 diff --git a/docs/about/authors.md b/docs/about/authors.md index 05026528c..436f6e386 100644 --- a/docs/about/authors.md +++ b/docs/about/authors.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4494--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4495--develop-blue.svg) ### utPLSQL v3 Major Contributors diff --git a/docs/about/license.md b/docs/about/license.md index 6e8068e1b..1af229715 100644 --- a/docs/about/license.md +++ b/docs/about/license.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4494--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4495--develop-blue.svg) # Version Information diff --git a/docs/about/project-details.md b/docs/about/project-details.md index 5fc788565..d1b1db6b7 100644 --- a/docs/about/project-details.md +++ b/docs/about/project-details.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4494--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4495--develop-blue.svg) # utPLSQL Project Details diff --git a/docs/about/support.md b/docs/about/support.md index 85e928633..b49ebb7c2 100644 --- a/docs/about/support.md +++ b/docs/about/support.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4494--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4495--develop-blue.svg) # How to get support diff --git a/docs/index.md b/docs/index.md index 1769bcacc..83fa204c5 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4494--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4495--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index aac1bb6b0..5e6519f12 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4494--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4495--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index e7c16e3a0..a4fdca3bc 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4494--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4495--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index 5214aba16..025abb047 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4494--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4495--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index 1432319ba..6d475b786 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4494--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4495--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index fa2f4b65d..1f7fbe4de 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4494--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4495--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index 6571f52d8..fac8b7194 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4494--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4495--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index 1c2f65a42..12e2646ed 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4494--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4495--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index 87f4ac24c..9b8f0c12e 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4494--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4495--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index 07045953a..f307bf9fe 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4494--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4495--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index 7556e8ad9..f2c5fb9d6 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4494--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4495--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index 023750e13..d0adf2d29 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4494--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4495--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index 6a86c4831..e8cae8d1c 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4494--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4495--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index b68682087..e4e0f75dc 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.01.4494-develop'; + gc_version constant varchar2(50) := 'v3.2.01.4495-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From ff7ecb0e9661cdc05a125dbd6725740a3aa63bc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Tue, 16 Jun 2026 00:23:56 +0300 Subject: [PATCH 077/171] Removed cookies consent from project-level site --- mkdocs.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/mkdocs.yml b/mkdocs.yml index a874a6161..0b5bcb0cd 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -51,13 +51,6 @@ extra: link: https://github.com/utPLSQL - icon: fontawesome/solid/envelope link: mailto:utPLSQL@utPLSQL.org - consent: - title: Cookie consent - description: >- - We use cookies to recognize your repeated visits and preferences, as well - as to measure the effectiveness of our documentation and whether users - find what they're searching for. With your consent, you're helping us to - make our documentation better. version: # disable for offline docs provider: mike # disable for offline docs markdown_extensions: From 84051f8ec423b1fe4bb926868db913f7362aeddf Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 15 Jun 2026 22:30:48 +0100 Subject: [PATCH 078/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/about/authors.md | 2 +- docs/about/license.md | 2 +- docs/about/project-details.md | 2 +- docs/about/support.md | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index a5bb21c73..eec95d2f4 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4495 +4496 diff --git a/docs/about/authors.md b/docs/about/authors.md index 436f6e386..d50da59be 100644 --- a/docs/about/authors.md +++ b/docs/about/authors.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4495--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4496--develop-blue.svg) ### utPLSQL v3 Major Contributors diff --git a/docs/about/license.md b/docs/about/license.md index 1af229715..0881e3731 100644 --- a/docs/about/license.md +++ b/docs/about/license.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4495--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4496--develop-blue.svg) # Version Information diff --git a/docs/about/project-details.md b/docs/about/project-details.md index d1b1db6b7..1de6a1982 100644 --- a/docs/about/project-details.md +++ b/docs/about/project-details.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4495--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4496--develop-blue.svg) # utPLSQL Project Details diff --git a/docs/about/support.md b/docs/about/support.md index b49ebb7c2..fb36cfd5c 100644 --- a/docs/about/support.md +++ b/docs/about/support.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4495--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4496--develop-blue.svg) # How to get support diff --git a/docs/index.md b/docs/index.md index 83fa204c5..82f76d1f0 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4495--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4496--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index 5e6519f12..472749f14 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4495--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4496--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index a4fdca3bc..d2be54cc6 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4495--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4496--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index 025abb047..77db24c14 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4495--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4496--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index 6d475b786..df17dfc18 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4495--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4496--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index 1f7fbe4de..c0e6369e7 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4495--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4496--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index fac8b7194..80196d078 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4495--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4496--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index 12e2646ed..4b8706f12 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4495--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4496--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index 9b8f0c12e..5d421ad28 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4495--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4496--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index f307bf9fe..13fcb51e1 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4495--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4496--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index f2c5fb9d6..ad4ee4c60 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4495--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4496--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index d0adf2d29..4edaf005f 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4495--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4496--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index e8cae8d1c..e270f9e97 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4495--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4496--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index e4e0f75dc..c46886e74 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.01.4495-develop'; + gc_version constant varchar2(50) := 'v3.2.01.4496-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From 1280a240f38eb6e1d5d65b6e2aa99514e1231aca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Tue, 16 Jun 2026 00:32:46 +0300 Subject: [PATCH 079/171] Updated urls for referencing the override topbar.js and css files. --- docs/overrides/main.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/overrides/main.html b/docs/overrides/main.html index 339e062c4..fdfe1a3be 100644 --- a/docs/overrides/main.html +++ b/docs/overrides/main.html @@ -7,6 +7,6 @@ {% block extrahead %} {{ super() }} - - + + {% endblock %} From 1d0ad230badc388d8ea27f6f24046e837b0b379e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 15 Jun 2026 22:41:06 +0100 Subject: [PATCH 080/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/about/authors.md | 2 +- docs/about/license.md | 2 +- docs/about/project-details.md | 2 +- docs/about/support.md | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index eec95d2f4..7a8caf9dc 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4496 +4497 diff --git a/docs/about/authors.md b/docs/about/authors.md index d50da59be..a98a65923 100644 --- a/docs/about/authors.md +++ b/docs/about/authors.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4496--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4497--develop-blue.svg) ### utPLSQL v3 Major Contributors diff --git a/docs/about/license.md b/docs/about/license.md index 0881e3731..002da3907 100644 --- a/docs/about/license.md +++ b/docs/about/license.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4496--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4497--develop-blue.svg) # Version Information diff --git a/docs/about/project-details.md b/docs/about/project-details.md index 1de6a1982..794aa1437 100644 --- a/docs/about/project-details.md +++ b/docs/about/project-details.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4496--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4497--develop-blue.svg) # utPLSQL Project Details diff --git a/docs/about/support.md b/docs/about/support.md index fb36cfd5c..2e9213a1d 100644 --- a/docs/about/support.md +++ b/docs/about/support.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4496--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4497--develop-blue.svg) # How to get support diff --git a/docs/index.md b/docs/index.md index 82f76d1f0..79aa7331f 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4496--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4497--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index 472749f14..4def41334 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4496--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4497--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index d2be54cc6..e26b72a45 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4496--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4497--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index 77db24c14..9ef3c262f 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4496--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4497--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index df17dfc18..15e4a8dbf 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4496--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4497--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index c0e6369e7..05de5a4ff 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4496--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4497--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index 80196d078..2ecfdeb01 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4496--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4497--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index 4b8706f12..00a198f95 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4496--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4497--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index 5d421ad28..28bb66903 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4496--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4497--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index 13fcb51e1..f921d35d8 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4496--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4497--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index ad4ee4c60..d88c5b59f 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4496--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4497--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index 4edaf005f..3c88fe6c5 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4496--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4497--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index e270f9e97..2afca0aa9 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4496--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.01.4497--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index c46886e74..2ef25b2d5 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.01.4496-develop'; + gc_version constant varchar2(50) := 'v3.2.01.4497-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From 2cbf4fcee0cc26e875c4defbf0ca708857a988c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Tue, 16 Jun 2026 01:10:41 +0300 Subject: [PATCH 081/171] Update develop version --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 48e1527d1..134ab8769 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.2.01-develop +v3.2.3-develop From ef8ba95243c3f9ac3d91749e832efff27851d725 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 15 Jun 2026 23:17:35 +0100 Subject: [PATCH 082/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/about/authors.md | 2 +- docs/about/license.md | 2 +- docs/about/project-details.md | 2 +- docs/about/support.md | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- sonar-project.properties | 2 +- source/core/ut_utils.pks | 2 +- 20 files changed, 20 insertions(+), 20 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index 7a8caf9dc..1a7f891d7 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4497 +4498 diff --git a/docs/about/authors.md b/docs/about/authors.md index a98a65923..caef6343a 100644 --- a/docs/about/authors.md +++ b/docs/about/authors.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4497--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4498--develop-blue.svg) ### utPLSQL v3 Major Contributors diff --git a/docs/about/license.md b/docs/about/license.md index 002da3907..f2dc820c4 100644 --- a/docs/about/license.md +++ b/docs/about/license.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4497--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4498--develop-blue.svg) # Version Information diff --git a/docs/about/project-details.md b/docs/about/project-details.md index 794aa1437..065896e24 100644 --- a/docs/about/project-details.md +++ b/docs/about/project-details.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4497--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4498--develop-blue.svg) # utPLSQL Project Details diff --git a/docs/about/support.md b/docs/about/support.md index 2e9213a1d..e527af4d5 100644 --- a/docs/about/support.md +++ b/docs/about/support.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4497--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4498--develop-blue.svg) # How to get support diff --git a/docs/index.md b/docs/index.md index 79aa7331f..175cc1553 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4497--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4498--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index 4def41334..e832a1dc6 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4497--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4498--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index e26b72a45..daec67e7b 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4497--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4498--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index 9ef3c262f..1779a3bb6 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4497--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4498--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index 15e4a8dbf..aea272e0e 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4497--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4498--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index 05de5a4ff..da9807059 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4497--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4498--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index 2ecfdeb01..cb4b63621 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4497--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4498--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index 00a198f95..b6df23b1a 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4497--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4498--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index 28bb66903..80dac8302 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4497--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4498--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index f921d35d8..873abadd9 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4497--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4498--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index d88c5b59f..4b86f939c 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4497--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4498--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index 3c88fe6c5..c43fd025e 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4497--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4498--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index 2afca0aa9..ea8e4f9e6 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.01.4497--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4498--develop-blue.svg) # Upgrading from version 2 diff --git a/sonar-project.properties b/sonar-project.properties index efcaeb5e6..11e499fca 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -3,7 +3,7 @@ sonar.organization=utplsql sonar.projectKey=utPLSQL_utPLSQL # this is the name and version displayed in the SonarQube UI. Was mandatory prior to SonarQube 6.1. sonar.projectName=utPLSQL -sonar.projectVersion=v3.2.01-develop +sonar.projectVersion=v3.2.3-develop # Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows. # Since SonarQube 4.2, this property is optional if sonar.modules is set. diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 2ef25b2d5..722842641 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.01.4497-develop'; + gc_version constant varchar2(50) := 'v3.2.3.4498-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From 12b0834418488122debf09d89ce7b5a967313beb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Wed, 24 Jun 2026 18:41:43 +0300 Subject: [PATCH 083/171] Adding google analytics and cookies consent --- mkdocs.yml | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/mkdocs.yml b/mkdocs.yml index 0b5bcb0cd..71db3d01b 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -8,7 +8,9 @@ edit_uri: "" site_url: https://www.utplsql.org/ site_name: utPLSQL-framework site_description: utPLSQL Ultimate Testing Framework for Oracle PL/SQL & SQL -copyright: Copyright © 2016 - 2026 utPLSQL Team +copyright: > + Copyright © 2016 - 2026 utPLSQL Team + Change cookie settings repo_url: https://github.com/utPLSQL/utPLSQL extra_css: - stylesheets/extra.css @@ -42,6 +44,16 @@ theme: - search.highlight extra: # homepage: https://www.utPLSQL.org/ + analytics: + provider: google + property: G-WMFVR98J0Q + consent: + title: Cookie consent + description: >- + We use cookies to recognize your repeated visits and preferences, as well + as to measure the effectiveness of our documentation and whether users + find what they're searching for. With your consent, you're helping us to + make our documentation better. social: - icon: fontawesome/brands/twitter link: https://twitter.com/utPLSQL From 77b6f66e032e6ef0777edbb868372c05d55e98ed Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 24 Jun 2026 16:48:49 +0100 Subject: [PATCH 084/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/about/authors.md | 2 +- docs/about/license.md | 2 +- docs/about/project-details.md | 2 +- docs/about/support.md | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index 1a7f891d7..96ca98800 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4498 +4499 diff --git a/docs/about/authors.md b/docs/about/authors.md index caef6343a..c7ab0b8e7 100644 --- a/docs/about/authors.md +++ b/docs/about/authors.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4498--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4499--develop-blue.svg) ### utPLSQL v3 Major Contributors diff --git a/docs/about/license.md b/docs/about/license.md index f2dc820c4..83698e371 100644 --- a/docs/about/license.md +++ b/docs/about/license.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4498--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4499--develop-blue.svg) # Version Information diff --git a/docs/about/project-details.md b/docs/about/project-details.md index 065896e24..c162cf5c6 100644 --- a/docs/about/project-details.md +++ b/docs/about/project-details.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4498--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4499--develop-blue.svg) # utPLSQL Project Details diff --git a/docs/about/support.md b/docs/about/support.md index e527af4d5..d6b690b62 100644 --- a/docs/about/support.md +++ b/docs/about/support.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4498--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4499--develop-blue.svg) # How to get support diff --git a/docs/index.md b/docs/index.md index 175cc1553..bd277020e 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4498--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4499--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index e832a1dc6..363b8030b 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4498--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4499--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index daec67e7b..4a8a0218a 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4498--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4499--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index 1779a3bb6..78d294799 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4498--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4499--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index aea272e0e..2f98b90f5 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4498--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4499--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index da9807059..2623dc67f 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4498--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4499--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index cb4b63621..be7266b4d 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4498--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4499--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index b6df23b1a..6f68b5f15 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4498--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4499--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index 80dac8302..0a7d2599c 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4498--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4499--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index 873abadd9..572ac9dd8 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4498--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4499--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index 4b86f939c..547681a0e 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4498--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4499--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index c43fd025e..181a56e1e 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4498--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4499--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index ea8e4f9e6..3e7e8c5a5 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4498--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4499--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 722842641..9e990456d 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.3.4498-develop'; + gc_version constant varchar2(50) := 'v3.2.3.4499-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From 2c6c1f9ce605e2b576501dd1d0700864c9b38a95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Wed, 24 Jun 2026 18:50:53 +0300 Subject: [PATCH 085/171] Update of the project site description --- mkdocs.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mkdocs.yml b/mkdocs.yml index 71db3d01b..eab0c5fef 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -6,8 +6,8 @@ edit_uri: "" site_url: https://www.utplsql.org/ -site_name: utPLSQL-framework -site_description: utPLSQL Ultimate Testing Framework for Oracle PL/SQL & SQL +site_name: utPLSQL +site_description: utPLSQL Ultimate Testing Framework for Oracle PL/SQL copyright: > Copyright © 2016 - 2026 utPLSQL Team Change cookie settings From 66e701984ff1cf5ec8c44c7b6b42b39c11bd4f68 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 24 Jun 2026 16:59:01 +0100 Subject: [PATCH 086/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/about/authors.md | 2 +- docs/about/license.md | 2 +- docs/about/project-details.md | 2 +- docs/about/support.md | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index 96ca98800..15c4c9a2c 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4499 +4500 diff --git a/docs/about/authors.md b/docs/about/authors.md index c7ab0b8e7..0dac0b90e 100644 --- a/docs/about/authors.md +++ b/docs/about/authors.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4499--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4500--develop-blue.svg) ### utPLSQL v3 Major Contributors diff --git a/docs/about/license.md b/docs/about/license.md index 83698e371..737db2a64 100644 --- a/docs/about/license.md +++ b/docs/about/license.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4499--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4500--develop-blue.svg) # Version Information diff --git a/docs/about/project-details.md b/docs/about/project-details.md index c162cf5c6..40a489189 100644 --- a/docs/about/project-details.md +++ b/docs/about/project-details.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4499--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4500--develop-blue.svg) # utPLSQL Project Details diff --git a/docs/about/support.md b/docs/about/support.md index d6b690b62..156ba28e4 100644 --- a/docs/about/support.md +++ b/docs/about/support.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4499--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4500--develop-blue.svg) # How to get support diff --git a/docs/index.md b/docs/index.md index bd277020e..88b6de686 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4499--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4500--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index 363b8030b..3848f6813 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4499--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4500--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index 4a8a0218a..5d4f21a2e 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4499--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4500--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index 78d294799..dd83de093 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4499--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4500--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index 2f98b90f5..6deb2e630 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4499--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4500--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index 2623dc67f..54b206ac6 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4499--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4500--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index be7266b4d..c1c65de61 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4499--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4500--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index 6f68b5f15..2524015dc 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4499--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4500--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index 0a7d2599c..83769c5c0 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4499--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4500--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index 572ac9dd8..33151e6ed 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4499--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4500--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index 547681a0e..015879b31 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4499--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4500--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index 181a56e1e..7f3c6f1c0 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4499--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4500--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index 3e7e8c5a5..aba6abc3d 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4499--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4500--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 9e990456d..f3e1297f4 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.3.4499-develop'; + gc_version constant varchar2(50) := 'v3.2.3.4500-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From 0a6baeb821a6a6349629fe7188b677972c53cc47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Wed, 24 Jun 2026 19:33:16 +0300 Subject: [PATCH 087/171] Adding feedback form. --- mkdocs.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/mkdocs.yml b/mkdocs.yml index eab0c5fef..7460a9c32 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -47,6 +47,20 @@ extra: analytics: provider: google property: G-WMFVR98J0Q + feedback: + title: Was this page helpful? + ratings: + - icon: material/emoticon-happy-outline + name: This page was helpful + data: 1 + note: >- + Thanks for your feedback! + - icon: material/emoticon-sad-outline + name: This page could be improved + data: 0 + note: >- + Thanks for your feedback! Help us improve this page by + using our GitHub Discussions. consent: title: Cookie consent description: >- From 9c8c4f0858f12e2a317285eb5cb20234208c1b41 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 24 Jun 2026 17:39:55 +0100 Subject: [PATCH 088/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/about/authors.md | 2 +- docs/about/license.md | 2 +- docs/about/project-details.md | 2 +- docs/about/support.md | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index 15c4c9a2c..8af91005b 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4500 +4501 diff --git a/docs/about/authors.md b/docs/about/authors.md index 0dac0b90e..a4fcd049a 100644 --- a/docs/about/authors.md +++ b/docs/about/authors.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4500--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4501--develop-blue.svg) ### utPLSQL v3 Major Contributors diff --git a/docs/about/license.md b/docs/about/license.md index 737db2a64..c59a92737 100644 --- a/docs/about/license.md +++ b/docs/about/license.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4500--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4501--develop-blue.svg) # Version Information diff --git a/docs/about/project-details.md b/docs/about/project-details.md index 40a489189..b214cdd41 100644 --- a/docs/about/project-details.md +++ b/docs/about/project-details.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4500--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4501--develop-blue.svg) # utPLSQL Project Details diff --git a/docs/about/support.md b/docs/about/support.md index 156ba28e4..ece9c33c0 100644 --- a/docs/about/support.md +++ b/docs/about/support.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4500--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4501--develop-blue.svg) # How to get support diff --git a/docs/index.md b/docs/index.md index 88b6de686..3938f131d 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4500--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4501--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index 3848f6813..c71871c2b 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4500--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4501--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index 5d4f21a2e..999e27a5b 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4500--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4501--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index dd83de093..c713453c9 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4500--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4501--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index 6deb2e630..398349149 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4500--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4501--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index 54b206ac6..c49a7e5e0 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4500--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4501--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index c1c65de61..b1764a63f 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4500--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4501--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index 2524015dc..8edd04887 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4500--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4501--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index 83769c5c0..86621a062 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4500--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4501--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index 33151e6ed..1abb1742d 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4500--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4501--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index 015879b31..44f4e4fbd 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4500--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4501--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index 7f3c6f1c0..58e4a8d8b 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4500--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4501--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index aba6abc3d..485ef3dc7 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4500--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4501--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index f3e1297f4..d8bb73cd2 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.3.4500-develop'; + gc_version constant varchar2(50) := 'v3.2.3.4501-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From e6e628199c3aa57dfe5e1e97d2040bcd88e5e407 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Wed, 24 Jun 2026 19:55:55 +0300 Subject: [PATCH 089/171] Added workflow for rebuilding documentation for older versions --- .github/workflows/rebuild_docs.yml | 54 ++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 .github/workflows/rebuild_docs.yml diff --git a/.github/workflows/rebuild_docs.yml b/.github/workflows/rebuild_docs.yml new file mode 100644 index 000000000..455740a4e --- /dev/null +++ b/.github/workflows/rebuild_docs.yml @@ -0,0 +1,54 @@ +name: Rebuild older docs versions +on: + workflow_dispatch: + inputs: + versions: + description: 'Space-separated list of versions to rebuild (e.g. "v3.1.14 v3.1.13")' + required: true + +defaults: + run: + shell: bash + +jobs: + rebuild: + name: Rebuild documentation for older versions + concurrency: publish + runs-on: ubuntu-latest + timeout-minutes: 30 + env: + API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }} + + steps: + - name: πŸ” API_TOKEN_GITHUB + if: env.API_TOKEN_GITHUB == '' + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: echo "API_TOKEN_GITHUB=${GITHUB_TOKEN}" >> $GITHUB_ENV + + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + token: ${{ env.API_TOKEN_GITHUB }} + + - uses: c-py/action-dotenv-to-setenv@v5 + with: + env-file: .github/variables/.env + + - uses: FranzDiebold/github-env-vars-action@v2.8.0 + + - name: Install mkdocs stack + run: | + pip install mkdocs + pip install mkdocs-git-revision-date-localized-plugin + pip install mkdocs-material + pip install git+https://github.com/jimporter/mike.git + + - name: Rebuild specified versions + run: | + for VERSION in ${{ inputs.versions }}; do + echo "=== Rebuilding $VERSION ===" + git checkout "tags/${VERSION}" -- docs/ + mike deploy -p "${VERSION}" + git checkout HEAD -- docs/ mkdocs.yml + done From aa115f041ee6bb70005e2357b7946a11af2c61ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Wed, 24 Jun 2026 20:46:41 +0300 Subject: [PATCH 090/171] Update of cookie settings. --- mkdocs.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mkdocs.yml b/mkdocs.yml index 7460a9c32..50b15d12b 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -68,6 +68,8 @@ extra: as to measure the effectiveness of our documentation and whether users find what they're searching for. With your consent, you're helping us to make our documentation better. + # the cookie: utplsql-consent allows for shred cookie across all documentation versions and the global site + cookie: utplsql-consent social: - icon: fontawesome/brands/twitter link: https://twitter.com/utPLSQL From bb6cd93d67fda10b4eec1bc07c5181db7e93291e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Thu, 25 Jun 2026 08:41:52 +0300 Subject: [PATCH 091/171] Update of cookie settings. --- docs/overrides/main.html | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/docs/overrides/main.html b/docs/overrides/main.html index fdfe1a3be..b93cf09de 100644 --- a/docs/overrides/main.html +++ b/docs/overrides/main.html @@ -7,6 +7,21 @@ {% block extrahead %} {{ super() }} + {% endblock %} From cfbcce405c9d94264179ea1b1a43ed249d0bafd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Thu, 25 Jun 2026 08:56:49 +0300 Subject: [PATCH 092/171] Update of cookie settings. --- docs/overrides/main.html | 15 --------------- mkdocs.yml | 2 ++ 2 files changed, 2 insertions(+), 15 deletions(-) diff --git a/docs/overrides/main.html b/docs/overrides/main.html index b93cf09de..fdfe1a3be 100644 --- a/docs/overrides/main.html +++ b/docs/overrides/main.html @@ -7,21 +7,6 @@ {% block extrahead %} {{ super() }} - {% endblock %} diff --git a/mkdocs.yml b/mkdocs.yml index 50b15d12b..44b823cdf 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -44,6 +44,8 @@ theme: - search.highlight extra: # homepage: https://www.utPLSQL.org/ + # sets scope of cookies to use a common path (root) + scope: "/" analytics: provider: google property: G-WMFVR98J0Q From 713867d2a47964534756fb9ff09515a409609b7b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 25 Jun 2026 07:03:49 +0100 Subject: [PATCH 093/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/about/authors.md | 2 +- docs/about/license.md | 2 +- docs/about/project-details.md | 2 +- docs/about/support.md | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index 8af91005b..feb1f9f58 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4501 +4504 diff --git a/docs/about/authors.md b/docs/about/authors.md index a4fcd049a..ec34d79f6 100644 --- a/docs/about/authors.md +++ b/docs/about/authors.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4501--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4504--develop-blue.svg) ### utPLSQL v3 Major Contributors diff --git a/docs/about/license.md b/docs/about/license.md index c59a92737..fc699e0a9 100644 --- a/docs/about/license.md +++ b/docs/about/license.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4501--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4504--develop-blue.svg) # Version Information diff --git a/docs/about/project-details.md b/docs/about/project-details.md index b214cdd41..fedb1a2be 100644 --- a/docs/about/project-details.md +++ b/docs/about/project-details.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4501--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4504--develop-blue.svg) # utPLSQL Project Details diff --git a/docs/about/support.md b/docs/about/support.md index ece9c33c0..ec2192dc3 100644 --- a/docs/about/support.md +++ b/docs/about/support.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4501--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4504--develop-blue.svg) # How to get support diff --git a/docs/index.md b/docs/index.md index 3938f131d..37c41038c 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4501--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4504--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index c71871c2b..e30b822e2 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4501--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4504--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index 999e27a5b..7ca85ba9d 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4501--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4504--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index c713453c9..ea4c27ac6 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4501--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4504--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index 398349149..09ff07b7b 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4501--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4504--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index c49a7e5e0..87dc4eec9 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4501--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4504--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index b1764a63f..43cdfd2e1 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4501--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4504--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index 8edd04887..a72a88fa5 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4501--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4504--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index 86621a062..b33ecc898 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4501--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4504--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index 1abb1742d..c671b14d2 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4501--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4504--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index 44f4e4fbd..9ef81b1e8 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4501--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4504--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index 58e4a8d8b..b48629546 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4501--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4504--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index 485ef3dc7..5b1c8a20b 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4501--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4504--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index d8bb73cd2..181b1d98a 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.3.4501-develop'; + gc_version constant varchar2(50) := 'v3.2.3.4504-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From f3936cd83582ee5f7789031850d95b0eaac7426c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Thu, 25 Jun 2026 09:17:23 +0300 Subject: [PATCH 094/171] Update rebuild docs to have all versions by default --- .github/workflows/rebuild_docs.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/rebuild_docs.yml b/.github/workflows/rebuild_docs.yml index 455740a4e..93e3fa6ed 100644 --- a/.github/workflows/rebuild_docs.yml +++ b/.github/workflows/rebuild_docs.yml @@ -5,6 +5,7 @@ on: versions: description: 'Space-separated list of versions to rebuild (e.g. "v3.1.14 v3.1.13")' required: true + default: 'v3.2.2 v3.2.01 v3.1.14 v3.1.13 v3.1.12 v3.1.11 v3.1.10 v3.1.9 v3.1.8 v3.1.6 v3.1.5 v3.1.4 v3.1.3 v3.1.2 v3.1.1 v3.1.0 v3.0.4 v3.0.3 v3.0.2 v3.0.1 v3.0.0 v3.0.0-beta' defaults: run: From 34710b886d5c6ceefca21fcb889aa263d52a281a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 25 Jun 2026 07:32:32 +0100 Subject: [PATCH 095/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/about/authors.md | 2 +- docs/about/license.md | 2 +- docs/about/project-details.md | 2 +- docs/about/support.md | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index feb1f9f58..a420b3991 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4504 +4505 diff --git a/docs/about/authors.md b/docs/about/authors.md index ec34d79f6..58d723884 100644 --- a/docs/about/authors.md +++ b/docs/about/authors.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4504--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4505--develop-blue.svg) ### utPLSQL v3 Major Contributors diff --git a/docs/about/license.md b/docs/about/license.md index fc699e0a9..0434cb3f0 100644 --- a/docs/about/license.md +++ b/docs/about/license.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4504--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4505--develop-blue.svg) # Version Information diff --git a/docs/about/project-details.md b/docs/about/project-details.md index fedb1a2be..ea3868da7 100644 --- a/docs/about/project-details.md +++ b/docs/about/project-details.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4504--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4505--develop-blue.svg) # utPLSQL Project Details diff --git a/docs/about/support.md b/docs/about/support.md index ec2192dc3..7a60eff3b 100644 --- a/docs/about/support.md +++ b/docs/about/support.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4504--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4505--develop-blue.svg) # How to get support diff --git a/docs/index.md b/docs/index.md index 37c41038c..bf6719701 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4504--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4505--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index e30b822e2..4864dfd68 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4504--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4505--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index 7ca85ba9d..04b574e50 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4504--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4505--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index ea4c27ac6..21788e15d 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4504--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4505--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index 09ff07b7b..c7baadf86 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4504--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4505--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index 87dc4eec9..aed4875f3 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4504--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4505--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index 43cdfd2e1..80b0d97b3 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4504--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4505--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index a72a88fa5..dc9e4e198 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4504--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4505--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index b33ecc898..374b65039 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4504--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4505--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index c671b14d2..469326aae 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4504--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4505--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index 9ef81b1e8..b2322fe5f 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4504--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4505--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index b48629546..9e31d6cd1 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4504--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4505--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index 5b1c8a20b..2904fe7d8 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4504--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4505--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 181b1d98a..3ec758add 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.3.4504-develop'; + gc_version constant varchar2(50) := 'v3.2.3.4505-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From f04c54ec932abfe3e48841885334ed0ae8749ea1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Fri, 10 Jul 2026 08:51:48 +0300 Subject: [PATCH 096/171] Fixing release announcement script --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c4c76222c..58eb10ad4 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -73,7 +73,7 @@ jobs: - name: Post release announcement to org discussions env: - GH_TOKEN: ${{ secrets.GITHUB_API_TOKEN }} + GH_TOKEN: ${{ secrets.API_TOKEN_GITHUB }} run: .github/scripts/post_release_announcement.sh - name: Publish release post to utplsql.github.io From 28a1b010ebcfee629f622dc10d691d07f2508b7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Fri, 10 Jul 2026 09:13:56 +0300 Subject: [PATCH 097/171] Fixing `publish_release_post.sh` script --- .github/scripts/publish_release_post.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/scripts/publish_release_post.sh b/.github/scripts/publish_release_post.sh index 89438738c..a1199cc0e 100755 --- a/.github/scripts/publish_release_post.sh +++ b/.github/scripts/publish_release_post.sh @@ -37,7 +37,7 @@ FORMATTED_BODY=$(echo "${RELEASE_BODY}" \ | sed -E 's@\*\*Full Changelog\*\*: (https://[^ ]+/compare/([^ ]+))@\*\*Full Changelog\*\*: [\2](\1)@g') # Create the post file -cat > "docs/_posts/${POST_FILENAME}" < "docs/announcements/posts/${POST_FILENAME}" < Date: Fri, 10 Jul 2026 07:22:00 +0100 Subject: [PATCH 098/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/about/authors.md | 2 +- docs/about/license.md | 2 +- docs/about/project-details.md | 2 +- docs/about/support.md | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index a420b3991..7553ea5ef 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4505 +4508 diff --git a/docs/about/authors.md b/docs/about/authors.md index 58d723884..dc750b3ad 100644 --- a/docs/about/authors.md +++ b/docs/about/authors.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4505--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4508--develop-blue.svg) ### utPLSQL v3 Major Contributors diff --git a/docs/about/license.md b/docs/about/license.md index 0434cb3f0..762635793 100644 --- a/docs/about/license.md +++ b/docs/about/license.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4505--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4508--develop-blue.svg) # Version Information diff --git a/docs/about/project-details.md b/docs/about/project-details.md index ea3868da7..820b59ba6 100644 --- a/docs/about/project-details.md +++ b/docs/about/project-details.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4505--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4508--develop-blue.svg) # utPLSQL Project Details diff --git a/docs/about/support.md b/docs/about/support.md index 7a60eff3b..93e478fcc 100644 --- a/docs/about/support.md +++ b/docs/about/support.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4505--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4508--develop-blue.svg) # How to get support diff --git a/docs/index.md b/docs/index.md index bf6719701..6fc250013 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4505--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4508--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index 4864dfd68..e8009ab8c 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4505--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4508--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index 04b574e50..a357234f9 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4505--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4508--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index 21788e15d..45ad41d1f 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4505--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4508--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index c7baadf86..823564111 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4505--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4508--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index aed4875f3..666906627 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4505--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4508--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index 80b0d97b3..04d3fe58b 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4505--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4508--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index dc9e4e198..fddddfbfb 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4505--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4508--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index 374b65039..8efa2c963 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4505--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4508--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index 469326aae..ae049075c 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4505--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4508--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index b2322fe5f..52ce49365 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4505--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4508--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index 9e31d6cd1..79925cd32 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4505--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4508--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index 2904fe7d8..63502cce6 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4505--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4508--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 3ec758add..6d5996ba4 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.3.4505-develop'; + gc_version constant varchar2(50) := 'v3.2.3.4508-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From c755a0e7881141a9550c8479981ff4dce1026ac2 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 10 Jul 2026 07:24:49 +0100 Subject: [PATCH 099/171] Add release notes for v.3.2.3 to CHANGELOG.md [skip ci] --- CHANGELOG.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d304ab172..faf1f504a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,23 @@ Releases are available on the [GitHub Releases page](https://github.com/utPLSQL/ --- +## [v.3.2.3] - 2026-07-10 + +## What's Changed +* Fix issue with `UT_TAP_REPORTER` on Oracle 23.26 by @jgebal in https://github.com/utPLSQL/utPLSQL/pull/1359 +* Fixed support for camelCase in context `--%name` annotation. by @jgebal in https://github.com/utPLSQL/utPLSQL/pull/1361 +* utPLSQL can be installed in editioned schema. by @jgebal in https://github.com/utPLSQL/utPLSQL/pull/1362 +* Removed coveralls reporter by @jgebal in https://github.com/utPLSQL/utPLSQL/pull/1363 +* Clarify behavior of before/after procedures in suitepath by @jgebal in https://github.com/utPLSQL/utPLSQL/pull/1364 +* `throws` can reference exception without schema or package name by @jgebal in https://github.com/utPLSQL/utPLSQL/pull/1365 +* `throws` works with uninitialized exception variables by @jgebal in https://github.com/utPLSQL/utPLSQL/pull/1366 + + +**Full Changelog**: https://github.com/utPLSQL/utPLSQL/compare/v3.2.2...v.3.2.3 + +--- + + ## [v3.2.2] - 2026-05-24 ## What's Changed From 89e73b463b219e4805333e553190bdfb78f7809d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Fri, 10 Jul 2026 09:30:53 +0300 Subject: [PATCH 100/171] Fixing `publish_release_post.sh` script --- .github/scripts/publish_release_post.sh | 23 ++++------------------- 1 file changed, 4 insertions(+), 19 deletions(-) diff --git a/.github/scripts/publish_release_post.sh b/.github/scripts/publish_release_post.sh index a1199cc0e..09f92700a 100755 --- a/.github/scripts/publish_release_post.sh +++ b/.github/scripts/publish_release_post.sh @@ -20,6 +20,7 @@ POST_TIME=$(echo "${RELEASE_DATE}" | sed 's/T/ /' | sed 's/Z/ +0000/') POST_FILENAME="${POST_DATE}-version${VERSION}-released.md" POST_TITLE="utPLSQL ${RELEASE_TAG} released" POST_NAV_TITLE="utPLSQL ${VERSION} released" +POST_PATH='docs/announcements/posts' mkdir -p github_io cd github_io @@ -37,7 +38,7 @@ FORMATTED_BODY=$(echo "${RELEASE_BODY}" \ | sed -E 's@\*\*Full Changelog\*\*: (https://[^ ]+/compare/([^ ]+))@\*\*Full Changelog\*\*: [\2](\1)@g') # Create the post file -cat > "docs/announcements/posts/${POST_FILENAME}" < "${POST_PATH}/${POST_FILENAME}" < /tmp/index_new.md -mv /tmp/index_new.md docs/index.md - -# Insert new post into mkdocs.yml nav immediately after "- index.md" -sed -i "s| - index.md| - index.md\n - ${POST_NAV_TITLE}: _posts/${POST_FILENAME}|" mkdocs.yml - -git add "docs/_posts/${POST_FILENAME}" docs/index.md mkdocs.yml +git add "${POST_PATH}/${POST_FILENAME}" docs/index.md mkdocs.yml git commit -m "Release announcement for ${RELEASE_TAG}" git push origin "${GITHUB_IO_BRANCH}" -echo "Release post published: docs/_posts/${POST_FILENAME}" +echo "Release post published: ${POST_PATH}/${POST_FILENAME}" From 0e2847cc670dfef83cfc29a0af4b4eaa7be6504c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Fri, 10 Jul 2026 09:31:10 +0300 Subject: [PATCH 101/171] Update or test workflow --- .github/workflows/test_publishing.yml | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/.github/workflows/test_publishing.yml b/.github/workflows/test_publishing.yml index 0aac3805b..6f079ac54 100644 --- a/.github/workflows/test_publishing.yml +++ b/.github/workflows/test_publishing.yml @@ -15,18 +15,21 @@ jobs: timeout-minutes: 60 env: API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }} - RELEASE_TAG: "v3.2.2" + RELEASE_TAG: "v3.2.3" RELEASE_BODY: | ## What's Changed - * Filtering by tags fixed for schemas containing suite-paths and contexts by @jgebal in https://github.com/utPLSQL/utPLSQL/pull/1325 - * Fixed issue with reporter failing to initialize by @jgebal in https://github.com/utPLSQL/utPLSQL/pull/1354 - * Fixed issue with duplicate sources from dba_source by @jgebal in https://github.com/utPLSQL/utPLSQL/pull/1355 - * Allow HTML coverage on FIPS-enabled DB by @jgebal in https://github.com/utPLSQL/utPLSQL/pull/1356 + * Fix issue with `UT_TAP_REPORTER` on Oracle 23.26 by @jgebal in https://github.com/utPLSQL/utPLSQL/pull/1359 + * Fixed support for camelCase in context `--%name` annotation. by @jgebal in https://github.com/utPLSQL/utPLSQL/pull/1361 + * utPLSQL can be installed in editioned schema. by @jgebal in https://github.com/utPLSQL/utPLSQL/pull/1362 + * Removed coveralls reporter by @jgebal in https://github.com/utPLSQL/utPLSQL/pull/1363 + * Clarify behavior of before/after procedures in suitepath by @jgebal in https://github.com/utPLSQL/utPLSQL/pull/1364 + * `throws` can reference exception without schema or package name by @jgebal in https://github.com/utPLSQL/utPLSQL/pull/1365 + * `throws` works with uninitialized exception variables by @jgebal in https://github.com/utPLSQL/utPLSQL/pull/1366 - **Full Changelog**: https://github.com/utPLSQL/utPLSQL/compare/v3.2.01...v3.2.2 - RELEASE_DATE: "2026-05-24 10:48:22" - RELEASE_URL: "https://github.com/utPLSQL/utPLSQL/releases/tag/v3.2.2" + **Full Changelog**: https://github.com/utPLSQL/utPLSQL/compare/v3.2.2...v.3.2.3 + RELEASE_DATE: "2026-07-10 08:30:22" + RELEASE_URL: "https://github.com/utPLSQL/utPLSQL/releases/tag/v3.2.3" TARGET_BRANCH: "develop" steps: @@ -47,6 +50,6 @@ jobs: # GH_TOKEN: ${{ secrets.API_TOKEN_GITHUB }} # run: .github/scripts/post_release_announcement.sh -# - name: Publish release post to utplsql.github.io -# run: .github/scripts/publish_release_post.sh + - name: Publish release post to utplsql.github.io + run: .github/scripts/publish_release_post.sh From db5dba838a9bb03ff4f5d3dc0b1c487adc0054bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Fri, 10 Jul 2026 09:38:40 +0300 Subject: [PATCH 102/171] Fixing `publish_release_post.sh` --- .github/scripts/publish_release_post.sh | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/scripts/publish_release_post.sh b/.github/scripts/publish_release_post.sh index 09f92700a..c9bade4f4 100755 --- a/.github/scripts/publish_release_post.sh +++ b/.github/scripts/publish_release_post.sh @@ -16,7 +16,6 @@ GITHUB_IO_BRANCH="main" VERSION="${RELEASE_TAG#v}" POST_DATE=$(echo "${RELEASE_DATE}" | cut -c1-10) -POST_TIME=$(echo "${RELEASE_DATE}" | sed 's/T/ /' | sed 's/Z/ +0000/') POST_FILENAME="${POST_DATE}-version${VERSION}-released.md" POST_TITLE="utPLSQL ${RELEASE_TAG} released" POST_NAV_TITLE="utPLSQL ${VERSION} released" @@ -42,8 +41,11 @@ cat > "${POST_PATH}/${POST_FILENAME}" < Date: Fri, 10 Jul 2026 07:45:16 +0100 Subject: [PATCH 103/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/about/authors.md | 2 +- docs/about/license.md | 2 +- docs/about/project-details.md | 2 +- docs/about/support.md | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index 7553ea5ef..e970fd97f 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4508 +4510 diff --git a/docs/about/authors.md b/docs/about/authors.md index dc750b3ad..704759cf7 100644 --- a/docs/about/authors.md +++ b/docs/about/authors.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4508--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4510--develop-blue.svg) ### utPLSQL v3 Major Contributors diff --git a/docs/about/license.md b/docs/about/license.md index 762635793..6f4ac9131 100644 --- a/docs/about/license.md +++ b/docs/about/license.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4508--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4510--develop-blue.svg) # Version Information diff --git a/docs/about/project-details.md b/docs/about/project-details.md index 820b59ba6..99fca6265 100644 --- a/docs/about/project-details.md +++ b/docs/about/project-details.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4508--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4510--develop-blue.svg) # utPLSQL Project Details diff --git a/docs/about/support.md b/docs/about/support.md index 93e478fcc..fc9597cc6 100644 --- a/docs/about/support.md +++ b/docs/about/support.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4508--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4510--develop-blue.svg) # How to get support diff --git a/docs/index.md b/docs/index.md index 6fc250013..906cec9f2 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4508--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4510--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index e8009ab8c..0c4753bc7 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4508--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4510--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index a357234f9..57c7bfd6b 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4508--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4510--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index 45ad41d1f..547dc1338 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4508--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4510--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index 823564111..4a97d25ee 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4508--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4510--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index 666906627..3f5a6e8ed 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4508--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4510--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index 04d3fe58b..1dc1ae28a 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4508--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4510--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index fddddfbfb..2736f3222 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4508--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4510--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index 8efa2c963..3af53f5d3 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4508--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4510--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index ae049075c..051ba9a24 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4508--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4510--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index 52ce49365..758acc059 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4508--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4510--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index 79925cd32..c6097e6ab 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4508--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4510--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index 63502cce6..24337c5d0 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4508--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.3.4510--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 6d5996ba4..4fb90f6aa 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.3.4508-develop'; + gc_version constant varchar2(50) := 'v3.2.3.4510-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From fa5aea8ed0c3ad5d3f7da4a286c2948e2347ad0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Mon, 13 Jul 2026 08:45:53 +0300 Subject: [PATCH 104/171] Update version number to 3.2.4-develop --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 134ab8769..19db2fb66 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.2.3-develop +v3.2.4-develop From 78d1992676c3333cc532fb98a87a40f85f17e483 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 13 Jul 2026 06:52:28 +0100 Subject: [PATCH 105/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/about/authors.md | 2 +- docs/about/license.md | 2 +- docs/about/project-details.md | 2 +- docs/about/support.md | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- sonar-project.properties | 2 +- source/core/ut_utils.pks | 2 +- 20 files changed, 20 insertions(+), 20 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index e970fd97f..702846d76 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4510 +4511 diff --git a/docs/about/authors.md b/docs/about/authors.md index 704759cf7..efcc92518 100644 --- a/docs/about/authors.md +++ b/docs/about/authors.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4510--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4511--develop-blue.svg) ### utPLSQL v3 Major Contributors diff --git a/docs/about/license.md b/docs/about/license.md index 6f4ac9131..dcee071af 100644 --- a/docs/about/license.md +++ b/docs/about/license.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4510--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4511--develop-blue.svg) # Version Information diff --git a/docs/about/project-details.md b/docs/about/project-details.md index 99fca6265..9728133c9 100644 --- a/docs/about/project-details.md +++ b/docs/about/project-details.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4510--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4511--develop-blue.svg) # utPLSQL Project Details diff --git a/docs/about/support.md b/docs/about/support.md index fc9597cc6..d69c275ad 100644 --- a/docs/about/support.md +++ b/docs/about/support.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4510--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4511--develop-blue.svg) # How to get support diff --git a/docs/index.md b/docs/index.md index 906cec9f2..9a6e430e9 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4510--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4511--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index 0c4753bc7..55c7a80fb 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4510--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4511--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index 57c7bfd6b..678647bfc 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4510--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4511--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index 547dc1338..330fc8735 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4510--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4511--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index 4a97d25ee..93927b4f1 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4510--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4511--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index 3f5a6e8ed..214337663 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4510--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4511--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index 1dc1ae28a..323ad3436 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4510--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4511--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index 2736f3222..e11ae36a0 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4510--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4511--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index 3af53f5d3..b03bd9409 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4510--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4511--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index 051ba9a24..47fae278b 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4510--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4511--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index 758acc059..02b2e8240 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4510--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4511--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index c6097e6ab..0f8a45fa0 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4510--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4511--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index 24337c5d0..4c8dc89b4 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.3.4510--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4511--develop-blue.svg) # Upgrading from version 2 diff --git a/sonar-project.properties b/sonar-project.properties index 11e499fca..0a835a2f3 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -3,7 +3,7 @@ sonar.organization=utplsql sonar.projectKey=utPLSQL_utPLSQL # this is the name and version displayed in the SonarQube UI. Was mandatory prior to SonarQube 6.1. sonar.projectName=utPLSQL -sonar.projectVersion=v3.2.3-develop +sonar.projectVersion=v3.2.4-develop # Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows. # Since SonarQube 4.2, this property is optional if sonar.modules is set. diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 4fb90f6aa..58d8fe428 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.3.4510-develop'; + gc_version constant varchar2(50) := 'v3.2.4.4511-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From 763abcf370998aa7fd35e66e877cafc95bd0ac26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Mon, 13 Jul 2026 16:33:47 +0300 Subject: [PATCH 106/171] Add a schedule run of the build workflow. --- .github/workflows/build.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8c77c486c..8e9a08506 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -4,6 +4,9 @@ on: branches-ignore: [ main ] pull_request: branches: [ develop ] + schedule: + - cron: '0 8 * * 5' # run scheduled at 8:00 AM every Friday + timezone: "Europe/Nicosia" workflow_dispatch: From 41a059f5c52338ec1f722ab00d54becf8b64d6d5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 13 Jul 2026 16:11:39 +0100 Subject: [PATCH 107/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/about/authors.md | 2 +- docs/about/license.md | 2 +- docs/about/project-details.md | 2 +- docs/about/support.md | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index 702846d76..a6f7eb75d 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4511 +4512 diff --git a/docs/about/authors.md b/docs/about/authors.md index efcc92518..e4d72f7ab 100644 --- a/docs/about/authors.md +++ b/docs/about/authors.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4511--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4512--develop-blue.svg) ### utPLSQL v3 Major Contributors diff --git a/docs/about/license.md b/docs/about/license.md index dcee071af..0a63ab01d 100644 --- a/docs/about/license.md +++ b/docs/about/license.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4511--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4512--develop-blue.svg) # Version Information diff --git a/docs/about/project-details.md b/docs/about/project-details.md index 9728133c9..5afa5c7ba 100644 --- a/docs/about/project-details.md +++ b/docs/about/project-details.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4511--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4512--develop-blue.svg) # utPLSQL Project Details diff --git a/docs/about/support.md b/docs/about/support.md index d69c275ad..be39fff34 100644 --- a/docs/about/support.md +++ b/docs/about/support.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4511--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4512--develop-blue.svg) # How to get support diff --git a/docs/index.md b/docs/index.md index 9a6e430e9..c60c9e2b5 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4511--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4512--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index 55c7a80fb..a74a08e34 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4511--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4512--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index 678647bfc..813cf6601 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4511--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4512--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index 330fc8735..e9f3dbcb8 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4511--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4512--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index 93927b4f1..bd86455a6 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4511--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4512--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index 214337663..cdebc1cb1 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4511--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4512--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index 323ad3436..2c3472002 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4511--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4512--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index e11ae36a0..61939d994 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4511--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4512--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index b03bd9409..244b41e8b 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4511--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4512--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index 47fae278b..098a3d59f 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4511--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4512--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index 02b2e8240..d9309cc37 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4511--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4512--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index 0f8a45fa0..1bdab653e 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4511--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4512--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index 4c8dc89b4..f93aae476 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4511--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4512--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 58d8fe428..6dd79147c 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.4.4511-develop'; + gc_version constant varchar2(50) := 'v3.2.4.4512-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From 08fd82290c0068b496a70611c53664e1e8f2c6e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Fri, 17 Jul 2026 08:12:15 +0300 Subject: [PATCH 108/171] Update project readme to remove historical sponsors and include link to full contributors list --- readme.md | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/readme.md b/readme.md index bba640d17..f0c079566 100644 --- a/readme.md +++ b/readme.md @@ -136,19 +136,5 @@ We welcome contributions of all kinds. Please read the [contributing guide](CONT [GitHub Discussions](https://github.com/utPLSQL/utPLSQL/discussions) is the place to ask questions and connect with the team. -## Supporters +The list of **authors** and **significant contributors** is available [here](docs/about/authors.md). For a full list of contributors, see [contributors](https://github.com/utPLSQL/utPLSQL/graphs/contributors?all=1) on GitHub. -utPLSQL is community-driven and not commercially motivated. Donations and contributions are always welcome. - - - - - - - - -
supported_by_redgateutPLSQL has been supported by Redgate in the form of sponsored stickers and t-shirts. Thank you for helping us spread the word!
- ---- - -[Authors](docs/about/authors.md) From 7a6c464ab49854d8383db70a587a3dc20de68bc8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Fri, 17 Jul 2026 09:36:29 +0300 Subject: [PATCH 109/171] Fixing a flaky test that fails on 17th of June. --- test/ut3_user/expectations/binary/test_to_be_within.pkb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/ut3_user/expectations/binary/test_to_be_within.pkb b/test/ut3_user/expectations/binary/test_to_be_within.pkb index 032b684a5..c9aae6ee2 100644 --- a/test/ut3_user/expectations/binary/test_to_be_within.pkb +++ b/test/ut3_user/expectations/binary/test_to_be_within.pkb @@ -199,7 +199,7 @@ create or replace package body test_to_be_within is begin --Arrange --Act - ut3_develop.ut.expect(sysdate).to_be_within(INTERVAL '1' MONTH).of_(sysdate+ 46); + ut3_develop.ut.expect(sysdate).to_be_within(INTERVAL '1' MONTH).of_(sysdate+ 47); --Assert l_expected_message := q'[Actual: % (date) was expected to be within 1 month of % (date)]'; l_actual_message := ut3_tester_helper.main_helper.get_failed_expectations(1); From b0b3ba0d0a2be055d3e1def171bc68b48ba7dc3f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 17 Jul 2026 07:43:15 +0100 Subject: [PATCH 110/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/about/authors.md | 2 +- docs/about/license.md | 2 +- docs/about/project-details.md | 2 +- docs/about/support.md | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index a6f7eb75d..bc14fa04a 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4512 +4514 diff --git a/docs/about/authors.md b/docs/about/authors.md index e4d72f7ab..4c2d13cb4 100644 --- a/docs/about/authors.md +++ b/docs/about/authors.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4512--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4514--develop-blue.svg) ### utPLSQL v3 Major Contributors diff --git a/docs/about/license.md b/docs/about/license.md index 0a63ab01d..ef6a8ee5f 100644 --- a/docs/about/license.md +++ b/docs/about/license.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4512--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4514--develop-blue.svg) # Version Information diff --git a/docs/about/project-details.md b/docs/about/project-details.md index 5afa5c7ba..b45647ecd 100644 --- a/docs/about/project-details.md +++ b/docs/about/project-details.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4512--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4514--develop-blue.svg) # utPLSQL Project Details diff --git a/docs/about/support.md b/docs/about/support.md index be39fff34..161f636cc 100644 --- a/docs/about/support.md +++ b/docs/about/support.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4512--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4514--develop-blue.svg) # How to get support diff --git a/docs/index.md b/docs/index.md index c60c9e2b5..2f932b678 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4512--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4514--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index a74a08e34..7e888036d 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4512--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4514--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index 813cf6601..f707f852a 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4512--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4514--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index e9f3dbcb8..a43821aaf 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4512--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4514--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index bd86455a6..7871c1224 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4512--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4514--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index cdebc1cb1..eeb6ee01d 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4512--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4514--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index 2c3472002..5f8cf1195 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4512--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4514--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index 61939d994..9c320acbf 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4512--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4514--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index 244b41e8b..3ab19b337 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4512--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4514--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index 098a3d59f..f079d85a9 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4512--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4514--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index d9309cc37..0d7008f07 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4512--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4514--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index 1bdab653e..a26cccad7 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4512--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4514--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index f93aae476..f104b173c 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4512--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4514--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 6dd79147c..e15fdf28c 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.4.4512-develop'; + gc_version constant varchar2(50) := 'v3.2.4.4514-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From 35a799486163b1e11ea20c768bd1b373dfa05d69 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 17 Jul 2026 08:14:14 +0100 Subject: [PATCH 111/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/about/authors.md | 2 +- docs/about/license.md | 2 +- docs/about/project-details.md | 2 +- docs/about/support.md | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index bc14fa04a..8c83c7141 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4514 +4515 diff --git a/docs/about/authors.md b/docs/about/authors.md index 4c2d13cb4..886818b8b 100644 --- a/docs/about/authors.md +++ b/docs/about/authors.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4514--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4515--develop-blue.svg) ### utPLSQL v3 Major Contributors diff --git a/docs/about/license.md b/docs/about/license.md index ef6a8ee5f..b73176d7f 100644 --- a/docs/about/license.md +++ b/docs/about/license.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4514--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4515--develop-blue.svg) # Version Information diff --git a/docs/about/project-details.md b/docs/about/project-details.md index b45647ecd..a8be1883d 100644 --- a/docs/about/project-details.md +++ b/docs/about/project-details.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4514--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4515--develop-blue.svg) # utPLSQL Project Details diff --git a/docs/about/support.md b/docs/about/support.md index 161f636cc..a410cb65a 100644 --- a/docs/about/support.md +++ b/docs/about/support.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4514--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4515--develop-blue.svg) # How to get support diff --git a/docs/index.md b/docs/index.md index 2f932b678..4c94f715a 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4514--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4515--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index 7e888036d..551d711d5 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4514--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4515--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index f707f852a..a3faf9a00 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4514--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4515--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index a43821aaf..01f10ce57 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4514--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4515--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index 7871c1224..0a009177e 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4514--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4515--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index eeb6ee01d..e8bdb0454 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4514--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4515--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index 5f8cf1195..20c0ac564 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4514--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4515--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index 9c320acbf..654f9ecae 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4514--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4515--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index 3ab19b337..6b661e7b7 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4514--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4515--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index f079d85a9..70906e02c 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4514--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4515--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index 0d7008f07..76a645f98 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4514--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4515--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index a26cccad7..01d3bfb62 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4514--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4515--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index f104b173c..34403731c 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4514--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4515--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index e15fdf28c..398f501b4 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.4.4514-develop'; + gc_version constant varchar2(50) := 'v3.2.4.4515-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From 1410b66794fb3a61106512ee378690d40f5c9496 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Sat, 18 Jul 2026 12:33:36 +0700 Subject: [PATCH 112/171] Update a feature template --- .github/DISCUSSION_TEMPLATE/feature-requests.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/DISCUSSION_TEMPLATE/feature-requests.yml b/.github/DISCUSSION_TEMPLATE/feature-requests.yml index 130d30c28..b07a043b5 100644 --- a/.github/DISCUSSION_TEMPLATE/feature-requests.yml +++ b/.github/DISCUSSION_TEMPLATE/feature-requests.yml @@ -24,7 +24,6 @@ body: attributes: label: Proposed solution description: Describe the feature you have in mind. Include examples of how it would be used, ideally with PL/SQL annotation or API examples. - render: sql validations: required: true From 748e947b8d13bdf54103ad4a79a29a34a0d21399 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 18 Jul 2026 06:40:38 +0100 Subject: [PATCH 113/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/about/authors.md | 2 +- docs/about/license.md | 2 +- docs/about/project-details.md | 2 +- docs/about/support.md | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index 8c83c7141..b193f399e 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4515 +4516 diff --git a/docs/about/authors.md b/docs/about/authors.md index 886818b8b..c897cd536 100644 --- a/docs/about/authors.md +++ b/docs/about/authors.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4515--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4516--develop-blue.svg) ### utPLSQL v3 Major Contributors diff --git a/docs/about/license.md b/docs/about/license.md index b73176d7f..ef66340e6 100644 --- a/docs/about/license.md +++ b/docs/about/license.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4515--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4516--develop-blue.svg) # Version Information diff --git a/docs/about/project-details.md b/docs/about/project-details.md index a8be1883d..a24adbb12 100644 --- a/docs/about/project-details.md +++ b/docs/about/project-details.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4515--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4516--develop-blue.svg) # utPLSQL Project Details diff --git a/docs/about/support.md b/docs/about/support.md index a410cb65a..909d32793 100644 --- a/docs/about/support.md +++ b/docs/about/support.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4515--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4516--develop-blue.svg) # How to get support diff --git a/docs/index.md b/docs/index.md index 4c94f715a..6bd63f2e8 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4515--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4516--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index 551d711d5..bbd246bcd 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4515--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4516--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index a3faf9a00..ba0d182c7 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4515--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4516--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index 01f10ce57..a6882dba5 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4515--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4516--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index 0a009177e..e55d9f509 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4515--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4516--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index e8bdb0454..ce1f3ee6b 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4515--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4516--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index 20c0ac564..b5adfca4a 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4515--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4516--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index 654f9ecae..ffb3d8015 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4515--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4516--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index 6b661e7b7..e49c46028 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4515--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4516--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index 70906e02c..500f65575 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4515--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4516--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index 76a645f98..d8b4551bb 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4515--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4516--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index 01d3bfb62..a20137ce0 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4515--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4516--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index 34403731c..e38722d5f 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4515--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4516--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 398f501b4..ce80cfc36 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.4.4515-develop'; + gc_version constant varchar2(50) := 'v3.2.4.4516-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From 122756aa8debe7cca80ed051cba14db41c0e5ee7 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 24 Jul 2026 08:30:44 +0100 Subject: [PATCH 114/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/about/authors.md | 2 +- docs/about/license.md | 2 +- docs/about/project-details.md | 2 +- docs/about/support.md | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index b193f399e..4d4bc2f8d 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4516 +4517 diff --git a/docs/about/authors.md b/docs/about/authors.md index c897cd536..ff5b24f23 100644 --- a/docs/about/authors.md +++ b/docs/about/authors.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4516--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4517--develop-blue.svg) ### utPLSQL v3 Major Contributors diff --git a/docs/about/license.md b/docs/about/license.md index ef66340e6..6414276e5 100644 --- a/docs/about/license.md +++ b/docs/about/license.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4516--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4517--develop-blue.svg) # Version Information diff --git a/docs/about/project-details.md b/docs/about/project-details.md index a24adbb12..611448d6a 100644 --- a/docs/about/project-details.md +++ b/docs/about/project-details.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4516--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4517--develop-blue.svg) # utPLSQL Project Details diff --git a/docs/about/support.md b/docs/about/support.md index 909d32793..3903b74fd 100644 --- a/docs/about/support.md +++ b/docs/about/support.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4516--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4517--develop-blue.svg) # How to get support diff --git a/docs/index.md b/docs/index.md index 6bd63f2e8..fdf4e8649 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4516--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4517--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index bbd246bcd..03f8bd720 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4516--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4517--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index ba0d182c7..9cf89337e 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4516--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4517--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index a6882dba5..0b3b09da1 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4516--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4517--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index e55d9f509..85653f9e3 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4516--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4517--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index ce1f3ee6b..11d18882a 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4516--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4517--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index b5adfca4a..d67d1058e 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4516--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4517--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index ffb3d8015..2e3f7ee84 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4516--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4517--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index e49c46028..9bf2c7ca3 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4516--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4517--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index 500f65575..c5d52a5f1 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4516--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4517--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index d8b4551bb..cb297734e 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4516--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4517--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index a20137ce0..6f35174b6 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4516--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4517--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index e38722d5f..543867e86 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4516--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4517--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index ce80cfc36..8c849d125 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.4.4516-develop'; + gc_version constant varchar2(50) := 'v3.2.4.4517-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From ce2e66dc391b6a0ed55ea77420d78e63cba09018 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 31 Jul 2026 08:50:01 +0100 Subject: [PATCH 115/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/about/authors.md | 2 +- docs/about/license.md | 2 +- docs/about/project-details.md | 2 +- docs/about/support.md | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index 4d4bc2f8d..d9cce5710 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4517 +4518 diff --git a/docs/about/authors.md b/docs/about/authors.md index ff5b24f23..d07dd68b9 100644 --- a/docs/about/authors.md +++ b/docs/about/authors.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4517--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4518--develop-blue.svg) ### utPLSQL v3 Major Contributors diff --git a/docs/about/license.md b/docs/about/license.md index 6414276e5..7bfaeea29 100644 --- a/docs/about/license.md +++ b/docs/about/license.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4517--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4518--develop-blue.svg) # Version Information diff --git a/docs/about/project-details.md b/docs/about/project-details.md index 611448d6a..809f11a8d 100644 --- a/docs/about/project-details.md +++ b/docs/about/project-details.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4517--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4518--develop-blue.svg) # utPLSQL Project Details diff --git a/docs/about/support.md b/docs/about/support.md index 3903b74fd..b3fdc0493 100644 --- a/docs/about/support.md +++ b/docs/about/support.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4517--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4518--develop-blue.svg) # How to get support diff --git a/docs/index.md b/docs/index.md index fdf4e8649..118d7f7c8 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4517--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4518--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index 03f8bd720..27d3b5b00 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4517--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4518--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index 9cf89337e..956e67a67 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4517--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4518--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index 0b3b09da1..ba68d5a76 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4517--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4518--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index 85653f9e3..5508c79d7 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4517--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4518--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index 11d18882a..31024b258 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4517--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4518--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index d67d1058e..7bc0009f4 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4517--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4518--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index 2e3f7ee84..63a5edf8e 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4517--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4518--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index 9bf2c7ca3..6a270fb8d 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4517--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4518--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index c5d52a5f1..72304acb2 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4517--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4518--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index cb297734e..406766b1b 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4517--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4518--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index 6f35174b6..dae45be2b 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4517--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4518--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index 543867e86..756461eed 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4517--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4518--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 8c849d125..accc8e685 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.4.4517-develop'; + gc_version constant varchar2(50) := 'v3.2.4.4518-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From 3e3e3617035f83e706e1fd9fb23dbc4014fe240a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Mon, 3 Aug 2026 23:24:44 +0800 Subject: [PATCH 116/171] Update licensing document. --- docs/about/license.md | 16 +++++++++------- docs/about/project-details.md | 4 ++-- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/docs/about/license.md b/docs/about/license.md index 7bfaeea29..77f698699 100644 --- a/docs/about/license.md +++ b/docs/about/license.md @@ -1,13 +1,15 @@ ![version](https://img.shields.io/badge/version-v3.2.4.4518--develop-blue.svg) -# Version Information +# Licensing information -**utPLSQL version 3** is licensed under -[Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0) +## Framework licensing -External code used in the development of this project, but is not required for use. +**utPLSQL** framework is licensed under [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0) license. -| Tool | License | Purpose | -| ---- | --------| --------| -| [mkDocs](http://www.mkdocs.org/) | [BSD](http://www.mkdocs.org/about/license/) | Produce HTML version of documentation | +## Third party products + +| Tool | License | Purpose | +|--------------------------------------------------------------------|-------------------------------------------------------------|-----------------------------------| +| [mkDocs](http://www.mkdocs.org/) | [BSD](http://www.mkdocs.org/about/license/) | Project website and documentation | +| [material-for-mkdocs](https://squidfunk.github.io/mkdocs-material/)| [MIT](https://squidfunk.github.io/mkdocs-material/license/) | Project website and documentation | diff --git a/docs/about/project-details.md b/docs/about/project-details.md index 809f11a8d..7c71e4518 100644 --- a/docs/about/project-details.md +++ b/docs/about/project-details.md @@ -2,11 +2,11 @@ # utPLSQL Project Details -[![chat](http://img.shields.io/badge/GitHub_Project-Active-blue.svg)](https://github.com/utPLSQL/utPLSQL) +[![lssues](http://img.shields.io/badge/GitHub_Project-Active-blue.svg)](https://github.com/utPLSQL/utPLSQL/issues) [![license](http://img.shields.io/badge/license-apache%202.0-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0) [![GitHub Discussions](https://img.shields.io/github/discussions/utPLSQL/utPLSQL)](https://github.com/utPLSQL/utPLSQL/discussions) [![twitter](https://img.shields.io/twitter/follow/utPLSQL.svg?style=social&label=Follow)](https://twitter.com/utPLSQL) - +[![linkedIn](https://img.shields.io/badge/LinkedIn-Follow-blue?logo=linkedin)]([https://twitter.com/utPLSQL](https://www.linkedin.com/company/utplsql/)) utPLSQL is open source project [hosted on GitHub](https://github.com/utPLSQL/utPLSQL). From 3820472d5b12d1c66962f731870ac90452865d7f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 3 Aug 2026 16:31:47 +0100 Subject: [PATCH 117/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/about/authors.md | 2 +- docs/about/license.md | 2 +- docs/about/project-details.md | 2 +- docs/about/support.md | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index d9cce5710..d006b5a61 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4518 +4519 diff --git a/docs/about/authors.md b/docs/about/authors.md index d07dd68b9..3b384954a 100644 --- a/docs/about/authors.md +++ b/docs/about/authors.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4518--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4519--develop-blue.svg) ### utPLSQL v3 Major Contributors diff --git a/docs/about/license.md b/docs/about/license.md index 77f698699..4c19b37bf 100644 --- a/docs/about/license.md +++ b/docs/about/license.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4518--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4519--develop-blue.svg) # Licensing information diff --git a/docs/about/project-details.md b/docs/about/project-details.md index 7c71e4518..269c81c88 100644 --- a/docs/about/project-details.md +++ b/docs/about/project-details.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4518--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4519--develop-blue.svg) # utPLSQL Project Details diff --git a/docs/about/support.md b/docs/about/support.md index b3fdc0493..6521292c7 100644 --- a/docs/about/support.md +++ b/docs/about/support.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4518--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4519--develop-blue.svg) # How to get support diff --git a/docs/index.md b/docs/index.md index 118d7f7c8..f156785f4 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4518--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4519--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index 27d3b5b00..515014d5f 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4518--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4519--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index 956e67a67..ad9b16c59 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4518--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4519--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index ba68d5a76..0df56e0b7 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4518--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4519--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index 5508c79d7..8fff76c9d 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4518--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4519--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index 31024b258..939c7c794 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4518--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4519--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index 7bc0009f4..47d9db4de 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4518--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4519--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index 63a5edf8e..ad96c791d 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4518--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4519--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index 6a270fb8d..16d0966d0 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4518--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4519--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index 72304acb2..c0c266f5e 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4518--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4519--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index 406766b1b..3cb3bd0fc 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4518--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4519--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index dae45be2b..0bda2f752 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4518--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4519--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index 756461eed..eca079e92 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4518--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4519--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index accc8e685..89b21cf00 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.4.4518-develop'; + gc_version constant varchar2(50) := 'v3.2.4.4519-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From fc3c065bbb98d0ff26255f4a31764410980ec000 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Tue, 4 Aug 2026 00:27:43 +0800 Subject: [PATCH 118/171] Removing About from the project documentation pages as it is moved to the org page. --- docs/about/authors.md | 26 -------------------------- docs/about/license.md | 15 --------------- docs/about/project-details.md | 18 ------------------ docs/about/support.md | 7 ------- mkdocs.yml | 5 ----- mkdocs_offline.yml | 5 ----- readme.md | 2 +- 7 files changed, 1 insertion(+), 77 deletions(-) delete mode 100644 docs/about/authors.md delete mode 100644 docs/about/license.md delete mode 100644 docs/about/project-details.md delete mode 100644 docs/about/support.md diff --git a/docs/about/authors.md b/docs/about/authors.md deleted file mode 100644 index 3b384954a..000000000 --- a/docs/about/authors.md +++ /dev/null @@ -1,26 +0,0 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4519--develop-blue.svg) - -### utPLSQL v3 Major Contributors - -**Listed Alphabetically** - -| Name | GitHub account -| ---------------- | -------------- -| David Pyke | [Shoelace](https://github.com/Shoelace) -| Jacek Gebal | [jgebal](https://github.com/jgebal) -| Lukasz Wasylow | [lwasylow](https://github.com/lwasylow/) -| Pavel Kaplya | [Pazus](https://github.com/Pazus) -| Robert Love | [rlove](https://github.com/rlove) -| Samuel Nitsche | [pesse](https://github.com/pesse/) -| Vinicius Avellar | [viniciusam](https://github.com/viniciusam/) - - - -Many thanks to all the [contributors](https://github.com/utPLSQL/utPLSQL/graphs/contributors) - -### Special thanks to prior major contributors - -- Steven Feuerstein - Original Author of utPLSQL v1 and v2 -- Chris Rimmer -- Patrick Barel -- Paul Walker diff --git a/docs/about/license.md b/docs/about/license.md deleted file mode 100644 index 4c19b37bf..000000000 --- a/docs/about/license.md +++ /dev/null @@ -1,15 +0,0 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4519--develop-blue.svg) - -# Licensing information - -## Framework licensing - -**utPLSQL** framework is licensed under [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0) license. - -## Third party products - -| Tool | License | Purpose | -|--------------------------------------------------------------------|-------------------------------------------------------------|-----------------------------------| -| [mkDocs](http://www.mkdocs.org/) | [BSD](http://www.mkdocs.org/about/license/) | Project website and documentation | -| [material-for-mkdocs](https://squidfunk.github.io/mkdocs-material/)| [MIT](https://squidfunk.github.io/mkdocs-material/license/) | Project website and documentation | - diff --git a/docs/about/project-details.md b/docs/about/project-details.md deleted file mode 100644 index 269c81c88..000000000 --- a/docs/about/project-details.md +++ /dev/null @@ -1,18 +0,0 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4519--develop-blue.svg) - -# utPLSQL Project Details - -[![lssues](http://img.shields.io/badge/GitHub_Project-Active-blue.svg)](https://github.com/utPLSQL/utPLSQL/issues) -[![license](http://img.shields.io/badge/license-apache%202.0-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0) -[![GitHub Discussions](https://img.shields.io/github/discussions/utPLSQL/utPLSQL)](https://github.com/utPLSQL/utPLSQL/discussions) -[![twitter](https://img.shields.io/twitter/follow/utPLSQL.svg?style=social&label=Follow)](https://twitter.com/utPLSQL) -[![linkedIn](https://img.shields.io/badge/LinkedIn-Follow-blue?logo=linkedin)]([https://twitter.com/utPLSQL](https://www.linkedin.com/company/utplsql/)) - -utPLSQL is open source project [hosted on GitHub](https://github.com/utPLSQL/utPLSQL). - -Contributions, help and constructive feedback is always appreciated. - -If you are interested in helping please read our [contributing guide](https://github.com/utPLSQL/utPLSQL/blob/develop/CONTRIBUTING.md) - - - diff --git a/docs/about/support.md b/docs/about/support.md deleted file mode 100644 index 6521292c7..000000000 --- a/docs/about/support.md +++ /dev/null @@ -1,7 +0,0 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4519--develop-blue.svg) - -# How to get support - -- Look into [utPLSQL github discussions](https://github.com/utPLSQL/utPLSQL/discussions) to find support, ask questions and share ideas -- If needed open a new [issue on github](https://github.com/utPLSQL/utPLSQL/issues) for bugs or feature requests - diff --git a/mkdocs.yml b/mkdocs.yml index 44b823cdf..96f0b8ca2 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -122,8 +122,3 @@ nav: - Using reporters: userguide/reporters.md - Code coverage: userguide/coverage.md - Error handling and reporting: userguide/exception-reporting.md - - About: - - Project Details: about/project-details.md - - License: about/license.md - - Support: about/support.md - - Authors: about/authors.md diff --git a/mkdocs_offline.yml b/mkdocs_offline.yml index 4429d68f5..82304041c 100644 --- a/mkdocs_offline.yml +++ b/mkdocs_offline.yml @@ -97,8 +97,3 @@ nav: - Using reporters: userguide/reporters.md - Code coverage: userguide/coverage.md - Error handling and reporting: userguide/exception-reporting.md - - About: - - Project Details: about/project-details.md - - License: about/license.md - - Support: about/support.md - - Authors: about/authors.md diff --git a/readme.md b/readme.md index f0c079566..e1533e607 100644 --- a/readme.md +++ b/readme.md @@ -136,5 +136,5 @@ We welcome contributions of all kinds. Please read the [contributing guide](CONT [GitHub Discussions](https://github.com/utPLSQL/utPLSQL/discussions) is the place to ask questions and connect with the team. -The list of **authors** and **significant contributors** is available [here](docs/about/authors.md). For a full list of contributors, see [contributors](https://github.com/utPLSQL/utPLSQL/graphs/contributors?all=1) on GitHub. +The list of **authors** and **significant contributors** is available on the [About](https://www.utplsql.org/about/) page. For a full list of contributors, see [contributors](https://github.com/utPLSQL/utPLSQL/graphs/contributors?all=1) on GitHub. From f7c7f397bfc51f96d56706367ff5fff959145ee9 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 3 Aug 2026 17:35:27 +0100 Subject: [PATCH 119/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index d006b5a61..326ad9316 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4519 +4520 diff --git a/docs/index.md b/docs/index.md index f156785f4..e4b6b67b4 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4519--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4520--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index 515014d5f..9d1a2dd2e 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4519--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4520--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index ad9b16c59..27098f8b4 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4519--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4520--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index 0df56e0b7..ca8aaddb8 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4519--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4520--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index 8fff76c9d..8e64fbccc 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4519--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4520--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index 939c7c794..466630809 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4519--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4520--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index 47d9db4de..905e17123 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4519--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4520--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index ad96c791d..8025dc39d 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4519--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4520--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index 16d0966d0..2fa4f8536 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4519--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4520--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index c0c266f5e..9bab1eb94 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4519--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4520--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index 3cb3bd0fc..2312575cb 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4519--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4520--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index 0bda2f752..db396dec6 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4519--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4520--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index eca079e92..45eb608b1 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4519--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4520--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 89b21cf00..19f0bba73 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.4.4519-develop'; + gc_version constant varchar2(50) := 'v3.2.4.4520-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From 13dd185fd5ac935ffb61c4561e1c83dac091e4c5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 7 Aug 2026 07:09:31 +0100 Subject: [PATCH 120/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index 326ad9316..770443906 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4520 +4521 diff --git a/docs/index.md b/docs/index.md index e4b6b67b4..4a36ee7be 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4520--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4521--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index 9d1a2dd2e..4c5e341f3 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4520--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4521--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index 27098f8b4..1351dc11d 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4520--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4521--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index ca8aaddb8..b0615f3b7 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4520--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4521--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index 8e64fbccc..56bf8f93f 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4520--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4521--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index 466630809..321aad2ba 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4520--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4521--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index 905e17123..ba2dd1e26 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4520--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4521--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index 8025dc39d..50c23907a 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4520--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4521--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index 2fa4f8536..7dc528dc7 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4520--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4521--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index 9bab1eb94..164ff50c0 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4520--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4521--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index 2312575cb..9bb1c59f3 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4520--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4521--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index db396dec6..439ecd12d 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4520--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4521--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index 45eb608b1..ddde10e30 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4520--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4521--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 19f0bba73..c03662d0f 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.4.4520-develop'; + gc_version constant varchar2(50) := 'v3.2.4.4521-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From d59629322a73d2887e34a15025c653d5cd607cc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Thu, 13 Aug 2026 13:14:07 +0800 Subject: [PATCH 121/171] Adding git commiters plugin to mkdocs.yml --- .github/workflows/build.yml | 1 + .github/workflows/rebuild_docs.yml | 1 + .github/workflows/release.yml | 1 + mkdocs.yml | 4 ++++ 4 files changed, 7 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8e9a08506..3ca9f34d2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -273,6 +273,7 @@ jobs: pip install mkdocs-git-revision-date-localized-plugin pip install mkdocs-material pip install git+https://github.com/jimporter/mike.git + pip install mkdocs-git-committers-plugin-2 mike deploy -p develop dispatch: diff --git a/.github/workflows/rebuild_docs.yml b/.github/workflows/rebuild_docs.yml index 93e3fa6ed..b9f3e4c45 100644 --- a/.github/workflows/rebuild_docs.yml +++ b/.github/workflows/rebuild_docs.yml @@ -44,6 +44,7 @@ jobs: pip install mkdocs-git-revision-date-localized-plugin pip install mkdocs-material pip install git+https://github.com/jimporter/mike.git + pip install mkdocs-git-committers-plugin-2 - name: Rebuild specified versions run: | diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 58eb10ad4..7df03680d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -48,6 +48,7 @@ jobs: pip install mkdocs-git-revision-date-localized-plugin pip install mkdocs-material pip install git+https://github.com/jimporter/mike.git + pip install mkdocs-git-committers-plugin-2 mike deploy -p -u ${UTPLSQL_VERSION} latest mkdocs build --clean -f mkdocs_offline.yml rm -rf docs/* diff --git a/mkdocs.yml b/mkdocs.yml index 96f0b8ca2..16fe0c526 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -101,6 +101,10 @@ strict: true plugins: - search + - git-committers: + repository: utPLSQL/utPLSQL + branch: main + token: !ENV ["API_TOKEN_GITHUB"] - mike - git-revision-date-localized: # disable for offline docs enable_creation_date: true # disable for offline docs From 7ed4c9897c669881259fb4a163361787a17ba56f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 13 Aug 2026 06:21:42 +0100 Subject: [PATCH 122/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index 770443906..146f070cd 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4521 +4522 diff --git a/docs/index.md b/docs/index.md index 4a36ee7be..4a429aa1b 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4521--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4522--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index 4c5e341f3..dabd613c8 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4521--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4522--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index 1351dc11d..ccdb16e12 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4521--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4522--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index b0615f3b7..082cbbefd 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4521--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4522--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index 56bf8f93f..6eb83c781 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4521--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4522--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index 321aad2ba..18fa0132c 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4521--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4522--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index ba2dd1e26..e0c873040 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4521--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4522--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index 50c23907a..c04e11c5f 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4521--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4522--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index 7dc528dc7..ca1dd193c 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4521--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4522--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index 164ff50c0..9a37a5c59 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4521--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4522--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index 9bb1c59f3..734104d02 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4521--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4522--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index 439ecd12d..33485f09f 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4521--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4522--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index ddde10e30..fee9e64ef 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4521--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4522--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index c03662d0f..9bde1c71d 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.4.4521-develop'; + gc_version constant varchar2(50) := 'v3.2.4.4522-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From 078a1cfe96f683c3a9a3662eca0181f66b492667 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Thu, 13 Aug 2026 13:28:43 +0800 Subject: [PATCH 123/171] Adding git commiters plugin to mkdocs.yml --- mkdocs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkdocs.yml b/mkdocs.yml index 16fe0c526..c0756c703 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -103,7 +103,7 @@ plugins: - search - git-committers: repository: utPLSQL/utPLSQL - branch: main + branch: develop token: !ENV ["API_TOKEN_GITHUB"] - mike - git-revision-date-localized: # disable for offline docs From 303e5cf2abe1cc0f65424f0fda1abd421132d331 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 13 Aug 2026 06:35:41 +0100 Subject: [PATCH 124/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index 146f070cd..1f440269b 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4522 +4523 diff --git a/docs/index.md b/docs/index.md index 4a429aa1b..27601d28f 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4522--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4523--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index dabd613c8..37c80a486 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4522--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4523--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index ccdb16e12..dd64a08a3 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4522--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4523--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index 082cbbefd..95a5339a1 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4522--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4523--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index 6eb83c781..3fe0d1fd1 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4522--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4523--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index 18fa0132c..36e99b8ea 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4522--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4523--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index e0c873040..3148ba3ae 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4522--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4523--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index c04e11c5f..d4a0fcfb7 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4522--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4523--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index ca1dd193c..110e651a8 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4522--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4523--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index 9a37a5c59..851cd9d21 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4522--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4523--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index 734104d02..3ba76ab63 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4522--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4523--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index 33485f09f..1b1d14f71 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4522--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4523--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index fee9e64ef..c68894129 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4522--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4523--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 9bde1c71d..2a7b932d7 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.4.4522-develop'; + gc_version constant varchar2(50) := 'v3.2.4.4523-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From 2acb343eaabb419583d53d9fc93745d42d950eb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Thu, 13 Aug 2026 13:37:34 +0800 Subject: [PATCH 125/171] Excludding bot commiters from documentation --- mkdocs.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mkdocs.yml b/mkdocs.yml index c0756c703..0c712ac1e 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -105,6 +105,9 @@ plugins: repository: utPLSQL/utPLSQL branch: develop token: !ENV ["API_TOKEN_GITHUB"] + exclude_committers: + - github-actions[bot] + - web-flow - mike - git-revision-date-localized: # disable for offline docs enable_creation_date: true # disable for offline docs From 0ff3f3925b79bd0e400268ca9c95d392e6191de6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 13 Aug 2026 06:44:54 +0100 Subject: [PATCH 126/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index 1f440269b..b468192c9 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4523 +4524 diff --git a/docs/index.md b/docs/index.md index 27601d28f..863df1fcf 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4523--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4524--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index 37c80a486..d728ee994 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4523--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4524--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index dd64a08a3..05239b77a 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4523--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4524--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index 95a5339a1..367ae28fc 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4523--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4524--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index 3fe0d1fd1..a7a3e6ff5 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4523--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4524--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index 36e99b8ea..7daed9e9f 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4523--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4524--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index 3148ba3ae..244bfa2d3 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4523--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4524--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index d4a0fcfb7..27798bbda 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4523--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4524--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index 110e651a8..79c210436 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4523--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4524--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index 851cd9d21..c2f62af69 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4523--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4524--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index 3ba76ab63..e9c953bde 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4523--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4524--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index 1b1d14f71..0bd66e044 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4523--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4524--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index c68894129..4da8f62d8 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4523--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4524--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 2a7b932d7..2e42527a3 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.4.4523-develop'; + gc_version constant varchar2(50) := 'v3.2.4.4524-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From 26fa09f4b02e138e95a01b0cd2781ef5ebe10b83 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 14 Aug 2026 07:13:12 +0100 Subject: [PATCH 127/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index b468192c9..de1a6219d 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4524 +4525 diff --git a/docs/index.md b/docs/index.md index 863df1fcf..126a24ba8 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4524--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4525--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index d728ee994..b2b6d87c0 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4524--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4525--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index 05239b77a..7ae590e55 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4524--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4525--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index 367ae28fc..85d36feb7 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4524--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4525--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index a7a3e6ff5..10b6a5c15 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4524--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4525--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index 7daed9e9f..7f6d02ad5 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4524--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4525--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index 244bfa2d3..87c66dc46 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4524--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4525--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index 27798bbda..67dce732e 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4524--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4525--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index 79c210436..76839abaf 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4524--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4525--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index c2f62af69..644a13124 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4524--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4525--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index e9c953bde..d14fe6038 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4524--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4525--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index 0bd66e044..73bc255f2 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4524--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4525--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index 4da8f62d8..b57174e3e 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4524--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4525--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 2e42527a3..4aee80502 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.4.4524-develop'; + gc_version constant varchar2(50) := 'v3.2.4.4525-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From 36df202cbb870c28e1330021c7a788edf670bd45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Wed, 19 Aug 2026 11:39:31 +0800 Subject: [PATCH 128/171] Fixed dead links and reporters descriptions. --- source/reporters/ut_coverage_cobertura_reporter.tpb | 7 +++---- source/reporters/ut_coverage_sonar_reporter.tpb | 6 +++--- source/reporters/ut_documentation_reporter.tpb | 2 +- source/reporters/ut_realtime_reporter.tpb | 10 +++++----- source/reporters/ut_sonar_test_reporter.tpb | 6 +++--- source/reporters/ut_tfs_junit_reporter.tpb | 6 +++--- 6 files changed, 18 insertions(+), 19 deletions(-) diff --git a/source/reporters/ut_coverage_cobertura_reporter.tpb b/source/reporters/ut_coverage_cobertura_reporter.tpb index 45c1935b1..c2021974d 100644 --- a/source/reporters/ut_coverage_cobertura_reporter.tpb +++ b/source/reporters/ut_coverage_cobertura_reporter.tpb @@ -181,10 +181,9 @@ create or replace noneditionable type body ut_coverage_cobertura_reporter is overriding member function get_description return varchar2 as begin - return 'Generates a Cobertura coverage report providing information on code coverage with line numbers.' || chr(10) || - 'Designed for Jenkins and TFS to report coverage. ' || chr(10) || - 'Cobertura Document Type Definition can be found: http://cobertura.sourceforge.net/xml/coverage-04.dtd.'|| chr(10) || - 'Sample file: https://github.com/leobalter/testing-examples/blob/master/solutions/3/report/cobertura-coverage.xml.'; + return 'Generates Cobertura report on code coverage with line numbers. +Compatible with GitHub Actions, Jenkins, Azure Pipelines, GitLab CI, and any tool that reads the popular Cobertura format. +Cobertura Document Type Definition is located [here](https://github.com/cobertura/cobertura/blob/master/cobertura/src/site/htdocs/xml/coverage-04.dtd).'; end; end; diff --git a/source/reporters/ut_coverage_sonar_reporter.tpb b/source/reporters/ut_coverage_sonar_reporter.tpb index a070572b7..66c4aacf0 100644 --- a/source/reporters/ut_coverage_sonar_reporter.tpb +++ b/source/reporters/ut_coverage_sonar_reporter.tpb @@ -103,9 +103,9 @@ create or replace noneditionable type body ut_coverage_sonar_reporter is overriding member function get_description return varchar2 as begin - return 'Generates a XML coverage report providing information on code coverage with line numbers.' || chr(10) || - 'Designed for [SonarQube](https://www.sonarqube.org/) to report coverage.' || chr(10) || - 'XML format returned conforms with the Sonar specification: https://docs.sonarqube.org/latest/analysis/generic-test/'; + return 'Generates an XML coverage report providing information on code coverage with line numbers. +Designed for [SonarQube](https://www.sonarsource.com/products/sonarqube/) to report coverage. +XML format returned conforms with the [Sonar specification](https://docs.sonarsource.com/sonarqube-server/analyzing-source-code/test-coverage/generic-test-data).'; end; end; diff --git a/source/reporters/ut_documentation_reporter.tpb b/source/reporters/ut_documentation_reporter.tpb index 83152ea1c..c13cc56ef 100644 --- a/source/reporters/ut_documentation_reporter.tpb +++ b/source/reporters/ut_documentation_reporter.tpb @@ -222,7 +222,7 @@ create or replace noneditionable type body ut_documentation_reporter is overriding member function get_description return varchar2 as begin - return 'A textual pretty-print of unit test results (usually use for console output)'; + return 'Creates a textual, pretty-print, human-readable report mirroring the suite hierarchy. Used for console runs, interactive development and log review.'; end; end; diff --git a/source/reporters/ut_realtime_reporter.tpb b/source/reporters/ut_realtime_reporter.tpb index a8b7c566e..da0f37077 100644 --- a/source/reporters/ut_realtime_reporter.tpb +++ b/source/reporters/ut_realtime_reporter.tpb @@ -204,11 +204,6 @@ create or replace noneditionable type body ut_realtime_reporter is self.flush_print_buffer('post-test'); end after_calling_test; - overriding member function get_description return varchar2 is - begin - return 'Provides test results in a XML format, for clients such as SQL Developer interested in showing progressing details.'; - end get_description; - member procedure print_start_node( self in out nocopy ut_realtime_reporter, a_node_name in varchar2, @@ -284,5 +279,10 @@ create or replace noneditionable type body ut_realtime_reporter is print_buffer.delete; end flush_print_buffer; + overriding member function get_description return varchar2 is + begin + return 'Provides live test execution progress that can be consumed from another session, enabling clients such as SQL Developer to show progress in real time as tests run.'; + end get_description; + end; / diff --git a/source/reporters/ut_sonar_test_reporter.tpb b/source/reporters/ut_sonar_test_reporter.tpb index da29b629d..8d232b87e 100644 --- a/source/reporters/ut_sonar_test_reporter.tpb +++ b/source/reporters/ut_sonar_test_reporter.tpb @@ -106,9 +106,9 @@ create or replace noneditionable type body ut_sonar_test_reporter is overriding member function get_description return varchar2 as begin - return 'Generates a XML report providing detailed information on test execution.' || chr(10) || - 'Designed for [SonarQube](https://www.sonarqube.org/) to report test execution.' || chr(10) || - 'XML format returned conforms with the Sonar specification: https://docs.sonarqube.org/latest/analysis/generic-test/'; + return 'Generates an XML report providing detailed information on test execution. +Designed for [SonarQube](https://www.sonarsource.com/products/sonarqube/) to report test execution. +XML format returned conforms with the [Sonar specification](https://docs.sonarsource.com/sonarqube-server/analyzing-source-code/test-coverage/generic-test-data).'; end; end; diff --git a/source/reporters/ut_tfs_junit_reporter.tpb b/source/reporters/ut_tfs_junit_reporter.tpb index 5e24b2dca..a4c8fb868 100644 --- a/source/reporters/ut_tfs_junit_reporter.tpb +++ b/source/reporters/ut_tfs_junit_reporter.tpb @@ -171,9 +171,9 @@ create or replace noneditionable type body ut_tfs_junit_reporter is overriding member function get_description return varchar2 as begin - return 'Provides outcomes in a format conforming with JUnit version for TFS / VSTS. - As defined by specs :https://docs.microsoft.com/en-us/vsts/build-release/tasks/test/publish-test-results?view=vsts - Version is based on windy road junit https://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd.'; + return 'Provides outcomes in a format conforming with JUnit version for TFS / VSTS +as defined by [specification](https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/publish-test-results-v2?view=azure-pipelines) +The implementation is based on [windyroad junit schema](https://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd).'; end; end; From bf191227d4280d6038cec77a4998e887e6d98a63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Fri, 21 Aug 2026 09:48:46 +0800 Subject: [PATCH 129/171] Update documentation page settings --- mkdocs.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/mkdocs.yml b/mkdocs.yml index 0c712ac1e..f18f74ce3 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -42,6 +42,10 @@ theme: - toc.integrate - search.suggest - search.highlight + - content.code.copy + - content.code.annotate + - content.code.select + extra: # homepage: https://www.utPLSQL.org/ # sets scope of cookies to use a common path (root) @@ -86,11 +90,13 @@ extra: markdown_extensions: - admonition - pymdownx.details - - pymdownx.superfences - pymdownx.highlight: anchor_linenums: true + line_spans: __span + pygments_lang_class: true - pymdownx.inlinehilite - pymdownx.snippets + - pymdownx.superfences - pymdownx.caret - pymdownx.mark - pymdownx.tilde From efe1d3b2b777319a19accda423b42cd721735bd3 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 21 Aug 2026 02:55:22 +0100 Subject: [PATCH 130/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index de1a6219d..992a491ef 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4525 +4527 diff --git a/docs/index.md b/docs/index.md index 126a24ba8..018b68f97 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4525--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4527--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index b2b6d87c0..493c3ee03 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4525--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4527--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index 7ae590e55..ea9c78304 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4525--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4527--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index 85d36feb7..32477e522 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4525--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4527--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index 10b6a5c15..7b55490c7 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4525--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4527--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index 7f6d02ad5..5764cb682 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4525--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4527--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index 87c66dc46..3baed6b48 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4525--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4527--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index 67dce732e..0d3348f43 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4525--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4527--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index 76839abaf..e305cebb4 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4525--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4527--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index 644a13124..8e6311e1b 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4525--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4527--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index d14fe6038..615af2e48 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4525--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4527--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index 73bc255f2..2ebab0125 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4525--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4527--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index b57174e3e..a2cd4509d 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4525--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4527--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 4aee80502..59423c3d6 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.4.4525-develop'; + gc_version constant varchar2(50) := 'v3.2.4.4527-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From eb2040021381497b39d4bbfb63f603e141997740 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 21 Aug 2026 06:28:11 +0100 Subject: [PATCH 131/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index 992a491ef..14857d14c 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4527 +4528 diff --git a/docs/index.md b/docs/index.md index 018b68f97..e9b1c813c 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4527--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4528--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index 493c3ee03..ec0ecfd5b 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4527--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4528--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index ea9c78304..5d039c825 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4527--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4528--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index 32477e522..1526df27b 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4527--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4528--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index 7b55490c7..6f7c480a0 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4527--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4528--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index 5764cb682..1b1d0dd00 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4527--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4528--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index 3baed6b48..e5d2a2374 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4527--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4528--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index 0d3348f43..0d6fa8ce5 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4527--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4528--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index e305cebb4..faa972deb 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4527--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4528--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index 8e6311e1b..db905b475 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4527--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4528--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index 615af2e48..f14d28216 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4527--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4528--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index 2ebab0125..a69b029b8 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4527--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4528--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index a2cd4509d..7c817c556 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4527--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4528--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 59423c3d6..963c57bf9 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.4.4527-develop'; + gc_version constant varchar2(50) := 'v3.2.4.4528-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From 8d3b3c1d6dfdd56c7f2e793e8f07765594bd697c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 28 Aug 2026 18:04:05 +0100 Subject: [PATCH 132/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index 14857d14c..e6bb77876 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4528 +4529 diff --git a/docs/index.md b/docs/index.md index e9b1c813c..22c33e14d 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4528--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4529--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index ec0ecfd5b..608e877fa 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4528--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4529--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index 5d039c825..aad225f72 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4528--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4529--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index 1526df27b..5fd2d22d5 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4528--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4529--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index 6f7c480a0..3a2d5a5f6 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4528--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4529--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index 1b1d0dd00..68e737ef3 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4528--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4529--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index e5d2a2374..0ba407d37 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4528--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4529--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index 0d6fa8ce5..3ca954dcc 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4528--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4529--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index faa972deb..8490ee87b 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4528--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4529--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index db905b475..0eed4fdf7 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4528--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4529--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index f14d28216..132471e33 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4528--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4529--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index a69b029b8..51a42b1e6 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4528--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4529--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index 7c817c556..6764249a7 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4528--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4529--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 963c57bf9..e9a64c45d 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.4.4528-develop'; + gc_version constant varchar2(50) := 'v3.2.4.4529-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From dc182cb85bca0d8db62e67eb5a57da89dd066aa6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 4 Sep 2026 10:16:01 +0100 Subject: [PATCH 133/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index e6bb77876..c0ec9d83c 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4529 +4530 diff --git a/docs/index.md b/docs/index.md index 22c33e14d..49daf4b2f 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4529--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4530--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index 608e877fa..78056faaf 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4529--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4530--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index aad225f72..fac1ecdab 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4529--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4530--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index 5fd2d22d5..8cadca5eb 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4529--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4530--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index 3a2d5a5f6..53fdd4a48 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4529--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4530--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index 68e737ef3..9a9231e64 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4529--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4530--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index 0ba407d37..87ed81360 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4529--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4530--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index 3ca954dcc..9144351a3 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4529--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4530--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index 8490ee87b..dbeea04cc 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4529--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4530--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index 0eed4fdf7..f02f38b63 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4529--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4530--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index 132471e33..fbd2dc00e 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4529--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4530--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index 51a42b1e6..1a4983fe6 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4529--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4530--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index 6764249a7..ccc6ab54c 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4529--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4530--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index e9a64c45d..4d86e5bb1 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.4.4529-develop'; + gc_version constant varchar2(50) := 'v3.2.4.4530-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From 3c8a7161f7d5e262e89e0f1f04e90b2045ded3a1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 11 Sep 2026 10:19:30 +0100 Subject: [PATCH 134/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index c0ec9d83c..2850d73c8 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4530 +4531 diff --git a/docs/index.md b/docs/index.md index 49daf4b2f..7db578910 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4530--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4531--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index 78056faaf..a22cc4d17 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4530--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4531--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index fac1ecdab..b9cfb724c 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4530--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4531--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index 8cadca5eb..cf45b2d88 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4530--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4531--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index 53fdd4a48..42f8a2f69 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4530--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4531--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index 9a9231e64..cdb2352c8 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4530--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4531--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index 87ed81360..2a318204e 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4530--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4531--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index 9144351a3..29c8cb028 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4530--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4531--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index dbeea04cc..70a4eaa2c 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4530--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4531--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index f02f38b63..8f011d057 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4530--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4531--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index fbd2dc00e..34d97201f 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4530--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4531--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index 1a4983fe6..d946a47fe 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4530--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4531--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index ccc6ab54c..a01924827 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4530--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4531--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 4d86e5bb1..e469a207c 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.4.4530-develop'; + gc_version constant varchar2(50) := 'v3.2.4.4531-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From ee58003199f736d1395c9a328f26b3d921bde82f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Tue, 15 Sep 2026 12:20:50 +0300 Subject: [PATCH 135/171] Fix code of conduct link in contributing section Updated the code of conduct link to point to the correct URL. --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index e1533e607..ac4dc9815 100644 --- a/readme.md +++ b/readme.md @@ -132,7 +132,7 @@ Migrating from legacy utPLSQL v2? See the [version 2 to version 3 comparison](do ## Contributing -We welcome contributions of all kinds. Please read the [contributing guide](CONTRIBUTING.md) and the [code of conduct](CODE_OF_CONDUCT.md) before getting started. +We welcome contributions of all kinds. Please read the [contributing guide](CONTRIBUTING.md) and the [code of conduct](https://github.com/utPLSQL/utPLSQL?tab=coc-ov-file) before getting started. [GitHub Discussions](https://github.com/utPLSQL/utPLSQL/discussions) is the place to ask questions and connect with the team. From fa468a6153014084be9357927aba817f0e7be12f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 15 Sep 2026 10:29:35 +0100 Subject: [PATCH 136/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index 2850d73c8..697eb0993 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4531 +4532 diff --git a/docs/index.md b/docs/index.md index 7db578910..a7255f8f8 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4531--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4532--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index a22cc4d17..413cf27b3 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4531--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4532--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index b9cfb724c..838fc0890 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4531--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4532--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index cf45b2d88..c3f026d6f 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4531--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4532--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index 42f8a2f69..a069fb598 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4531--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4532--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index cdb2352c8..2a98ce0b4 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4531--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4532--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index 2a318204e..8849a7f47 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4531--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4532--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index 29c8cb028..059ff9223 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4531--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4532--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index 70a4eaa2c..649d7a6ca 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4531--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4532--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index 8f011d057..99ff5f044 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4531--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4532--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index 34d97201f..92c62cf72 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4531--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4532--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index d946a47fe..79671247e 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4531--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4532--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index a01924827..db02d6c50 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4531--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4532--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index e469a207c..46c28f0f0 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.4.4531-develop'; + gc_version constant varchar2(50) := 'v3.2.4.4532-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From 48f56f7d11b865b9f64099b1d64f13f52560988c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 18 Sep 2026 10:22:31 +0100 Subject: [PATCH 137/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index 697eb0993..4cdd5d805 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4532 +4533 diff --git a/docs/index.md b/docs/index.md index a7255f8f8..b5958e2db 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4532--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4533--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index 413cf27b3..add061dc0 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4532--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4533--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index 838fc0890..873f24c79 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4532--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4533--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index c3f026d6f..44fe585c0 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4532--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4533--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index a069fb598..19c5f8a26 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4532--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4533--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index 2a98ce0b4..3cdf900a6 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4532--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4533--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index 8849a7f47..1f2e51b44 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4532--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4533--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index 059ff9223..255dc8486 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4532--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4533--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index 649d7a6ca..fe3f73c53 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4532--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4533--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index 99ff5f044..c139c67a8 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4532--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4533--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index 92c62cf72..344ba2606 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4532--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4533--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index 79671247e..f3b398927 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4532--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4533--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index db02d6c50..f7d8097b1 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4532--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4533--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 46c28f0f0..a062c8122 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.4.4532-develop'; + gc_version constant varchar2(50) := 'v3.2.4.4533-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From 04163956054d4ad4568d64438c52b1c50cbe384d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 25 Sep 2026 10:59:56 +0100 Subject: [PATCH 138/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index 4cdd5d805..4f1c9aa7a 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4533 +4534 diff --git a/docs/index.md b/docs/index.md index b5958e2db..4ef0dcbd1 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4533--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4534--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index add061dc0..ff23ac60e 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4533--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4534--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index 873f24c79..3c2750cd4 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4533--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4534--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index 44fe585c0..3de74bfa1 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4533--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4534--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index 19c5f8a26..0ec8ea7fc 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4533--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4534--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index 3cdf900a6..a63d59b1a 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4533--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4534--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index 1f2e51b44..2656b9204 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4533--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4534--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index 255dc8486..62ea166e1 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4533--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4534--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index fe3f73c53..a4a7a20ff 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4533--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4534--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index c139c67a8..d326f1497 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4533--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4534--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index 344ba2606..632d7333b 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4533--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4534--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index f3b398927..fa7ccc64d 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4533--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4534--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index f7d8097b1..e8d329825 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4533--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4534--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index a062c8122..019c052cb 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.4.4533-develop'; + gc_version constant varchar2(50) := 'v3.2.4.4534-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From 78d036155e581207ae150bd513d6dd92c21a3da6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Mon, 28 Sep 2026 12:10:00 +0300 Subject: [PATCH 139/171] Update of release publishing script. --- .github/scripts/publish_release_post.sh | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/scripts/publish_release_post.sh b/.github/scripts/publish_release_post.sh index c9bade4f4..0412a5877 100755 --- a/.github/scripts/publish_release_post.sh +++ b/.github/scripts/publish_release_post.sh @@ -1,11 +1,10 @@ #!/bin/bash # Publishes a release announcement post to utplsql.github.io. -# Creates the post file, prepends an entry to docs/index.md, -# and inserts the post into the mkdocs.yml nav. +# Creates a new post file in directory docs/announcements/posts/[year] # # Required environment variables: # API_TOKEN_GITHUB - GitHub token with write access to utPLSQL.github.io -# RELEASE_TAG - e.g. v3.2.01 +# RELEASE_TAG - e.g. v3.2.3 # RELEASE_BODY - markdown release notes (from github.event.release.body) # RELEASE_DATE - ISO-8601 publish timestamp (from github.event.release.published_at) @@ -19,12 +18,15 @@ POST_DATE=$(echo "${RELEASE_DATE}" | cut -c1-10) POST_FILENAME="${POST_DATE}-version${VERSION}-released.md" POST_TITLE="utPLSQL ${RELEASE_TAG} released" POST_NAV_TITLE="utPLSQL ${VERSION} released" -POST_PATH='docs/announcements/posts' +POST_PATH="docs/announcements/posts/${POST_DATE:0:4}" mkdir -p github_io cd github_io git clone --depth 1 "https://${API_TOKEN_GITHUB}@github.com/${GITHUB_IO_REPO}" -b "${GITHUB_IO_BRANCH}" . +# Make sure that the post directory exists +mkdir -p "${POST_PATH} + # Format the release body for the post: # 1. Convert bare GitHub issue/PR URLs to [#NUMBER](URL) # e.g. https://github.com/utPLSQL/utPLSQL/pull/1320 @@ -54,7 +56,7 @@ ${FORMATTED_BODY} [Download utPLSQL release ${RELEASE_TAG} here](https://github.com/utPLSQL/utPLSQL/releases/tag/${RELEASE_TAG}) POSTEOF -git add "${POST_PATH}/${POST_FILENAME}" docs/index.md mkdocs.yml +git add "${POST_PATH}/${POST_FILENAME}" git commit -m "Release announcement for ${RELEASE_TAG}" git push origin "${GITHUB_IO_BRANCH}" From a8e32c201a604248d75d60541e3a59283d725237 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 28 Sep 2026 10:17:05 +0100 Subject: [PATCH 140/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- source/core/ut_utils.pks | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index 4f1c9aa7a..75c5751d0 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4534 +4535 diff --git a/docs/index.md b/docs/index.md index 4ef0dcbd1..2aa6faabf 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4534--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4535--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index ff23ac60e..363a052ff 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4534--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4535--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index 3c2750cd4..51e3d39e8 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4534--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4535--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index 3de74bfa1..0663a6d64 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4534--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4535--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index 0ec8ea7fc..78cdeabb4 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4534--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4535--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index a63d59b1a..91fadd126 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4534--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4535--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index 2656b9204..4d787d113 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4534--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4535--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index 62ea166e1..1e7705d2a 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4534--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4535--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index a4a7a20ff..39bc6ce54 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4534--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4535--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index d326f1497..87f42955d 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4534--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4535--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index 632d7333b..7709e8fdf 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4534--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4535--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index fa7ccc64d..4e7faf618 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4534--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4535--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index e8d329825..bf59c1728 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4534--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4.4535--develop-blue.svg) # Upgrading from version 2 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 019c052cb..b70abd64b 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.4.4534-develop'; + gc_version constant varchar2(50) := 'v3.2.4.4535-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From 97ed573d3d8f3a59051df11bce3649f788d6ff99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Mon, 28 Sep 2026 20:15:58 +0300 Subject: [PATCH 141/171] Skip version commit and docs deploy when nothing changed Scheduled (weekly) builds of unchanged code were creating a new "Updated project version after build" commit on develop and a new docs deployment on gh-pages each time. - Add detect_changes_since_last_publish.sh to detect new commits since the last version update and docs changes since the last develop docs deployment (based on mike's gh-pages commit message). - Run version update/commit only when there are new commits and docs deployment only when docs/ or mkdocs.yml changed. - Add force_docs_publish input to workflow_dispatch. - Exclude build number from docs version badge, so documentation only changes when the project version changes. --- .../detect_changes_since_last_publish.sh | 38 +++++++++++++++++++ .github/scripts/update_project_version.sh | 3 +- .github/workflows/build.yml | 16 +++++++- docs/index.md | 2 +- docs/userguide/advanced_data_comparison.md | 2 +- docs/userguide/annotations.md | 2 +- docs/userguide/best-practices.md | 2 +- docs/userguide/coverage.md | 2 +- docs/userguide/exception-reporting.md | 2 +- docs/userguide/expectations.md | 2 +- docs/userguide/getting-started.md | 2 +- docs/userguide/install.md | 2 +- docs/userguide/querying_suites.md | 2 +- docs/userguide/reporters.md | 2 +- docs/userguide/running-unit-tests.md | 2 +- docs/userguide/upgrade.md | 2 +- 16 files changed, 68 insertions(+), 15 deletions(-) create mode 100755 .github/scripts/detect_changes_since_last_publish.sh diff --git a/.github/scripts/detect_changes_since_last_publish.sh b/.github/scripts/detect_changes_since_last_publish.sh new file mode 100755 index 000000000..818ff89dc --- /dev/null +++ b/.github/scripts/detect_changes_since_last_publish.sh @@ -0,0 +1,38 @@ +#!/usr/bin/env bash + +# Detects what has changed since the last publish, so that builds of unchanged code +# (e.g. scheduled builds) do not produce new commits on develop and gh-pages branches. +# +# Outputs (written to $GITHUB_OUTPUT): +# project_changed - true when there are new commits since the last project version update commit +# docs_changed - true when documentation sources changed since the last deployment of documentation to gh-pages + +VERSION_COMMIT_MESSAGE='Updated project version after build [skip ci]' +DOCS_PATHS="docs mkdocs.yml" +DOCS_VERSION="develop" + +if [[ "$(git log -1 --format=%s HEAD)" == "${VERSION_COMMIT_MESSAGE}" ]]; then + echo "No new commits since last project version update." + project_changed=false +else + echo "New commits found since last project version update." + project_changed=true +fi + +# mike commits to gh-pages with message: "Deployed to with MkDocs and mike " +git fetch --quiet origin gh-pages +last_deployed_sha=$(git log -1 --format=%s --grep="^Deployed [0-9a-f]* to ${DOCS_VERSION} with MkDocs" origin/gh-pages | sed -nE "s/^Deployed ([0-9a-f]+) to .*/\1/p") + +if [[ -z "${last_deployed_sha}" ]] || ! git cat-file -e "${last_deployed_sha}^{commit}" 2>/dev/null; then + echo "Commit of last '${DOCS_VERSION}' documentation deployment not found." + docs_changed=true +elif git diff --quiet "${last_deployed_sha}" HEAD -- ${DOCS_PATHS}; then + echo "No documentation changes since last '${DOCS_VERSION}' documentation deployment from commit ${last_deployed_sha}." + docs_changed=false +else + echo "Documentation changed since last '${DOCS_VERSION}' documentation deployment from commit ${last_deployed_sha}." + docs_changed=true +fi + +echo "project_changed=${project_changed}" >> $GITHUB_OUTPUT +echo "docs_changed=${docs_changed}" >> $GITHUB_OUTPUT diff --git a/.github/scripts/update_project_version.sh b/.github/scripts/update_project_version.sh index 66e45125a..a4f27039a 100755 --- a/.github/scripts/update_project_version.sh +++ b/.github/scripts/update_project_version.sh @@ -9,7 +9,8 @@ find source -type f -name '*' -exec sed -i -r "s/${UTPLSQL_VERSION_PATTERN}/${UT echo Source files updated with version tag: ${UTPLSQL_BUILD_VERSION} echo Update version in documentation files -find docs -type f -name '*.md' -exec sed -i -r "s/(badge\/version-).*(-blue\.svg)/\1${UTPLSQL_BUILD_VERSION/-/--}\2/" {} \; +# Build number is not included in documentation, so that documentation only changes when the project version changes +find docs -type f -name '*.md' -exec sed -i -r "s/(badge\/version-).*(-blue\.svg)/\1${UTPLSQL_VERSION//-/--}\2/" {} \; echo Update of sonar-project.properties sonar.projectVersion sed -i -r "s/(sonar\.projectVersion=).*?/\1${UTPLSQL_VERSION}/" sonar-project.properties diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3ca9f34d2..011c14bf8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -9,6 +9,11 @@ on: timezone: "Europe/Nicosia" workflow_dispatch: + inputs: + force_docs_publish: + description: 'Publish develop documentation even if no documentation changes were detected' + type: boolean + default: false concurrency: ${{github.ref}} defaults: @@ -247,27 +252,36 @@ jobs: env-file: .github/variables/.env - uses: FranzDiebold/github-env-vars-action@v2.8.0 #https://github.com/marketplace/actions/github-environment-variables-action - - name: Set buid version number env variables + - name: Detect changes since last publish + id: detect-changes + run: .github/scripts/detect_changes_since_last_publish.sh + + - name: Set build version number env variables id: set-build-version-number-vars + if: steps.detect-changes.outputs.project_changed == 'true' run: .github/scripts/set_version_numbers_env.sh - name: Update project version & build number in source code and documentation id: update-project-version + if: steps.detect-changes.outputs.project_changed == 'true' run: .github/scripts/update_project_version.sh - name: Push version update to repository id: push-version-number-update + if: steps.detect-changes.outputs.project_changed == 'true' run: | git add sonar-project.properties VERSION BUILD_NO source/* docs/* git commit -m 'Updated project version after build [skip ci]' git push --quiet origin HEAD:${CI_ACTION_REF_NAME} - name: Setup git config + if: steps.detect-changes.outputs.docs_changed == 'true' || inputs.force_docs_publish run: | git config --global user.email "github-actions[bot]@users.noreply.github.com" git config --global user.name "github-actions[bot]" - name: Build and publish documentation + if: steps.detect-changes.outputs.docs_changed == 'true' || inputs.force_docs_publish run: | pip install mkdocs pip install mkdocs-git-revision-date-localized-plugin diff --git a/docs/index.md b/docs/index.md index 2aa6faabf..3f5dc6b25 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4535--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4--develop-blue.svg) ## What is utPLSQL diff --git a/docs/userguide/advanced_data_comparison.md b/docs/userguide/advanced_data_comparison.md index 363a052ff..50e2bbd0d 100644 --- a/docs/userguide/advanced_data_comparison.md +++ b/docs/userguide/advanced_data_comparison.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4535--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4--develop-blue.svg) # Advanced data comparison diff --git a/docs/userguide/annotations.md b/docs/userguide/annotations.md index 51e3d39e8..cb3ed8aac 100644 --- a/docs/userguide/annotations.md +++ b/docs/userguide/annotations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4535--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4--develop-blue.svg) Annotations are used to configure tests and suites in a declarative way similar to modern OOP languages. This way, test configuration is stored along with the test logic inside the test package. No additional configuration files or tables are needed for test cases. The annotation names are based on popular testing frameworks such as JUnit. diff --git a/docs/userguide/best-practices.md b/docs/userguide/best-practices.md index 0663a6d64..ff7e26fdb 100644 --- a/docs/userguide/best-practices.md +++ b/docs/userguide/best-practices.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4535--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4--develop-blue.svg) The following are best practices we at utPLSQL have learned about PL/SQL and Unit Testing. diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index 78cdeabb4..55820e905 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4535--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4--develop-blue.svg) utPLSQL comes with a built-in coverage reporting engine. The code coverage reporting combines data from package DBMS_PROFILER and DBMS_PLSQL_CODE_COVERAGE. Code coverage is gathered for the following source types: diff --git a/docs/userguide/exception-reporting.md b/docs/userguide/exception-reporting.md index 91fadd126..f3faf2847 100644 --- a/docs/userguide/exception-reporting.md +++ b/docs/userguide/exception-reporting.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4535--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4--develop-blue.svg) utPLSQL is responsible for handling exceptions wherever they occur in the test run. The framework is trapping most of the exceptions so that the test execution is not affected by individual tests or test packages throwing an exception. The framework provides a full stacktrace for every exception that was thrown. The reported stacktrace does not include any utPLSQL library calls in it. diff --git a/docs/userguide/expectations.md b/docs/userguide/expectations.md index 4d787d113..31593e53d 100644 --- a/docs/userguide/expectations.md +++ b/docs/userguide/expectations.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4535--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4--develop-blue.svg) ## Expectation concepts diff --git a/docs/userguide/getting-started.md b/docs/userguide/getting-started.md index 1e7705d2a..4c2aa07f5 100644 --- a/docs/userguide/getting-started.md +++ b/docs/userguide/getting-started.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4535--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4--develop-blue.svg) # Getting started with TDD and utPLSQL diff --git a/docs/userguide/install.md b/docs/userguide/install.md index 39bc6ce54..ecccbf100 100644 --- a/docs/userguide/install.md +++ b/docs/userguide/install.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4535--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4--develop-blue.svg) ## Supported database versions diff --git a/docs/userguide/querying_suites.md b/docs/userguide/querying_suites.md index 87f42955d..1aededc4a 100644 --- a/docs/userguide/querying_suites.md +++ b/docs/userguide/querying_suites.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4535--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4--develop-blue.svg) ## Obtaining information about suites diff --git a/docs/userguide/reporters.md b/docs/userguide/reporters.md index 7709e8fdf..b0f26ca18 100644 --- a/docs/userguide/reporters.md +++ b/docs/userguide/reporters.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4535--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4--develop-blue.svg) utPLSQL provides several reporting formats. The sections below describe most of them. diff --git a/docs/userguide/running-unit-tests.md b/docs/userguide/running-unit-tests.md index 4e7faf618..48d14281e 100644 --- a/docs/userguide/running-unit-tests.md +++ b/docs/userguide/running-unit-tests.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4535--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4--develop-blue.svg) utPLSQL framework provides two main entry points to run unit tests from within the database: diff --git a/docs/userguide/upgrade.md b/docs/userguide/upgrade.md index bf59c1728..28421a1e9 100644 --- a/docs/userguide/upgrade.md +++ b/docs/userguide/upgrade.md @@ -1,4 +1,4 @@ -![version](https://img.shields.io/badge/version-v3.2.4.4535--develop-blue.svg) +![version](https://img.shields.io/badge/version-v3.2.4--develop-blue.svg) # Upgrading from version 2 From a33d815ecc097ea8e0a66681dd0146d86c1545cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Tue, 29 Sep 2026 13:11:15 +0300 Subject: [PATCH 142/171] - Release documentation badge shows released version with build number (e.g. v3.2.5.4600); develop documentation shows version only. Controlled by new UTPLSQL_DOCS_VERSION env variable. - Extract badge update into update_docs_version.sh. - rebuild_docs.yml restores the version badge as originally published for each release (read from its first gh-pages deployment, falling back to tag + BUILD_NO). Previously rebuilt docs got the badge committed at the tag, e.g. v3.2.2 docs showed v3.2.01.4414-develop. - Add v.3.2.3 to default list of versions to rebuild. --- .github/scripts/get_published_docs_version.sh | 29 +++++++++++++++++++ .../set_release_version_numbers_env.sh | 6 ++-- .github/scripts/set_version_numbers_env.sh | 2 ++ .github/scripts/update_docs_version.sh | 12 ++++++++ .github/scripts/update_project_version.sh | 3 +- .github/workflows/rebuild_docs.yml | 10 ++++++- 6 files changed, 57 insertions(+), 5 deletions(-) create mode 100755 .github/scripts/get_published_docs_version.sh create mode 100755 .github/scripts/update_docs_version.sh diff --git a/.github/scripts/get_published_docs_version.sh b/.github/scripts/get_published_docs_version.sh new file mode 100755 index 000000000..f0a78dcbc --- /dev/null +++ b/.github/scripts/get_published_docs_version.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash + +# Returns the version shown on the badge of documentation, as originally published for a release. +# Used when rebuilding documentation of older releases, so that the rebuild does not alter version badges. +# Usage: .github/scripts/get_published_docs_version.sh +# +# Version is taken from the first deployment of the release documentation to gh-pages. +# If not found, it is derived from the release tag and BUILD_NO file, the same way as done by release process. +# Returns nothing if version cannot be determined. + +version=$1 +[[ -n "${version}" ]] || { echo "Release tag not provided" >&2; exit 1; } + +# mike commits to gh-pages with message: "Deployed to with MkDocs and mike " +first_deployment=$(git log origin/gh-pages --format=%H -F --grep=" to ${version} with MkDocs" | tail -1) +if [[ -n "${first_deployment}" ]]; then + docs_version=$(git show "${first_deployment}:${version}/index.html" 2>/dev/null | sed -nE 's/.*img\.shields\.io\/badge\/version-([^"]*)-blue\.svg.*/\1/p' | head -1) + # "-" is escaped as "--" in shields.io badge + docs_version=${docs_version//--/-} +fi + +if [[ -z "${docs_version}" ]]; then + build_no=$(git show "tags/${version}:BUILD_NO" 2>/dev/null | tr -d '[:space:]') + if [[ -n "${build_no}" ]]; then + docs_version=$(echo ${version} | sed -E "s/(v?[0-9]+\.)([0-9]+\.)([0-9]+)(-.*)?/\1\2\3\.${build_no}\4/") + fi +fi + +echo ${docs_version} diff --git a/.github/scripts/set_release_version_numbers_env.sh b/.github/scripts/set_release_version_numbers_env.sh index a43843508..a35b55a87 100755 --- a/.github/scripts/set_release_version_numbers_env.sh +++ b/.github/scripts/set_release_version_numbers_env.sh @@ -2,8 +2,10 @@ build_no=$(cat BUILD_NO) version=${CI_ACTION_REF_NAME} +build_version=$(echo ${version} | sed -E "s/(v?[0-9]+\.)([0-9]+\.)([0-9]+)(-.*)?/\1\2\3\.${build_no}\4/") echo "UTPLSQL_BUILD_NO=${build_no}" >> $GITHUB_ENV echo "UTPLSQL_VERSION=${version}" >> $GITHUB_ENV -echo UTPLSQL_BUILD_VERSION=$(echo ${version} | sed -E "s/(v?[0-9]+\.)([0-9]+\.)([0-9]+)(-.*)?/\1\2\3\.${build_no}\4/") >> $GITHUB_ENV - +echo "UTPLSQL_BUILD_VERSION=${build_version}" >> $GITHUB_ENV +# Documentation of released versions includes build number +echo "UTPLSQL_DOCS_VERSION=${build_version}" >> $GITHUB_ENV diff --git a/.github/scripts/set_version_numbers_env.sh b/.github/scripts/set_version_numbers_env.sh index c61639bf9..8fc31279d 100755 --- a/.github/scripts/set_version_numbers_env.sh +++ b/.github/scripts/set_version_numbers_env.sh @@ -6,3 +6,5 @@ version=$(.github/scripts/get_project_version.sh) echo "UTPLSQL_BUILD_NO=${build_no}" >> $GITHUB_ENV echo "UTPLSQL_VERSION=${version}" >> $GITHUB_ENV echo UTPLSQL_BUILD_VERSION=$(echo ${version} | sed -E "s/(v?[0-9]+\.)([0-9]+\.)([0-9]+)(-.*)?/\1\2\3\.${build_no}\4/") >> $GITHUB_ENV +# Documentation of development versions does not include build number, so that it only changes when version changes +echo "UTPLSQL_DOCS_VERSION=${version}" >> $GITHUB_ENV diff --git a/.github/scripts/update_docs_version.sh b/.github/scripts/update_docs_version.sh new file mode 100755 index 000000000..fa2e2c27a --- /dev/null +++ b/.github/scripts/update_docs_version.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +# Updates version badge in documentation files. +# Usage: .github/scripts/update_docs_version.sh +# e.g. .github/scripts/update_docs_version.sh v3.2.4.4600 + +docs_version=$1 +[[ -n "${docs_version}" ]] || { echo "Documentation version not provided"; exit 1; } + +# "-" needs to be escaped as "--" in shields.io badge +find docs -type f -name '*.md' -exec sed -i -r "s/(badge\/version-).*(-blue\.svg)/\1${docs_version//-/--}\2/" {} \; +echo Documentation files updated with version: ${docs_version} diff --git a/.github/scripts/update_project_version.sh b/.github/scripts/update_project_version.sh index a4f27039a..bb59528cb 100755 --- a/.github/scripts/update_project_version.sh +++ b/.github/scripts/update_project_version.sh @@ -9,8 +9,7 @@ find source -type f -name '*' -exec sed -i -r "s/${UTPLSQL_VERSION_PATTERN}/${UT echo Source files updated with version tag: ${UTPLSQL_BUILD_VERSION} echo Update version in documentation files -# Build number is not included in documentation, so that documentation only changes when the project version changes -find docs -type f -name '*.md' -exec sed -i -r "s/(badge\/version-).*(-blue\.svg)/\1${UTPLSQL_VERSION//-/--}\2/" {} \; +.github/scripts/update_docs_version.sh "${UTPLSQL_DOCS_VERSION}" echo Update of sonar-project.properties sonar.projectVersion sed -i -r "s/(sonar\.projectVersion=).*?/\1${UTPLSQL_VERSION}/" sonar-project.properties diff --git a/.github/workflows/rebuild_docs.yml b/.github/workflows/rebuild_docs.yml index b9f3e4c45..a9774d9b2 100644 --- a/.github/workflows/rebuild_docs.yml +++ b/.github/workflows/rebuild_docs.yml @@ -5,7 +5,7 @@ on: versions: description: 'Space-separated list of versions to rebuild (e.g. "v3.1.14 v3.1.13")' required: true - default: 'v3.2.2 v3.2.01 v3.1.14 v3.1.13 v3.1.12 v3.1.11 v3.1.10 v3.1.9 v3.1.8 v3.1.6 v3.1.5 v3.1.4 v3.1.3 v3.1.2 v3.1.1 v3.1.0 v3.0.4 v3.0.3 v3.0.2 v3.0.1 v3.0.0 v3.0.0-beta' + default: 'v.3.2.3 v3.2.2 v3.2.01 v3.1.14 v3.1.13 v3.1.12 v3.1.11 v3.1.10 v3.1.9 v3.1.8 v3.1.6 v3.1.5 v3.1.4 v3.1.3 v3.1.2 v3.1.1 v3.1.0 v3.0.4 v3.0.3 v3.0.2 v3.0.1 v3.0.0 v3.0.0-beta' defaults: run: @@ -48,9 +48,17 @@ jobs: - name: Rebuild specified versions run: | + git fetch --quiet origin gh-pages for VERSION in ${{ inputs.versions }}; do echo "=== Rebuilding $VERSION ===" git checkout "tags/${VERSION}" -- docs/ + # Keep the version badge as originally published with the release + DOCS_VERSION=$(.github/scripts/get_published_docs_version.sh "${VERSION}") + if [[ -n "${DOCS_VERSION}" ]]; then + .github/scripts/update_docs_version.sh "${DOCS_VERSION}" + else + echo "Published documentation version for ${VERSION} not found, version badge left unchanged" + fi mike deploy -p "${VERSION}" git checkout HEAD -- docs/ mkdocs.yml done From b3ccc811ff7009b37ac0e2fe76dc4d765ef04fee Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 29 Sep 2026 11:27:40 +0100 Subject: [PATCH 143/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- source/core/ut_utils.pks | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index 75c5751d0..4556e8ea5 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4535 +4543 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index b70abd64b..45faba687 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.4.4535-develop'; + gc_version constant varchar2(50) := 'v3.2.4.4543-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From b061fb4eaa7d36b9b7e0107ac8433a312e5a64e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Fri, 2 Oct 2026 13:29:15 +0300 Subject: [PATCH 144/171] Reflect stewardship in docs and readme, fix typos - Footer: copyright to "utPLSQL contributors" plus stewardship line - Footer: X, LinkedIn and Bluesky icon links (online and offline docs) - Docs home: fix typos and broken Sonar link, link to About page - Readme: replace broken X follow badge with X, Bluesky and LinkedIn badges, fix About page URL, use https links, add License and Stewardship sections - Remove orphaned Redgate supporter logo --- docs/images/supported_by_redgate_100.png | Bin 7674 -> 0 bytes docs/index.md | 12 +++++++----- mkdocs.yml | 14 +++++++++++--- mkdocs_offline.yml | 13 ++++++++++--- readme.md | 17 ++++++++++++++--- 5 files changed, 42 insertions(+), 14 deletions(-) delete mode 100644 docs/images/supported_by_redgate_100.png diff --git a/docs/images/supported_by_redgate_100.png b/docs/images/supported_by_redgate_100.png deleted file mode 100644 index ea9f93ac5cc204e2afd93c1356f8e61e17512041..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7674 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D9gj&wK~#8N?Oh3g z6vesz`j~s?*x6n7fIZk#zT> zsxA~{2_~T2Id`ry2GGOXx4Z3$gklSYys5S}r>d$ByU#bsh(>M6aExLnt%v#m-Q$7b zav5qO(UgqG!^q1^C2h90xZR%gR8&MRn>Q~(g`(GI2SM33ID@oG_!%!4m_tR0MK*ckqguP`ZQ*yp1aa0x1 zGNZ=Q$SU$ zcbP;^`sY7|48{AWL|5qrR7I+qQZ+RKU2i9OZd5&UZd{m?jQIp}4| zE4SQIFnH^h$;JmCo|&w#pJ;T3N1BO5fNt98L4|Aipa~p<=vk4RZv%><=vq{DI=5+g zd2bq3!HL%ukNJ$0Ny>xj zi2fWH5pGY!K{5hRW!O~)Hey@Sb99QHab5O_8InbUu}cGTE+zB+GSgzqV&pVX-z z?k>q+xALmQu3cBB+C!y8l%2%s{|7sVfI$kHnrnxBXw|aNdtn*T z&gv@or(Fcq<)SNAEYGQ@!h6oyAPZm48GNT_S_h`rJNhJHT7Di1Z@&%Y_bx=)y$ewO zdEHgVM+)hRJpg=7GM|oTQpBF5SH*ye;xv#|C|&!9i=M1K|1e87RE@X4K7}kH&`{M$Y8Z;3zFcvZ)F7@-ieE_P{o@0?rY`kqU?5nS3h9 zT9zYcB-zpg&$#h$R9C}!!e}_Fs*tR!hmlA?&(B8=rSClPL>OINFhcEc({KCm;c$)| z1+5?-1=m~)|3zOwQf~3IUtt}s;<-XC%}996nU@fq?6G4+;cG6 z+9>x5a?bcPTqlmDd^E#eQGsM*Bb>vA!#1Q0sXYzQsVuH>Sr-_$cv_=A5(bmdBt!h0ptZVJI` zu14gow~;&jQmXkMLN6#n-nG|28&pVXtwZtcx0CdI9MUs!G+LVP6TJof~~xQu9_&GcPBzGE<NW6QbP;l>vW(U?)ZFk@G~TlS29ewo+*D&5D8298g4#Rh z!FSeKi0#@1h4fs`XQskE=@dlPtVXJ}HQk60j*lgb6L6H3A-;PTcFej`h;xq`g+Vue z8;Z?F?gQmU+CPUhh_DpZuF=wh*!CSzJswHOh=h@%CYRX0UETf+)EGC{7om@4t^^xD$;JK8V)E&!he2<%n+F2-n1k zaFfntr4Q*GdKTM+lXNY|$)V=Sm6>d8LTKqS%I5?kxfNaO-;*leuj&uL$LcVCSZba! zocpCK;63}ZNRgzpJn#_0t5zZBv`@i*?s-srKB?XC8*d=`fv+c9(ha% zba9|eJFBYE^xH)UzxpcGbO^b#uM|BKUbPy{)YNq9l~p3W^R?GV7>F!Qhwp+5V3L%y zJ@Y&2OeVumy(XIwvCUi1@%n325#y2j#fzyTeI!XC(oHW?2ht&BaM1f~q)u4BIY*2@ z%j1tDvSI}h9~S-D{^zCWeEs$GXz)Rh)?v!ivu95jv3SXAW+alEzO@h1^(>O04;n=F zjTp>5*Ds6{6@iB$^tfW5^+0R&e7@s3S8Z^5&ad%7emGRik6d z8Q<%Z(ic!O;VwMBZ7WhFN#v}{J=P2H9XmwKQ&eC!E21B45>mT%Y!`87pCZ0Vzx?Rj$NO@;Q+r*P>lkK8V0n zQ?o^)+@X6UnVg=yhjcOGG3jOVueu7Ie|-(n_tvLlemp)_!uk!87>!H-qbo`U=P5J` zY&5cDbW6?A2DJvAY&=#8DUwvip$16%EMffyk-^f|lPm@srTa+D(FV1UWPJmSXjF*m z>uBZ*nFe}Eu@%Ua;E@uQd|8ge z=0zs0{nH#M9Qj_d7i0>@YL%^ZJ(vqSk8Y5QWv{M=ot$hvFAth0N9-|;eNu{RCK6-< zB*;+iq~5HZOp_Wigg->rdm9k@Xe;9NwbHrtOux8)2EAVm2G5|Fp(50tY`9R@LzBt^guuy zW9uH>O-qyo{@wH3Lgoq+c;J0X#cqdt%xDC!oJD%ho^{=pb)_$(4&*?K_)wv_iS0|& z;e(T5iBuJh>Lo3O>3i8i)(K<2+LtXu?f1Tq#{2I>>x)YfUb7mpni?cYk;^z0S=}Z% z6vsg-oo=lr5Js)((ZUk)>D`GrRs1JX-c1)~yCfqBG%3ntg4 zv{cq^Mp>Z~nLPaBaYOU@#4)xF9!w+-g|n)XOb_Z+siUw3$^4*u97mo@|2<9!qry;$ z+^0{Gp_k;Y8ah|uoH!m@Zcs)Fq*;bLVRnYa5jK-aaf~w%%31%BWNL1gjD$EwkCBNM zd+88LkLemX!m`{;vOXfhCY^%v-#!dmWtF9uB2g6Ib{nde{t4B~U&gSPUqa;{|A?W_ zJdM(Y3s5+J9tv*!76LP8!h6nHaE>1bJ2hQ}yn;ks9XkK|S43B>k~a)Avaj^h%`#`| zRFpsTAoQU_(Y0w4YHq$6aVorH$PlvlMF{4X4f$WW9wl>b#gJeB3Kfq%imD}x zF^r_A`jzFVTJ|D}Z@rcDnog3KS@rD}(>+dG6O~S zmyLQpp5W!C$UUPOizCIoX?;DqHg863<3@mb(hT_njVw1wONzW_osFSSJb|IV{~aoy zeHK-V7o(bbMGoZ;|5g^XFatapT>kiDsCwxoQSenSaae|G{!QLO^^2tR=l=+*%VE9X zC?LxcmOk=mgwrW=gIZ1wG%s24E97^xI5B4FYvJj=|o`rNh7tZ0s;Tkbg zR^6~!!9zkhlTU^FgfTL)d$f?{Ua|*BPqCwH{Z1c9{MeB7efF~`d-y@J?2FMtwpi_) zIY_qh+$R~a)cm+va$tpTCfKMwS`CukJP@vt{|lc-!8g7k)Ba|dta&pZ959T^O~mV!_DK?d7n66jeTNMr(S8ip=fM1;*4aKf^#^tm)L zR>kB{fqCtzN{%!4g!Zyh(p4kjo-h#}>M?m8YT)88A~5|@*b58gSqB-c#dq9+Aqy6u z?9oLi{QmdE#ONk;fRSY#MiN6M3tV&&${%}77O4!S9kOQpr9$TF5G48H?OrQHkL6>F|Ay z?69ey5%=*kYpQOK)tgfAlV?zRKlPXaKN{xGNAshPA{7mj;To58 zt%f-8$g+en($-kId~)diL)Td+aZebD%0iVyZJk*1(Y0&E(&r^fsc00n-~T?jR#%|m z7r&HIT6xy0j{!y2l|Gj#|Lb2v@!UJ4w=+6J;FZw47K}rpt`>=U@)H{xk!ac@i}F(B ztb>#{_oBR1$>gO`Cdn1|2BZ&dMTMv!edZ-H*(_mcJ8pVOCQL6Xl4a_=#537JWUxII zW1EU3i+fG(5JX_;4+)+O3OdMlbh)AXsj24XLN6Qydr1lGLx+;NF+$ucjqh<>BJ;Q+ zjA1oECWPgI&d5yQ@p{%*ylh;Cq)P^q@k*rd&@@^8wo*DLqSQbT8hHs~n(*8s_qrJf zVaLswzC{$95xf+@HmCqPk>MyUgFb|g6nGNE#%m~uG+rve4!1=Lr@&8J5R%j9Y|ib2 z0VFKTO5c*Nz-5<`^Sl&8$#ke7^J4HXevYDBZb6Wgxc4(t<%l0lckQO0FKiLP?oBU+KP->{%cO5OOg?6TF|RoNxX^LZv#Ka10*? B)nRGJgu92klORTXm@-cZDZJ!=6-PAzj$mj;yXFOUF z-}VtA@2;1x+q%}RC)=%=j9+URe6}!PW<>@}+TH@uFCM|j$&ubuFBl{}s7h{-=FPEs zNfA$yCXyQYMyQDl-9|EO8=K_g1+n&Jv}6CYvx5OAtS_+Cw#cI}kQwI5_@vpV<=_|~ zv!cJSD3c%@@t>nlR!c#~N<+EqUh!M!WXc}CTCc#!xOuk`Mnh)0*7m8O_dp~=Qd|JahtSBzG z?7R|s{dKfH@`$Y9agIGf)?&C%odkOkr_qJ3EnCoZ{{!SxzDur_M~1b7*Iy6M8B@^u z>>uQFY43UGQaDfiSpN7vUb`FZ&pwB?CC^*)1^qyuc1Gz5-kGHIzJ)T^$RDknt*x?( zF#oEnWfv6kmaVO2h!j@n_VQAM{_+|Mzx!QTx5~~m&o%PgqHF9Js%@7n4`5j+yZ=5o zDy!)Edf8Wkr{MyZULs4OqHEs8;JfZZaQ2ljqfsjjx0^^lTXrM}Eq_I(@OWvJjmYG! zX=3khlm#!P3+|EK1d@C9$QljzDU&Gw)6li~1H?9NvZPQ-cL?-#XO#WH>$jZ4su6zs zEt&S({-s%ntbAMce~5kX0k+S&65B7IiLIATm%Si7r<^LI60R|0gos^VxgI;N{4zeG z`;B+sL;kh(k-Kx)FlsV+X!!Lnv5nKcVitB@dmYT?7WmFQOO~MX21#A(*I~!3+1T;r ztK=Q+Bt=e=9M|}9QfMZ#cFqs6b=t)UQAO~oA11BwS9fFEjLWg@lIf_s;|^*1In;#Z z8vw~c-_UQu?0E$;6qDS#UG}p`hCc=~xu%vRcx@xzF>M+-ya! z@dODMo!-YguSD0ZkzpTaWu>HV#G*2cq!$**aFMmBc<*ROU(s*EmpeU-z$B?8O@+7LifUe*N1=G$Jc?o>zN3cT-M^vj{+ks%Jx1mLD@z{vWMszMc`uv# zAI-;}dlsPa*Z+mx|Mnf!-FmxhtkF9g^gNNyl46a_9~@jPk)WQCH1}Rh=SGg*X;EH{ z&agDehF|^?jrZJ(x*z`-JFmMQZO=VR2D2q)eMSGx3L;4Y{mx|7BnjfdJT1qE@LO-8 z<>{x<{JY`8GraM7hJa-&yo>Wqevo4I04pO>eQ1gP) z$#kt*OA7u{47zm=c=NSXM<XuEE_36X#NBVDpXBQt>5Z?l4DXjmsj-+2eo&6`C;dGdi@%%Xi+~ z5y z{BeZ;=YO&DnrmbgkGz?EM%GQ#>+-&0vdJ4Gt&d~}0`@7n*G?wrUG!f527s?KX*{XI z6_cJ5V5CzxC=PpwTKHk5K`+aYC552C=e!P;Hyx6#@raC`ari_w4&wV%(+Y1W#MkJq zeOMLBh@1*?#!KeUqb58LMYr89&ARJ@O)}{raVaoSLWbmluJMrz&+nH!@C;MfG9Tpq z^oOVRsC97Oz-je^te)t9FWCbbqB7|1#eK;P$1y^kNbcMrn>wZhn4C4@ z^!M;+P_=zs=)l;Fu!pUjd&G)=#KO(@cqkgsXwA1c7=c%VQ?Ze1ZKlnlJi1q8I zs(=5-Y$Fo>v=L7PNy*8S;qgjch9EAVl#~B;ElulGY>w4>S?Npd<4^qKM!$bs=HEB! zm4`)h=Q=A^uN$Acde!I2aGYi&W5W?o+K)%lxJ)VbximelIbC}+uYaYPm-kftu*#Kh zo_J!z{{Q^gAvqw%l|SEbLuo}_-DG3!+H+EEZ6}if2RS!xtS+gk zIVE1Rdvq!pAFG;Xm69@Yjg+BLG|30!fYH&T2>u71G(}08irQl8dc9(|ePs9g*Mhb> zBBx;tPPT>0OkK^RES8v&uwoii?{<404AZU}DWrJFh?wOJ@qiC!jYZZPqoC`m236xO zNJ*uVsb;#CB%PBmQ_1ZVKWZC1B-#~?zHbZoLSeu6qp&}(Bb=Al+)+@_?g<1Uhx2bq z_J$)$*rCAxM&;;G$QFx6y=Z8Fo=hqUx7%+flQ!ANo5P`Cw@aX=Wya$1HhVOhL}4Mw oj_j;0F3vn`^yS}(JbVEE2S)hJuAGBhRR91007*qoM6N<$f=B%zmjD0& diff --git a/docs/index.md b/docs/index.md index 3f5dc6b25..c0b531359 100644 --- a/docs/index.md +++ b/docs/index.md @@ -3,7 +3,9 @@ ## What is utPLSQL utPLSQL is a Unit Testing framework for Oracle PL/SQL. -The framework follows industry standards and best patterns of modern Unit Testing frameworks like [JUnit](http://junit.org/junit4/) and [RSpec](http://rspec.info/) +The framework follows industry standards and best patterns of modern Unit Testing frameworks like [JUnit](https://junit.org/) and [RSpec](https://rspec.info/). + +See [About](https://www.utplsql.org/about.html) for project history, contributors and stewardship. ## Demo project @@ -11,18 +13,18 @@ Have a look at [utPLSQL demo project](https://github.com/utPLSQL/utPLSQL-demo-pr - sample code and tests - demo of deployment automation that leverages: - - Flyway / Liquidbase for scripting and deployment of DB changes + - Flyway / Liquibase for scripting and deployment of DB changes - Docker container with Oracle XE Database - GitHub Actions and Azure Pipelines to orchestrate the deployment and testing process - - utPLSQL framework for writhing, execution of tests as well as reporting test results and code coverage - - [Sonar]((https://sonarcloud.io/project/overview?id=utPLSQL:utPLSQL-demo-project).) for code quality gate, test results and code coverage reporting + - utPLSQL framework for writing and executing tests, as well as reporting test results and code coverage + - [Sonar](https://sonarcloud.io/project/overview?id=utPLSQL:utPLSQL-demo-project) for code quality gate, test results and code coverage reporting ## Three steps With just three simple steps you can define and run your unit tests for PLSQL code. 1. Install the utPLSQL framework -2. Create Unit Tests to for the code +2. Create unit tests for the code 3. Run the tests Here is how you can simply create tested code, unit tests and execute the tests using SQL Developer diff --git a/mkdocs.yml b/mkdocs.yml index f18f74ce3..72eebaa17 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -9,7 +9,8 @@ site_url: https://www.utplsql.org/ site_name: utPLSQL site_description: utPLSQL Ultimate Testing Framework for Oracle PL/SQL copyright: > - Copyright © 2016 - 2026 utPLSQL Team + Copyright © 2016 - 2026 utPLSQL contributors. + utPLSQL is stewarded by utPLSQL Development Labs Ltd. Change cookie settings repo_url: https://github.com/utPLSQL/utPLSQL extra_css: @@ -77,8 +78,15 @@ extra: # the cookie: utplsql-consent allows for shred cookie across all documentation versions and the global site cookie: utplsql-consent social: - - icon: fontawesome/brands/twitter - link: https://twitter.com/utPLSQL + - icon: fontawesome/brands/x-twitter + link: https://x.com/utPLSQL + name: utPLSQL on X + - icon: fontawesome/brands/linkedin + link: https://www.linkedin.com/company/utplsql/ + name: utPLSQL on LinkedIn + - icon: fontawesome/brands/bluesky + link: https://bsky.app/profile/utplsql.org + name: utPLSQL on Bluesky - icon: fontawesome/regular/comment link: https://github.com/utPLSQL/utPLSQL/discussions - icon: fontawesome/brands/github diff --git a/mkdocs_offline.yml b/mkdocs_offline.yml index 82304041c..49e986c95 100644 --- a/mkdocs_offline.yml +++ b/mkdocs_offline.yml @@ -8,7 +8,7 @@ edit_uri: "" site_url: https://www.utplsql.org/ site_name: utPLSQL-framework site_description: utPLSQL Ultimate Testing Framework for Oracle PL/SQL & SQL -copyright: Copyright © 2016 - 2026 utPLSQL Team +copyright: Copyright © 2016 - 2026 utPLSQL contributors. utPLSQL is stewarded by utPLSQL Development Labs Ltd. #repo_url: https://github.com/utPLSQL/utPLSQL # disable for offline docs extra_css: - stylesheets/extra.css @@ -41,8 +41,15 @@ theme: extra: # homepage: https://www.utPLSQL.org/ social: - - icon: fontawesome/brands/twitter - link: https://twitter.com/utPLSQL + - icon: fontawesome/brands/x-twitter + link: https://x.com/utPLSQL + name: utPLSQL on X + - icon: fontawesome/brands/linkedin + link: https://www.linkedin.com/company/utplsql/ + name: utPLSQL on LinkedIn + - icon: fontawesome/brands/bluesky + link: https://bsky.app/profile/utplsql.org + name: utPLSQL on Bluesky - icon: fontawesome/regular/comment link: https://github.com/utPLSQL/utPLSQL/discussions - icon: fontawesome/brands/github diff --git a/readme.md b/readme.md index ac4dc9815..f2b16be37 100644 --- a/readme.md +++ b/readme.md @@ -3,12 +3,14 @@ [![latest-release](https://img.shields.io/github/release/utPLSQL/utPLSQL.svg)](https://github.com/utPLSQL/utPLSQL/releases) [![license](https://img.shields.io/github/license/utPLSQL/utPLSQL.svg)](https://www.apache.org/licenses/LICENSE-2.0) [![GitHub Discussions](https://img.shields.io/github/discussions/utPLSQL/utPLSQL)](https://github.com/utPLSQL/utPLSQL/discussions) -[![X](https://img.shields.io/twitter/follow/utPLSQL.svg?style=social&label=Follow)](https://twitter.com/utPLSQL) +[![X](https://img.shields.io/badge/X-utPLSQL-000000?logo=x)](https://x.com/utPLSQL) +[![Bluesky](https://img.shields.io/badge/Bluesky-utplsql.org-0285FF?logo=bluesky&logoColor=white)](https://bsky.app/profile/utplsql.org) +[![LinkedIn](https://img.shields.io/badge/in-utPLSQL-0A66C2)](https://www.linkedin.com/company/utplsql/) [![build](https://github.com/utPLSQL/utPLSQL/actions/workflows/build.yml/badge.svg)](https://github.com/utPLSQL/utPLSQL/actions/workflows/build.yml) [![QualityGate](https://sonarcloud.io/api/project_badges/measure?project=utPLSQL_utPLSQL&metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=utPLSQL_utPLSQL) [![Coverage](https://sonarcloud.io/api/project_badges/measure?project=utPLSQL_utPLSQL&metric=coverage)](https://sonarcloud.io/summary/new_code?id=utPLSQL_utPLSQL) -utPLSQL is a unit testing framework for Oracle PL/SQL and SQL, following industry standards and best practices of modern testing frameworks like [JUnit](http://junit.org/junit4/) and [RSpec](http://rspec.info/). +utPLSQL is a unit testing framework for Oracle PL/SQL and SQL, following industry standards and best practices of modern testing frameworks like [JUnit](https://junit.org/) and [RSpec](https://rspec.info/). ## Key Features @@ -136,5 +138,14 @@ We welcome contributions of all kinds. Please read the [contributing guide](CONT [GitHub Discussions](https://github.com/utPLSQL/utPLSQL/discussions) is the place to ask questions and connect with the team. -The list of **authors** and **significant contributors** is available on the [About](https://www.utplsql.org/about/) page. For a full list of contributors, see [contributors](https://github.com/utPLSQL/utPLSQL/graphs/contributors?all=1) on GitHub. +The list of **authors** and **significant contributors** is available on the [About](https://www.utplsql.org/about.html) page. For a full list of contributors, see [contributors](https://github.com/utPLSQL/utPLSQL/graphs/contributors?all=1) on GitHub. +## License + +utPLSQL is free and open source, licensed under the [Apache 2.0 license](LICENSE). + +## Stewardship + +utPLSQL is stewarded by utPLSQL Development Labs Ltd, which holds the utPLSQL name, branding and project assets, and manages sponsorships and funded development. +Contributors retain copyright of their contributions, which are licensed under the Apache 2.0 license. +See the [announcement](https://www.utplsql.org/announcements/incorporation-of-utplsql-development-labs-ltd.html) for details. From 32baa31637cc0e5a5ce9e712e0e1fc307dcdd969 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 2 Oct 2026 11:36:32 +0100 Subject: [PATCH 145/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- source/core/ut_utils.pks | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index 4556e8ea5..021fa878a 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4543 +4544 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 45faba687..36cfb9316 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.4.4543-develop'; + gc_version constant varchar2(50) := 'v3.2.4.4544-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From beffc2f3541dd263361bdcdc436fa967272997e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Fri, 2 Oct 2026 16:57:25 +0300 Subject: [PATCH 146/171] Align license headers with Apache 2.0 wording - Source headers: '(the "License"). You may not use ...' - avoids a semicolon in comments, which breaks script execution - LICENSE appendix: standard '(the "License");' wording, copyright years 2016 - 2026 - Custom reporter examples: copyright years 2016 - 2026 - Fix corrupted license header in ut_run_info.tpb - Docs footer: copyright holder "utPLSQL Project" --- LICENSE | 4 ++-- examples/custom_reporters/ut_expectations_reporter.tpb | 6 +++--- examples/custom_reporters/ut_expectations_reporter.tps | 6 +++--- mkdocs.yml | 2 +- mkdocs_offline.yml | 2 +- source/api/ut.pkb | 4 ++-- source/api/ut.pks | 4 ++-- source/api/ut_runner.pkb | 4 ++-- source/api/ut_runner.pks | 4 ++-- source/api/ut_suite_item_info.tpb | 4 ++-- source/api/ut_suite_item_info.tps | 4 ++-- source/api/ut_suite_items_info.tps | 4 ++-- source/check_object_grants.sql | 4 ++-- source/check_sys_grants.sql | 4 ++-- source/core/annotations/ut_annotated_object.tps | 4 ++-- source/core/annotations/ut_annotated_objects.tps | 4 ++-- source/core/annotations/ut_annotation.tps | 4 ++-- source/core/annotations/ut_annotation_cache.sql | 4 ++-- source/core/annotations/ut_annotation_cache_info.sql | 4 ++-- source/core/annotations/ut_annotation_cache_manager.pkb | 4 ++-- source/core/annotations/ut_annotation_cache_manager.pks | 4 ++-- source/core/annotations/ut_annotation_cache_schema.sql | 4 ++-- source/core/annotations/ut_annotation_cache_seq.sql | 4 ++-- source/core/annotations/ut_annotation_manager.pkb | 4 ++-- source/core/annotations/ut_annotation_manager.pks | 4 ++-- source/core/annotations/ut_annotation_obj_cache_info.tps | 4 ++-- source/core/annotations/ut_annotation_objs_cache_info.tps | 4 ++-- source/core/annotations/ut_annotation_parser.pkb | 4 ++-- source/core/annotations/ut_annotation_parser.pks | 4 ++-- source/core/annotations/ut_annotations.tps | 4 ++-- source/core/annotations/ut_trigger_annotation_parsing.trg | 4 ++-- source/core/annotations/ut_trigger_check.pkb | 4 ++-- source/core/annotations/ut_trigger_check.pks | 4 ++-- source/core/coverage/ut_coverage.pkb | 4 ++-- source/core/coverage/ut_coverage.pks | 4 ++-- source/core/coverage/ut_coverage_block.pkb | 4 ++-- source/core/coverage/ut_coverage_block.pks | 4 ++-- source/core/coverage/ut_coverage_helper.pkb | 4 ++-- source/core/coverage/ut_coverage_helper.pks | 4 ++-- source/core/coverage/ut_coverage_helper_block.pkb | 4 ++-- source/core/coverage/ut_coverage_helper_block.pks | 4 ++-- source/core/coverage/ut_coverage_helper_profiler.pkb | 4 ++-- source/core/coverage/ut_coverage_helper_profiler.pks | 4 ++-- source/core/coverage/ut_coverage_profiler.pkb | 4 ++-- source/core/coverage/ut_coverage_profiler.pks | 4 ++-- source/core/coverage/ut_coverage_reporter_base.tpb | 4 ++-- source/core/coverage/ut_coverage_reporter_base.tps | 4 ++-- source/core/coverage/ut_coverage_sources_tmp.sql | 4 ++-- source/core/events/ut_event_item.tps | 4 ++-- source/core/events/ut_event_listener.tps | 4 ++-- source/core/events/ut_event_manager.pkb | 4 ++-- source/core/events/ut_event_manager.pks | 4 ++-- source/core/output_buffers/ut_output_buffer_base.tpb | 4 ++-- source/core/output_buffers/ut_output_buffer_base.tps | 4 ++-- source/core/output_buffers/ut_output_buffer_info_tmp.sql | 4 ++-- source/core/output_buffers/ut_output_buffer_tmp.sql | 4 ++-- source/core/output_buffers/ut_output_bulk_buffer.tpb | 4 ++-- source/core/output_buffers/ut_output_bulk_buffer.tps | 4 ++-- source/core/output_buffers/ut_output_clob_buffer_tmp.sql | 4 ++-- source/core/output_buffers/ut_output_clob_table_buffer.tpb | 4 ++-- source/core/output_buffers/ut_output_clob_table_buffer.tps | 4 ++-- source/core/output_buffers/ut_output_data_row.tps | 4 ++-- source/core/output_buffers/ut_output_data_rows.tps | 4 ++-- source/core/output_buffers/ut_output_table_buffer.tpb | 4 ++-- source/core/output_buffers/ut_output_table_buffer.tps | 4 ++-- source/core/session_context/ut_session_context.pkb | 4 ++-- source/core/session_context/ut_session_context.pks | 4 ++-- source/core/session_context/ut_session_info.tpb | 4 ++-- source/core/session_context/ut_session_info.tps | 4 ++-- source/core/types/ut_console_reporter_base.tpb | 4 ++-- source/core/types/ut_console_reporter_base.tps | 4 ++-- source/core/types/ut_coverage_options.tpb | 4 ++-- source/core/types/ut_coverage_options.tps | 4 ++-- source/core/types/ut_executable.tpb | 4 ++-- source/core/types/ut_executable.tps | 4 ++-- source/core/types/ut_executable_test.tpb | 4 ++-- source/core/types/ut_executable_test.tps | 4 ++-- source/core/types/ut_executables.tps | 4 ++-- source/core/types/ut_expectation_result.tpb | 4 ++-- source/core/types/ut_expectation_result.tps | 4 ++-- source/core/types/ut_expectation_results.tps | 4 ++-- source/core/types/ut_file_mapping.tpb | 4 ++-- source/core/types/ut_file_mapping.tps | 4 ++-- source/core/types/ut_file_mappings.tps | 4 ++-- source/core/types/ut_integer_list.tps | 4 ++-- source/core/types/ut_key_value_pair.tps | 4 ++-- source/core/types/ut_key_value_pairs.tps | 4 ++-- source/core/types/ut_logical_suite.tpb | 4 ++-- source/core/types/ut_logical_suite.tps | 4 ++-- source/core/types/ut_object_name.tpb | 4 ++-- source/core/types/ut_object_name.tps | 4 ++-- source/core/types/ut_object_names.tps | 4 ++-- source/core/types/ut_output_reporter_base.tpb | 4 ++-- source/core/types/ut_output_reporter_base.tps | 4 ++-- source/core/types/ut_path_item.tpb | 4 ++-- source/core/types/ut_path_item.tps | 4 ++-- source/core/types/ut_path_items.tps | 4 ++-- source/core/types/ut_reporter_base.tpb | 4 ++-- source/core/types/ut_reporter_base.tps | 4 ++-- source/core/types/ut_reporter_info.tps | 4 ++-- source/core/types/ut_reporters.tps | 4 ++-- source/core/types/ut_reporters_info.tps | 4 ++-- source/core/types/ut_results_counter.tpb | 4 ++-- source/core/types/ut_results_counter.tps | 4 ++-- source/core/types/ut_run.tpb | 4 ++-- source/core/types/ut_run.tps | 4 ++-- source/core/types/ut_run_info.tpb | 6 +++--- source/core/types/ut_run_info.tps | 4 ++-- source/core/types/ut_stack.tpb | 4 ++-- source/core/types/ut_stack.tps | 4 ++-- source/core/types/ut_suite.tpb | 4 ++-- source/core/types/ut_suite.tps | 4 ++-- source/core/types/ut_suite_cache_row.tps | 4 ++-- source/core/types/ut_suite_cache_rows.tps | 4 ++-- source/core/types/ut_suite_context.tpb | 4 ++-- source/core/types/ut_suite_context.tps | 4 ++-- source/core/types/ut_suite_item.tpb | 4 ++-- source/core/types/ut_suite_item.tps | 4 ++-- source/core/types/ut_suite_items.tps | 4 ++-- source/core/types/ut_test.tpb | 4 ++-- source/core/types/ut_test.tps | 4 ++-- source/core/types/ut_varchar2_list.tps | 4 ++-- source/core/types/ut_varchar2_rows.tps | 4 ++-- source/core/ut_dbms_output_cache.sql | 4 ++-- source/core/ut_expectation_processor.pkb | 4 ++-- source/core/ut_expectation_processor.pks | 4 ++-- source/core/ut_file_mapper.pkb | 4 ++-- source/core/ut_file_mapper.pks | 4 ++-- source/core/ut_metadata.pkb | 4 ++-- source/core/ut_metadata.pks | 4 ++-- source/core/ut_savepoint_seq.sql | 4 ++-- source/core/ut_suite_builder.pkb | 4 ++-- source/core/ut_suite_builder.pks | 4 ++-- source/core/ut_suite_cache.sql | 4 ++-- source/core/ut_suite_cache_manager.pkb | 4 ++-- source/core/ut_suite_cache_manager.pks | 4 ++-- source/core/ut_suite_cache_package.sql | 4 ++-- source/core/ut_suite_cache_schema.sql | 4 ++-- source/core/ut_suite_cache_seq.sql | 4 ++-- source/core/ut_suite_manager.pkb | 4 ++-- source/core/ut_suite_manager.pks | 4 ++-- source/core/ut_suite_tag_filter.pkb | 4 ++-- source/core/ut_suite_tag_filter.pks | 4 ++-- source/core/ut_utils.pkb | 4 ++-- source/core/ut_utils.pks | 4 ++-- source/create_grants.sql | 4 ++-- source/create_synonyms.sql | 4 ++-- source/create_synonyms_and_grants_for_public.sql | 4 ++-- source/create_user_grants.sql | 4 ++-- source/create_user_synonyms.sql | 4 ++-- source/create_utplsql_owner.sql | 4 ++-- source/define_ut3_owner_param.sql | 4 ++-- .../expectations/data_values/ut_compound_data_diff_tmp.sql | 4 ++-- source/expectations/data_values/ut_compound_data_helper.pkb | 4 ++-- source/expectations/data_values/ut_compound_data_helper.pks | 4 ++-- source/expectations/data_values/ut_compound_data_tmp.sql | 4 ++-- source/expectations/data_values/ut_compound_data_value.tpb | 4 ++-- source/expectations/data_values/ut_compound_data_value.tps | 4 ++-- source/expectations/data_values/ut_cursor_column.tpb | 4 ++-- source/expectations/data_values/ut_cursor_column.tps | 4 ++-- source/expectations/data_values/ut_cursor_column_tab.tps | 4 ++-- source/expectations/data_values/ut_cursor_details.tpb | 4 ++-- source/expectations/data_values/ut_cursor_details.tps | 4 ++-- source/expectations/data_values/ut_data_value.tpb | 4 ++-- source/expectations/data_values/ut_data_value.tps | 4 ++-- source/expectations/data_values/ut_data_value_anydata.tpb | 4 ++-- source/expectations/data_values/ut_data_value_anydata.tps | 4 ++-- source/expectations/data_values/ut_data_value_blob.tpb | 4 ++-- source/expectations/data_values/ut_data_value_blob.tps | 4 ++-- source/expectations/data_values/ut_data_value_boolean.tpb | 4 ++-- source/expectations/data_values/ut_data_value_boolean.tps | 4 ++-- source/expectations/data_values/ut_data_value_clob.tpb | 4 ++-- source/expectations/data_values/ut_data_value_clob.tps | 4 ++-- source/expectations/data_values/ut_data_value_date.tpb | 4 ++-- source/expectations/data_values/ut_data_value_date.tps | 4 ++-- .../expectations/data_values/ut_data_value_dsinterval.tpb | 4 ++-- .../expectations/data_values/ut_data_value_dsinterval.tps | 4 ++-- source/expectations/data_values/ut_data_value_json.tpb | 4 ++-- source/expectations/data_values/ut_data_value_json.tps | 4 ++-- source/expectations/data_values/ut_data_value_number.tpb | 4 ++-- source/expectations/data_values/ut_data_value_number.tps | 4 ++-- source/expectations/data_values/ut_data_value_refcursor.tpb | 4 ++-- source/expectations/data_values/ut_data_value_refcursor.tps | 4 ++-- source/expectations/data_values/ut_data_value_timestamp.tpb | 4 ++-- source/expectations/data_values/ut_data_value_timestamp.tps | 4 ++-- .../data_values/ut_data_value_timestamp_ltz.tpb | 4 ++-- .../data_values/ut_data_value_timestamp_ltz.tps | 4 ++-- .../expectations/data_values/ut_data_value_timestamp_tz.tpb | 4 ++-- .../expectations/data_values/ut_data_value_timestamp_tz.tps | 4 ++-- source/expectations/data_values/ut_data_value_varchar2.tpb | 4 ++-- source/expectations/data_values/ut_data_value_varchar2.tps | 4 ++-- source/expectations/data_values/ut_data_value_xmltype.tpb | 4 ++-- source/expectations/data_values/ut_data_value_xmltype.tps | 4 ++-- .../expectations/data_values/ut_data_value_yminterval.tpb | 4 ++-- .../expectations/data_values/ut_data_value_yminterval.tps | 4 ++-- source/expectations/data_values/ut_json_data_diff_tmp.sql | 4 ++-- source/expectations/data_values/ut_json_leaf.tpb | 4 ++-- source/expectations/data_values/ut_json_leaf.tps | 4 ++-- source/expectations/data_values/ut_json_leaf_tab.tps | 4 ++-- source/expectations/data_values/ut_json_tree_details.tpb | 4 ++-- source/expectations/data_values/ut_json_tree_details.tps | 4 ++-- source/expectations/data_values/ut_key_anyval_pair.tps | 4 ++-- source/expectations/data_values/ut_key_anyval_pairs.tps | 4 ++-- source/expectations/data_values/ut_key_anyvalues.tpb | 4 ++-- source/expectations/data_values/ut_key_anyvalues.tps | 4 ++-- source/expectations/matchers/ut_be_between.tpb | 4 ++-- source/expectations/matchers/ut_be_between.tps | 4 ++-- source/expectations/matchers/ut_be_empty.tpb | 4 ++-- source/expectations/matchers/ut_be_empty.tps | 4 ++-- source/expectations/matchers/ut_be_false.tpb | 4 ++-- source/expectations/matchers/ut_be_false.tps | 4 ++-- source/expectations/matchers/ut_be_greater_or_equal.tpb | 4 ++-- source/expectations/matchers/ut_be_greater_or_equal.tps | 4 ++-- source/expectations/matchers/ut_be_greater_than.tpb | 4 ++-- source/expectations/matchers/ut_be_greater_than.tps | 4 ++-- source/expectations/matchers/ut_be_less_or_equal.tpb | 4 ++-- source/expectations/matchers/ut_be_less_or_equal.tps | 4 ++-- source/expectations/matchers/ut_be_less_than.tpb | 4 ++-- source/expectations/matchers/ut_be_less_than.tps | 4 ++-- source/expectations/matchers/ut_be_like.tpb | 4 ++-- source/expectations/matchers/ut_be_like.tps | 4 ++-- source/expectations/matchers/ut_be_not_null.tpb | 4 ++-- source/expectations/matchers/ut_be_not_null.tps | 4 ++-- source/expectations/matchers/ut_be_null.tpb | 4 ++-- source/expectations/matchers/ut_be_null.tps | 4 ++-- source/expectations/matchers/ut_be_true.tpb | 4 ++-- source/expectations/matchers/ut_be_true.tps | 4 ++-- source/expectations/matchers/ut_be_within.tpb | 4 ++-- source/expectations/matchers/ut_be_within.tps | 4 ++-- source/expectations/matchers/ut_be_within_helper.pkb | 4 ++-- source/expectations/matchers/ut_be_within_helper.pks | 4 ++-- source/expectations/matchers/ut_be_within_pct.tpb | 4 ++-- source/expectations/matchers/ut_be_within_pct.tps | 4 ++-- source/expectations/matchers/ut_comparison_matcher.tpb | 4 ++-- source/expectations/matchers/ut_comparison_matcher.tps | 4 ++-- source/expectations/matchers/ut_contain.tpb | 4 ++-- source/expectations/matchers/ut_contain.tps | 4 ++-- source/expectations/matchers/ut_equal.tpb | 4 ++-- source/expectations/matchers/ut_equal.tps | 4 ++-- source/expectations/matchers/ut_have_count.tpb | 4 ++-- source/expectations/matchers/ut_have_count.tps | 4 ++-- source/expectations/matchers/ut_match.tpb | 4 ++-- source/expectations/matchers/ut_match.tps | 4 ++-- source/expectations/matchers/ut_matcher.tpb | 4 ++-- source/expectations/matchers/ut_matcher.tps | 4 ++-- source/expectations/matchers/ut_matcher_base.tps | 4 ++-- source/expectations/matchers/ut_matcher_options.tpb | 4 ++-- source/expectations/matchers/ut_matcher_options.tps | 4 ++-- source/expectations/matchers/ut_matcher_options_items.tpb | 4 ++-- source/expectations/matchers/ut_matcher_options_items.tps | 4 ++-- source/expectations/ut_expectation.tpb | 4 ++-- source/expectations/ut_expectation.tps | 4 ++-- source/expectations/ut_expectation_base.tpb | 4 ++-- source/expectations/ut_expectation_base.tps | 4 ++-- source/expectations/ut_expectation_compound.tpb | 4 ++-- source/expectations/ut_expectation_compound.tps | 4 ++-- source/expectations/ut_expectation_json.tpb | 4 ++-- source/expectations/ut_expectation_json.tps | 4 ++-- source/install.sql | 4 ++-- source/install_above_12_1.sql | 4 ++-- source/install_component.sql | 4 ++-- source/install_ddl_trigger.sql | 4 ++-- source/install_headless.sql | 4 ++-- source/install_headless_with_trigger.sql | 4 ++-- source/reporters/ut_ansiconsole_helper.pkb | 4 ++-- source/reporters/ut_ansiconsole_helper.pks | 4 ++-- source/reporters/ut_coverage_cobertura_reporter.tpb | 4 ++-- source/reporters/ut_coverage_cobertura_reporter.tps | 4 ++-- source/reporters/ut_coverage_html_reporter.tpb | 4 ++-- source/reporters/ut_coverage_html_reporter.tps | 4 ++-- source/reporters/ut_coverage_report_html_helper.pkb | 4 ++-- source/reporters/ut_coverage_report_html_helper.pks | 4 ++-- source/reporters/ut_coverage_sonar_reporter.tpb | 4 ++-- source/reporters/ut_coverage_sonar_reporter.tps | 4 ++-- source/reporters/ut_debug_reporter.tpb | 4 ++-- source/reporters/ut_debug_reporter.tps | 4 ++-- source/reporters/ut_documentation_reporter.tpb | 4 ++-- source/reporters/ut_documentation_reporter.tps | 4 ++-- source/reporters/ut_junit_reporter.tpb | 4 ++-- source/reporters/ut_junit_reporter.tps | 4 ++-- source/reporters/ut_realtime_reporter.tpb | 4 ++-- source/reporters/ut_realtime_reporter.tps | 4 ++-- source/reporters/ut_sonar_test_reporter.tpb | 4 ++-- source/reporters/ut_sonar_test_reporter.tps | 4 ++-- source/reporters/ut_tap_reporter.tpb | 4 ++-- source/reporters/ut_tap_reporter.tps | 4 ++-- source/reporters/ut_teamcity_reporter.tpb | 4 ++-- source/reporters/ut_teamcity_reporter.tps | 4 ++-- source/reporters/ut_teamcity_reporter_helper.pkb | 4 ++-- source/reporters/ut_teamcity_reporter_helper.pks | 4 ++-- source/reporters/ut_tfs_junit_reporter.tpb | 4 ++-- source/reporters/ut_tfs_junit_reporter.tps | 4 ++-- source/reporters/ut_xunit_reporter.tpb | 4 ++-- source/reporters/ut_xunit_reporter.tps | 4 ++-- source/set_install_params.sql | 4 ++-- source/uninstall.sql | 4 ++-- source/uninstall_all.sql | 4 ++-- source/uninstall_coverage_tables.sql | 4 ++-- source/uninstall_objects.sql | 4 ++-- source/uninstall_synonyms.sql | 4 ++-- 300 files changed, 601 insertions(+), 601 deletions(-) diff --git a/LICENSE b/LICENSE index 640d46628..0cc83a7bb 100644 --- a/LICENSE +++ b/LICENSE @@ -187,9 +187,9 @@ same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright 2016 - 2019 utPLSQL Project + Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): + Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/examples/custom_reporters/ut_expectations_reporter.tpb b/examples/custom_reporters/ut_expectations_reporter.tpb index af9cceb28..6ea5f1cda 100644 --- a/examples/custom_reporters/ut_expectations_reporter.tpb +++ b/examples/custom_reporters/ut_expectations_reporter.tpb @@ -1,10 +1,10 @@ create or replace type body ut_expectations_reporter is /* utPLSQL - Version 3 - Copyright 2016 - 2020 utPLSQL Project + Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/examples/custom_reporters/ut_expectations_reporter.tps b/examples/custom_reporters/ut_expectations_reporter.tps index a4238c302..9095051cd 100644 --- a/examples/custom_reporters/ut_expectations_reporter.tps +++ b/examples/custom_reporters/ut_expectations_reporter.tps @@ -1,10 +1,10 @@ create or replace type ut_expectations_reporter under ut_documentation_reporter( /* utPLSQL - Version 3 - Copyright 2016 - 2020 utPLSQL Project + Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/mkdocs.yml b/mkdocs.yml index 72eebaa17..cb8b69e63 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -9,7 +9,7 @@ site_url: https://www.utplsql.org/ site_name: utPLSQL site_description: utPLSQL Ultimate Testing Framework for Oracle PL/SQL copyright: > - Copyright © 2016 - 2026 utPLSQL contributors. + Copyright © 2016 - 2026 utPLSQL Project. utPLSQL is stewarded by utPLSQL Development Labs Ltd. Change cookie settings repo_url: https://github.com/utPLSQL/utPLSQL diff --git a/mkdocs_offline.yml b/mkdocs_offline.yml index 49e986c95..a279d851b 100644 --- a/mkdocs_offline.yml +++ b/mkdocs_offline.yml @@ -8,7 +8,7 @@ edit_uri: "" site_url: https://www.utplsql.org/ site_name: utPLSQL-framework site_description: utPLSQL Ultimate Testing Framework for Oracle PL/SQL & SQL -copyright: Copyright © 2016 - 2026 utPLSQL contributors. utPLSQL is stewarded by utPLSQL Development Labs Ltd. +copyright: Copyright © 2016 - 2026 utPLSQL Project. utPLSQL is stewarded by utPLSQL Development Labs Ltd. #repo_url: https://github.com/utPLSQL/utPLSQL # disable for offline docs extra_css: - stylesheets/extra.css diff --git a/source/api/ut.pkb b/source/api/ut.pkb index 0a847cfaa..d2cd65f1d 100644 --- a/source/api/ut.pkb +++ b/source/api/ut.pkb @@ -4,8 +4,8 @@ create or replace noneditionable package body ut is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/api/ut.pks b/source/api/ut.pks index fdba6b019..2fb843f22 100644 --- a/source/api/ut.pks +++ b/source/api/ut.pks @@ -4,8 +4,8 @@ create or replace noneditionable package ut authid current_user as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/api/ut_runner.pkb b/source/api/ut_runner.pkb index 0db1d6e96..3366562af 100644 --- a/source/api/ut_runner.pkb +++ b/source/api/ut_runner.pkb @@ -4,8 +4,8 @@ create or replace noneditionable package body ut_runner is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/api/ut_runner.pks b/source/api/ut_runner.pks index 17bd0fa7a..6f73138ea 100644 --- a/source/api/ut_runner.pks +++ b/source/api/ut_runner.pks @@ -4,8 +4,8 @@ create or replace noneditionable package ut_runner authid current_user is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/api/ut_suite_item_info.tpb b/source/api/ut_suite_item_info.tpb index d18f078ee..7005ded37 100644 --- a/source/api/ut_suite_item_info.tpb +++ b/source/api/ut_suite_item_info.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_suite_item_info is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/api/ut_suite_item_info.tps b/source/api/ut_suite_item_info.tps index 4b4f9d52c..c6fdbeb72 100644 --- a/source/api/ut_suite_item_info.tps +++ b/source/api/ut_suite_item_info.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_suite_item_info as object ( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/api/ut_suite_items_info.tps b/source/api/ut_suite_items_info.tps index 5a04c9a74..ac0d52a93 100644 --- a/source/api/ut_suite_items_info.tps +++ b/source/api/ut_suite_items_info.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_suite_items_info as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/check_object_grants.sql b/source/check_object_grants.sql index 0e7a9b4c9..ba9d20c6e 100644 --- a/source/check_object_grants.sql +++ b/source/check_object_grants.sql @@ -2,8 +2,8 @@ utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/check_sys_grants.sql b/source/check_sys_grants.sql index f81157183..9e1a64e0b 100644 --- a/source/check_sys_grants.sql +++ b/source/check_sys_grants.sql @@ -2,8 +2,8 @@ utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/annotations/ut_annotated_object.tps b/source/core/annotations/ut_annotated_object.tps index ca327d7fc..a8b767212 100644 --- a/source/core/annotations/ut_annotated_object.tps +++ b/source/core/annotations/ut_annotated_object.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_annotated_object as object( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/annotations/ut_annotated_objects.tps b/source/core/annotations/ut_annotated_objects.tps index 2b338e7d9..fe8fc62f7 100644 --- a/source/core/annotations/ut_annotated_objects.tps +++ b/source/core/annotations/ut_annotated_objects.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_annotated_objects as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/annotations/ut_annotation.tps b/source/core/annotations/ut_annotation.tps index cc1f90e86..5b8208b8a 100644 --- a/source/core/annotations/ut_annotation.tps +++ b/source/core/annotations/ut_annotation.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_annotation as object( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/annotations/ut_annotation_cache.sql b/source/core/annotations/ut_annotation_cache.sql index 7d69b1db6..2ebcb245f 100644 --- a/source/core/annotations/ut_annotation_cache.sql +++ b/source/core/annotations/ut_annotation_cache.sql @@ -2,8 +2,8 @@ create table ut_annotation_cache ( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software diff --git a/source/core/annotations/ut_annotation_cache_info.sql b/source/core/annotations/ut_annotation_cache_info.sql index 6248f4fbc..d8d9ab663 100644 --- a/source/core/annotations/ut_annotation_cache_info.sql +++ b/source/core/annotations/ut_annotation_cache_info.sql @@ -2,8 +2,8 @@ create table ut_annotation_cache_info ( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software diff --git a/source/core/annotations/ut_annotation_cache_manager.pkb b/source/core/annotations/ut_annotation_cache_manager.pkb index afc473404..2917102c0 100644 --- a/source/core/annotations/ut_annotation_cache_manager.pkb +++ b/source/core/annotations/ut_annotation_cache_manager.pkb @@ -3,8 +3,8 @@ create or replace noneditionable package body ut_annotation_cache_manager as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/annotations/ut_annotation_cache_manager.pks b/source/core/annotations/ut_annotation_cache_manager.pks index 1aa4cb501..cfd9a0280 100644 --- a/source/core/annotations/ut_annotation_cache_manager.pks +++ b/source/core/annotations/ut_annotation_cache_manager.pks @@ -3,8 +3,8 @@ create or replace noneditionable package ut_annotation_cache_manager authid defi utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/annotations/ut_annotation_cache_schema.sql b/source/core/annotations/ut_annotation_cache_schema.sql index b8ebaa40b..46c49739d 100644 --- a/source/core/annotations/ut_annotation_cache_schema.sql +++ b/source/core/annotations/ut_annotation_cache_schema.sql @@ -2,8 +2,8 @@ create table ut_annotation_cache_schema ( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software diff --git a/source/core/annotations/ut_annotation_cache_seq.sql b/source/core/annotations/ut_annotation_cache_seq.sql index f0f1f17d7..0313abde5 100644 --- a/source/core/annotations/ut_annotation_cache_seq.sql +++ b/source/core/annotations/ut_annotation_cache_seq.sql @@ -2,8 +2,8 @@ create sequence ut_annotation_cache_seq /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software diff --git a/source/core/annotations/ut_annotation_manager.pkb b/source/core/annotations/ut_annotation_manager.pkb index b35f40075..4e1729beb 100644 --- a/source/core/annotations/ut_annotation_manager.pkb +++ b/source/core/annotations/ut_annotation_manager.pkb @@ -3,8 +3,8 @@ create or replace noneditionable package body ut_annotation_manager as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/annotations/ut_annotation_manager.pks b/source/core/annotations/ut_annotation_manager.pks index eedef002a..37809e88c 100644 --- a/source/core/annotations/ut_annotation_manager.pks +++ b/source/core/annotations/ut_annotation_manager.pks @@ -3,8 +3,8 @@ create or replace noneditionable package ut_annotation_manager authid current_us utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/annotations/ut_annotation_obj_cache_info.tps b/source/core/annotations/ut_annotation_obj_cache_info.tps index 5436a11ed..1e2d9d265 100644 --- a/source/core/annotations/ut_annotation_obj_cache_info.tps +++ b/source/core/annotations/ut_annotation_obj_cache_info.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_annotation_obj_cache_info as object( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/annotations/ut_annotation_objs_cache_info.tps b/source/core/annotations/ut_annotation_objs_cache_info.tps index c29b7d208..1e1d730b6 100644 --- a/source/core/annotations/ut_annotation_objs_cache_info.tps +++ b/source/core/annotations/ut_annotation_objs_cache_info.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_annotation_objs_cache_info as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/annotations/ut_annotation_parser.pkb b/source/core/annotations/ut_annotation_parser.pkb index 5680d3cd2..f7314c2a0 100644 --- a/source/core/annotations/ut_annotation_parser.pkb +++ b/source/core/annotations/ut_annotation_parser.pkb @@ -3,8 +3,8 @@ create or replace noneditionable package body ut_annotation_parser as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/annotations/ut_annotation_parser.pks b/source/core/annotations/ut_annotation_parser.pks index 3e0eaf84c..84d54df81 100644 --- a/source/core/annotations/ut_annotation_parser.pks +++ b/source/core/annotations/ut_annotation_parser.pks @@ -3,8 +3,8 @@ create or replace noneditionable package ut_annotation_parser authid current_use utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/annotations/ut_annotations.tps b/source/core/annotations/ut_annotations.tps index 9e4adc5ae..2295dc797 100644 --- a/source/core/annotations/ut_annotations.tps +++ b/source/core/annotations/ut_annotations.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_annotations utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/annotations/ut_trigger_annotation_parsing.trg b/source/core/annotations/ut_trigger_annotation_parsing.trg index 75caea5e8..60d1fec16 100644 --- a/source/core/annotations/ut_trigger_annotation_parsing.trg +++ b/source/core/annotations/ut_trigger_annotation_parsing.trg @@ -6,8 +6,8 @@ begin utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/annotations/ut_trigger_check.pkb b/source/core/annotations/ut_trigger_check.pkb index 463243c5e..c9b5172f7 100644 --- a/source/core/annotations/ut_trigger_check.pkb +++ b/source/core/annotations/ut_trigger_check.pkb @@ -3,8 +3,8 @@ create or replace noneditionable package body ut_trigger_check is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/annotations/ut_trigger_check.pks b/source/core/annotations/ut_trigger_check.pks index dae59f3aa..a473c859b 100644 --- a/source/core/annotations/ut_trigger_check.pks +++ b/source/core/annotations/ut_trigger_check.pks @@ -3,8 +3,8 @@ create or replace noneditionable package ut_trigger_check authid definer is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/coverage/ut_coverage.pkb b/source/core/coverage/ut_coverage.pkb index be9b4ad5d..9f5649ac1 100644 --- a/source/core/coverage/ut_coverage.pkb +++ b/source/core/coverage/ut_coverage.pkb @@ -3,8 +3,8 @@ create or replace noneditionable package body ut_coverage is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/coverage/ut_coverage.pks b/source/core/coverage/ut_coverage.pks index b8bc4e169..f777fde4e 100644 --- a/source/core/coverage/ut_coverage.pks +++ b/source/core/coverage/ut_coverage.pks @@ -3,8 +3,8 @@ create or replace noneditionable package ut_coverage authid current_user is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/coverage/ut_coverage_block.pkb b/source/core/coverage/ut_coverage_block.pkb index bfdf13274..9ca4caff4 100644 --- a/source/core/coverage/ut_coverage_block.pkb +++ b/source/core/coverage/ut_coverage_block.pkb @@ -3,8 +3,8 @@ create or replace noneditionable package body ut_coverage_block is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/coverage/ut_coverage_block.pks b/source/core/coverage/ut_coverage_block.pks index 9fccb3272..68451e1ed 100644 --- a/source/core/coverage/ut_coverage_block.pks +++ b/source/core/coverage/ut_coverage_block.pks @@ -3,8 +3,8 @@ create or replace noneditionable package ut_coverage_block authid current_user i utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/coverage/ut_coverage_helper.pkb b/source/core/coverage/ut_coverage_helper.pkb index ed1bea2ce..555c12fa4 100644 --- a/source/core/coverage/ut_coverage_helper.pkb +++ b/source/core/coverage/ut_coverage_helper.pkb @@ -3,8 +3,8 @@ create or replace noneditionable package body ut_coverage_helper is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/coverage/ut_coverage_helper.pks b/source/core/coverage/ut_coverage_helper.pks index 11988d935..3b51bddb3 100644 --- a/source/core/coverage/ut_coverage_helper.pks +++ b/source/core/coverage/ut_coverage_helper.pks @@ -3,8 +3,8 @@ create or replace noneditionable package ut_coverage_helper authid definer is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/coverage/ut_coverage_helper_block.pkb b/source/core/coverage/ut_coverage_helper_block.pkb index 3abbd54fc..ec4b9d04b 100644 --- a/source/core/coverage/ut_coverage_helper_block.pkb +++ b/source/core/coverage/ut_coverage_helper_block.pkb @@ -3,8 +3,8 @@ create or replace noneditionable package body ut_coverage_helper_block is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/coverage/ut_coverage_helper_block.pks b/source/core/coverage/ut_coverage_helper_block.pks index dd8c451d7..0bef1ebce 100644 --- a/source/core/coverage/ut_coverage_helper_block.pks +++ b/source/core/coverage/ut_coverage_helper_block.pks @@ -3,8 +3,8 @@ create or replace noneditionable package ut_coverage_helper_block authid current utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/coverage/ut_coverage_helper_profiler.pkb b/source/core/coverage/ut_coverage_helper_profiler.pkb index f98631593..f1c9ab921 100644 --- a/source/core/coverage/ut_coverage_helper_profiler.pkb +++ b/source/core/coverage/ut_coverage_helper_profiler.pkb @@ -3,8 +3,8 @@ create or replace noneditionable package body ut_coverage_helper_profiler is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/coverage/ut_coverage_helper_profiler.pks b/source/core/coverage/ut_coverage_helper_profiler.pks index ca2a44a64..841235080 100644 --- a/source/core/coverage/ut_coverage_helper_profiler.pks +++ b/source/core/coverage/ut_coverage_helper_profiler.pks @@ -3,8 +3,8 @@ create or replace noneditionable package ut_coverage_helper_profiler authid defi utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/coverage/ut_coverage_profiler.pkb b/source/core/coverage/ut_coverage_profiler.pkb index 4e874dabf..1bd037083 100644 --- a/source/core/coverage/ut_coverage_profiler.pkb +++ b/source/core/coverage/ut_coverage_profiler.pkb @@ -3,8 +3,8 @@ create or replace noneditionable package body ut_coverage_profiler is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/coverage/ut_coverage_profiler.pks b/source/core/coverage/ut_coverage_profiler.pks index 788005e15..4cdab2ae1 100644 --- a/source/core/coverage/ut_coverage_profiler.pks +++ b/source/core/coverage/ut_coverage_profiler.pks @@ -3,8 +3,8 @@ create or replace noneditionable package ut_coverage_profiler authid current_use utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/coverage/ut_coverage_reporter_base.tpb b/source/core/coverage/ut_coverage_reporter_base.tpb index e86af3795..70d27afc3 100644 --- a/source/core/coverage/ut_coverage_reporter_base.tpb +++ b/source/core/coverage/ut_coverage_reporter_base.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_coverage_reporter_base is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/coverage/ut_coverage_reporter_base.tps b/source/core/coverage/ut_coverage_reporter_base.tps index c4afe389b..3de89e8bb 100644 --- a/source/core/coverage/ut_coverage_reporter_base.tps +++ b/source/core/coverage/ut_coverage_reporter_base.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_coverage_reporter_base under ut_output_ utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/coverage/ut_coverage_sources_tmp.sql b/source/core/coverage/ut_coverage_sources_tmp.sql index 35eb05510..90fe38171 100644 --- a/source/core/coverage/ut_coverage_sources_tmp.sql +++ b/source/core/coverage/ut_coverage_sources_tmp.sql @@ -2,8 +2,8 @@ create global temporary table ut_coverage_sources_tmp( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software diff --git a/source/core/events/ut_event_item.tps b/source/core/events/ut_event_item.tps index d9e1b84fc..28391a8d2 100644 --- a/source/core/events/ut_event_item.tps +++ b/source/core/events/ut_event_item.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_event_item authid current_user as objec utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/events/ut_event_listener.tps b/source/core/events/ut_event_listener.tps index 7236fd512..c16d00065 100644 --- a/source/core/events/ut_event_listener.tps +++ b/source/core/events/ut_event_listener.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_event_listener authid current_user as o utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/events/ut_event_manager.pkb b/source/core/events/ut_event_manager.pkb index 50c500d13..bbc342a1f 100644 --- a/source/core/events/ut_event_manager.pkb +++ b/source/core/events/ut_event_manager.pkb @@ -3,8 +3,8 @@ create or replace noneditionable package body ut_event_manager as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/events/ut_event_manager.pks b/source/core/events/ut_event_manager.pks index 08db7f5da..d6480b83f 100644 --- a/source/core/events/ut_event_manager.pks +++ b/source/core/events/ut_event_manager.pks @@ -3,8 +3,8 @@ create or replace noneditionable package ut_event_manager authid current_user as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/output_buffers/ut_output_buffer_base.tpb b/source/core/output_buffers/ut_output_buffer_base.tpb index 8b9c236ef..5ce32eb23 100644 --- a/source/core/output_buffers/ut_output_buffer_base.tpb +++ b/source/core/output_buffers/ut_output_buffer_base.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_output_buffer_base is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/output_buffers/ut_output_buffer_base.tps b/source/core/output_buffers/ut_output_buffer_base.tps index da2bc9143..e2d1c6731 100644 --- a/source/core/output_buffers/ut_output_buffer_base.tps +++ b/source/core/output_buffers/ut_output_buffer_base.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_output_buffer_base force authid definer utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/output_buffers/ut_output_buffer_info_tmp.sql b/source/core/output_buffers/ut_output_buffer_info_tmp.sql index 2aba5a55c..b8bb10095 100644 --- a/source/core/output_buffers/ut_output_buffer_info_tmp.sql +++ b/source/core/output_buffers/ut_output_buffer_info_tmp.sql @@ -2,8 +2,8 @@ create table ut_output_buffer_info_tmp( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software diff --git a/source/core/output_buffers/ut_output_buffer_tmp.sql b/source/core/output_buffers/ut_output_buffer_tmp.sql index 68b738d3f..535246bde 100644 --- a/source/core/output_buffers/ut_output_buffer_tmp.sql +++ b/source/core/output_buffers/ut_output_buffer_tmp.sql @@ -2,8 +2,8 @@ create table ut_output_buffer_tmp( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software diff --git a/source/core/output_buffers/ut_output_bulk_buffer.tpb b/source/core/output_buffers/ut_output_bulk_buffer.tpb index 4f6698eaf..bd5b66339 100644 --- a/source/core/output_buffers/ut_output_bulk_buffer.tpb +++ b/source/core/output_buffers/ut_output_bulk_buffer.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_output_bulk_buffer is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/output_buffers/ut_output_bulk_buffer.tps b/source/core/output_buffers/ut_output_bulk_buffer.tps index 538bc12a5..7534e8fa8 100644 --- a/source/core/output_buffers/ut_output_bulk_buffer.tps +++ b/source/core/output_buffers/ut_output_bulk_buffer.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_output_bulk_buffer under ut_output_buff utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/output_buffers/ut_output_clob_buffer_tmp.sql b/source/core/output_buffers/ut_output_clob_buffer_tmp.sql index fa61191ce..d8b3b8db9 100644 --- a/source/core/output_buffers/ut_output_clob_buffer_tmp.sql +++ b/source/core/output_buffers/ut_output_clob_buffer_tmp.sql @@ -7,8 +7,8 @@ begin /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software diff --git a/source/core/output_buffers/ut_output_clob_table_buffer.tpb b/source/core/output_buffers/ut_output_clob_table_buffer.tpb index f6d7c9a66..91dd10e29 100644 --- a/source/core/output_buffers/ut_output_clob_table_buffer.tpb +++ b/source/core/output_buffers/ut_output_clob_table_buffer.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_output_clob_table_buffer is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/output_buffers/ut_output_clob_table_buffer.tps b/source/core/output_buffers/ut_output_clob_table_buffer.tps index b254c1f47..22d6ac227 100644 --- a/source/core/output_buffers/ut_output_clob_table_buffer.tps +++ b/source/core/output_buffers/ut_output_clob_table_buffer.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_output_clob_table_buffer under ut_outpu utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/output_buffers/ut_output_data_row.tps b/source/core/output_buffers/ut_output_data_row.tps index 2eed2ee1f..a8f0743ee 100644 --- a/source/core/output_buffers/ut_output_data_row.tps +++ b/source/core/output_buffers/ut_output_data_row.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_output_data_row as object ( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/output_buffers/ut_output_data_rows.tps b/source/core/output_buffers/ut_output_data_rows.tps index a10440617..6067e0d3b 100644 --- a/source/core/output_buffers/ut_output_data_rows.tps +++ b/source/core/output_buffers/ut_output_data_rows.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_output_data_rows as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/output_buffers/ut_output_table_buffer.tpb b/source/core/output_buffers/ut_output_table_buffer.tpb index d87362572..a4ea2be8d 100644 --- a/source/core/output_buffers/ut_output_table_buffer.tpb +++ b/source/core/output_buffers/ut_output_table_buffer.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_output_table_buffer is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/output_buffers/ut_output_table_buffer.tps b/source/core/output_buffers/ut_output_table_buffer.tps index 3f13e736d..06e157d90 100644 --- a/source/core/output_buffers/ut_output_table_buffer.tps +++ b/source/core/output_buffers/ut_output_table_buffer.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_output_table_buffer under ut_output_buf utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/session_context/ut_session_context.pkb b/source/core/session_context/ut_session_context.pkb index 12d104eed..2db83506e 100644 --- a/source/core/session_context/ut_session_context.pkb +++ b/source/core/session_context/ut_session_context.pkb @@ -3,8 +3,8 @@ create or replace noneditionable package body ut_session_context as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/session_context/ut_session_context.pks b/source/core/session_context/ut_session_context.pks index a5e4038a0..1221bccda 100644 --- a/source/core/session_context/ut_session_context.pks +++ b/source/core/session_context/ut_session_context.pks @@ -3,8 +3,8 @@ create or replace noneditionable package ut_session_context as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/session_context/ut_session_info.tpb b/source/core/session_context/ut_session_info.tpb index 14f52b003..fd1b80069 100644 --- a/source/core/session_context/ut_session_info.tpb +++ b/source/core/session_context/ut_session_info.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_session_info as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/session_context/ut_session_info.tps b/source/core/session_context/ut_session_info.tps index d682a6bad..741d6cb59 100644 --- a/source/core/session_context/ut_session_info.tps +++ b/source/core/session_context/ut_session_info.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_session_info under ut_event_listener ( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_console_reporter_base.tpb b/source/core/types/ut_console_reporter_base.tpb index 0825b8ba2..635a4d456 100644 --- a/source/core/types/ut_console_reporter_base.tpb +++ b/source/core/types/ut_console_reporter_base.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_console_reporter_base is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_console_reporter_base.tps b/source/core/types/ut_console_reporter_base.tps index 46b344e6e..d23c6d9e4 100644 --- a/source/core/types/ut_console_reporter_base.tps +++ b/source/core/types/ut_console_reporter_base.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_console_reporter_base under ut_output_r utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_coverage_options.tpb b/source/core/types/ut_coverage_options.tpb index 2accd960a..f4e07bf9b 100644 --- a/source/core/types/ut_coverage_options.tpb +++ b/source/core/types/ut_coverage_options.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_coverage_options as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_coverage_options.tps b/source/core/types/ut_coverage_options.tps index f2db1dafe..81a04101f 100644 --- a/source/core/types/ut_coverage_options.tps +++ b/source/core/types/ut_coverage_options.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_coverage_options force as object ( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_executable.tpb b/source/core/types/ut_executable.tpb index 2fa3c1b5d..5d454989d 100644 --- a/source/core/types/ut_executable.tpb +++ b/source/core/types/ut_executable.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_executable is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_executable.tps b/source/core/types/ut_executable.tps index 0945a8996..4e263402d 100644 --- a/source/core/types/ut_executable.tps +++ b/source/core/types/ut_executable.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_executable under ut_event_item( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_executable_test.tpb b/source/core/types/ut_executable_test.tpb index 8e48bd70a..06851a007 100644 --- a/source/core/types/ut_executable_test.tpb +++ b/source/core/types/ut_executable_test.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_executable_test as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_executable_test.tps b/source/core/types/ut_executable_test.tps index d477456f6..2f9a5f236 100644 --- a/source/core/types/ut_executable_test.tps +++ b/source/core/types/ut_executable_test.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_executable_test authid current_user und utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_executables.tps b/source/core/types/ut_executables.tps index 7718c44b8..fb08b287d 100644 --- a/source/core/types/ut_executables.tps +++ b/source/core/types/ut_executables.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_executables as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_expectation_result.tpb b/source/core/types/ut_expectation_result.tpb index 3ffd11789..b98853efc 100644 --- a/source/core/types/ut_expectation_result.tpb +++ b/source/core/types/ut_expectation_result.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_expectation_result is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_expectation_result.tps b/source/core/types/ut_expectation_result.tps index e7eedd5ce..5fc296bfe 100644 --- a/source/core/types/ut_expectation_result.tps +++ b/source/core/types/ut_expectation_result.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_expectation_result under ut_event_item( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_expectation_results.tps b/source/core/types/ut_expectation_results.tps index 168941112..361bb8669 100644 --- a/source/core/types/ut_expectation_results.tps +++ b/source/core/types/ut_expectation_results.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_expectation_results as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_file_mapping.tpb b/source/core/types/ut_file_mapping.tpb index d693ac633..4286bb171 100644 --- a/source/core/types/ut_file_mapping.tpb +++ b/source/core/types/ut_file_mapping.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_file_mapping as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_file_mapping.tps b/source/core/types/ut_file_mapping.tps index d28ef40ae..bd048a218 100644 --- a/source/core/types/ut_file_mapping.tps +++ b/source/core/types/ut_file_mapping.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_file_mapping as object( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_file_mappings.tps b/source/core/types/ut_file_mappings.tps index 715530ee0..8ad94d2ec 100644 --- a/source/core/types/ut_file_mappings.tps +++ b/source/core/types/ut_file_mappings.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_file_mappings as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_integer_list.tps b/source/core/types/ut_integer_list.tps index b15cf743c..86316e630 100644 --- a/source/core/types/ut_integer_list.tps +++ b/source/core/types/ut_integer_list.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_integer_list as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_key_value_pair.tps b/source/core/types/ut_key_value_pair.tps index e26fff031..0082affd3 100644 --- a/source/core/types/ut_key_value_pair.tps +++ b/source/core/types/ut_key_value_pair.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_key_value_pair force as object( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_key_value_pairs.tps b/source/core/types/ut_key_value_pairs.tps index d9e829dc9..4b76438d4 100644 --- a/source/core/types/ut_key_value_pairs.tps +++ b/source/core/types/ut_key_value_pairs.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_key_value_pairs as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_logical_suite.tpb b/source/core/types/ut_logical_suite.tpb index c91320d8a..47a154399 100644 --- a/source/core/types/ut_logical_suite.tpb +++ b/source/core/types/ut_logical_suite.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_logical_suite as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_logical_suite.tps b/source/core/types/ut_logical_suite.tps index 245c422a1..5993ee4f8 100644 --- a/source/core/types/ut_logical_suite.tps +++ b/source/core/types/ut_logical_suite.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_logical_suite force under ut_suite_item utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_object_name.tpb b/source/core/types/ut_object_name.tpb index 67834a9ed..ce5d3b052 100644 --- a/source/core/types/ut_object_name.tpb +++ b/source/core/types/ut_object_name.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_object_name as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_object_name.tps b/source/core/types/ut_object_name.tps index 7f6341a32..23ab1b161 100644 --- a/source/core/types/ut_object_name.tps +++ b/source/core/types/ut_object_name.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_object_name as object ( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_object_names.tps b/source/core/types/ut_object_names.tps index 879493a63..10159fbbb 100644 --- a/source/core/types/ut_object_names.tps +++ b/source/core/types/ut_object_names.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_object_names as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_output_reporter_base.tpb b/source/core/types/ut_output_reporter_base.tpb index 4553f1780..4857036a6 100644 --- a/source/core/types/ut_output_reporter_base.tpb +++ b/source/core/types/ut_output_reporter_base.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_output_reporter_base is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_output_reporter_base.tps b/source/core/types/ut_output_reporter_base.tps index b9ec4f7cd..585069cf7 100644 --- a/source/core/types/ut_output_reporter_base.tps +++ b/source/core/types/ut_output_reporter_base.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_output_reporter_base under ut_reporter_ utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_path_item.tpb b/source/core/types/ut_path_item.tpb index 486fde865..3d85c4e3e 100644 --- a/source/core/types/ut_path_item.tpb +++ b/source/core/types/ut_path_item.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_path_item as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_path_item.tps b/source/core/types/ut_path_item.tps index fdc1e8ac2..e90cf6099 100644 --- a/source/core/types/ut_path_item.tps +++ b/source/core/types/ut_path_item.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_path_item as object ( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_path_items.tps b/source/core/types/ut_path_items.tps index 64f8dd5fe..0cf12fa1a 100644 --- a/source/core/types/ut_path_items.tps +++ b/source/core/types/ut_path_items.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_path_items as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_reporter_base.tpb b/source/core/types/ut_reporter_base.tpb index e457645f4..5dca1db44 100644 --- a/source/core/types/ut_reporter_base.tpb +++ b/source/core/types/ut_reporter_base.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_reporter_base is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_reporter_base.tps b/source/core/types/ut_reporter_base.tps index af0472dc5..f90162791 100644 --- a/source/core/types/ut_reporter_base.tps +++ b/source/core/types/ut_reporter_base.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_reporter_base under ut_event_listener ( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_reporter_info.tps b/source/core/types/ut_reporter_info.tps index 29c7559f1..6f7219f7c 100644 --- a/source/core/types/ut_reporter_info.tps +++ b/source/core/types/ut_reporter_info.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_reporter_info as object ( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_reporters.tps b/source/core/types/ut_reporters.tps index fba22480f..d47240e8b 100644 --- a/source/core/types/ut_reporters.tps +++ b/source/core/types/ut_reporters.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_reporters as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_reporters_info.tps b/source/core/types/ut_reporters_info.tps index 4f6f054a3..b100789df 100644 --- a/source/core/types/ut_reporters_info.tps +++ b/source/core/types/ut_reporters_info.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_reporters_info as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_results_counter.tpb b/source/core/types/ut_results_counter.tpb index 54f9e0b48..64be5d5a4 100644 --- a/source/core/types/ut_results_counter.tpb +++ b/source/core/types/ut_results_counter.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_results_counter as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_results_counter.tps b/source/core/types/ut_results_counter.tps index 477d4b217..d53d37e21 100644 --- a/source/core/types/ut_results_counter.tps +++ b/source/core/types/ut_results_counter.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_results_counter as object( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_run.tpb b/source/core/types/ut_run.tpb index 80621b5ad..1e70a2fc4 100644 --- a/source/core/types/ut_run.tpb +++ b/source/core/types/ut_run.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_run as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_run.tps b/source/core/types/ut_run.tps index 551e56ac4..f55a84dda 100644 --- a/source/core/types/ut_run.tps +++ b/source/core/types/ut_run.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_run under ut_suite_item ( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_run_info.tpb b/source/core/types/ut_run_info.tpb index 3de74b2b4..509960b05 100644 --- a/source/core/types/ut_run_info.tpb +++ b/source/core/types/ut_run_info.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_run_info as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 @@ -12,7 +12,7 @@ create or replace noneditionable type body ut_run_info as Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions andTEST_GET_REPORTERS_LIST + See the License for the specific language governing permissions and limitations under the License. */ constructor function ut_run_info(self in out nocopy ut_run_info) return self as result is diff --git a/source/core/types/ut_run_info.tps b/source/core/types/ut_run_info.tps index 00919b172..b8ad8c55b 100644 --- a/source/core/types/ut_run_info.tps +++ b/source/core/types/ut_run_info.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_run_info under ut_event_item ( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_stack.tpb b/source/core/types/ut_stack.tpb index 4298ae35c..40ba8982b 100644 --- a/source/core/types/ut_stack.tpb +++ b/source/core/types/ut_stack.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_stack as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_stack.tps b/source/core/types/ut_stack.tps index ed79bea55..9356c4eb2 100644 --- a/source/core/types/ut_stack.tps +++ b/source/core/types/ut_stack.tps @@ -5,8 +5,8 @@ create or replace noneditionable type ut_stack as object ( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_suite.tpb b/source/core/types/ut_suite.tpb index b4e3eabf0..7012dee97 100644 --- a/source/core/types/ut_suite.tpb +++ b/source/core/types/ut_suite.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_suite as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_suite.tps b/source/core/types/ut_suite.tps index edce778f1..3ed0def80 100644 --- a/source/core/types/ut_suite.tps +++ b/source/core/types/ut_suite.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_suite under ut_logical_suite ( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_suite_cache_row.tps b/source/core/types/ut_suite_cache_row.tps index 1ee371a88..2293f9273 100644 --- a/source/core/types/ut_suite_cache_row.tps +++ b/source/core/types/ut_suite_cache_row.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_suite_cache_row as object ( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_suite_cache_rows.tps b/source/core/types/ut_suite_cache_rows.tps index 84bcc9f75..cb3b573eb 100644 --- a/source/core/types/ut_suite_cache_rows.tps +++ b/source/core/types/ut_suite_cache_rows.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_suite_cache_rows as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_suite_context.tpb b/source/core/types/ut_suite_context.tpb index dad24e42e..9221cb160 100644 --- a/source/core/types/ut_suite_context.tpb +++ b/source/core/types/ut_suite_context.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_suite_context as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_suite_context.tps b/source/core/types/ut_suite_context.tps index b890e2633..a60899f9b 100644 --- a/source/core/types/ut_suite_context.tps +++ b/source/core/types/ut_suite_context.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_suite_context under ut_suite ( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_suite_item.tpb b/source/core/types/ut_suite_item.tpb index 8e8c6fd90..01b9b0ee0 100644 --- a/source/core/types/ut_suite_item.tpb +++ b/source/core/types/ut_suite_item.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_suite_item as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_suite_item.tps b/source/core/types/ut_suite_item.tps index 2e990353f..556ff7f0b 100644 --- a/source/core/types/ut_suite_item.tps +++ b/source/core/types/ut_suite_item.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_suite_item force under ut_event_item ( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_suite_items.tps b/source/core/types/ut_suite_items.tps index b7ce9873c..fe11b732a 100644 --- a/source/core/types/ut_suite_items.tps +++ b/source/core/types/ut_suite_items.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_suite_items as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_test.tpb b/source/core/types/ut_test.tpb index 61a1e39f8..c3577274c 100644 --- a/source/core/types/ut_test.tpb +++ b/source/core/types/ut_test.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_test as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_test.tps b/source/core/types/ut_test.tps index cb50c2fd4..7590abc35 100644 --- a/source/core/types/ut_test.tps +++ b/source/core/types/ut_test.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_test force under ut_suite_item ( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_varchar2_list.tps b/source/core/types/ut_varchar2_list.tps index 8203a4bab..86c26d4de 100644 --- a/source/core/types/ut_varchar2_list.tps +++ b/source/core/types/ut_varchar2_list.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_varchar2_list as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/types/ut_varchar2_rows.tps b/source/core/types/ut_varchar2_rows.tps index a2e25e9fb..f34f990e6 100644 --- a/source/core/types/ut_varchar2_rows.tps +++ b/source/core/types/ut_varchar2_rows.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_varchar2_rows as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/ut_dbms_output_cache.sql b/source/core/ut_dbms_output_cache.sql index 802f30942..344afc7aa 100644 --- a/source/core/ut_dbms_output_cache.sql +++ b/source/core/ut_dbms_output_cache.sql @@ -2,8 +2,8 @@ utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software diff --git a/source/core/ut_expectation_processor.pkb b/source/core/ut_expectation_processor.pkb index 3fb39a5b9..ab8a5f3f5 100644 --- a/source/core/ut_expectation_processor.pkb +++ b/source/core/ut_expectation_processor.pkb @@ -3,8 +3,8 @@ create or replace noneditionable package body ut_expectation_processor as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/ut_expectation_processor.pks b/source/core/ut_expectation_processor.pks index 5349ee70a..8d19becce 100644 --- a/source/core/ut_expectation_processor.pks +++ b/source/core/ut_expectation_processor.pks @@ -3,8 +3,8 @@ create or replace noneditionable package ut_expectation_processor authid current utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/ut_file_mapper.pkb b/source/core/ut_file_mapper.pkb index 40204a5da..8cb3f3911 100644 --- a/source/core/ut_file_mapper.pkb +++ b/source/core/ut_file_mapper.pkb @@ -3,8 +3,8 @@ create or replace noneditionable package body ut_file_mapper is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/ut_file_mapper.pks b/source/core/ut_file_mapper.pks index 1363e81ec..e1ce48a54 100644 --- a/source/core/ut_file_mapper.pks +++ b/source/core/ut_file_mapper.pks @@ -3,8 +3,8 @@ create or replace noneditionable package ut_file_mapper authid current_user is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/ut_metadata.pkb b/source/core/ut_metadata.pkb index d9939ad45..7c89dc5ef 100644 --- a/source/core/ut_metadata.pkb +++ b/source/core/ut_metadata.pkb @@ -3,8 +3,8 @@ create or replace noneditionable package body ut_metadata as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/ut_metadata.pks b/source/core/ut_metadata.pks index 42f136504..f320e7bf8 100644 --- a/source/core/ut_metadata.pks +++ b/source/core/ut_metadata.pks @@ -3,8 +3,8 @@ create or replace noneditionable package ut_metadata authid current_user as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/ut_savepoint_seq.sql b/source/core/ut_savepoint_seq.sql index 2026ab0e3..393c2419a 100644 --- a/source/core/ut_savepoint_seq.sql +++ b/source/core/ut_savepoint_seq.sql @@ -2,8 +2,8 @@ create sequence ut_savepoint_seq /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software diff --git a/source/core/ut_suite_builder.pkb b/source/core/ut_suite_builder.pkb index 4f0e28606..0c9bbc982 100644 --- a/source/core/ut_suite_builder.pkb +++ b/source/core/ut_suite_builder.pkb @@ -3,8 +3,8 @@ create or replace noneditionable package body ut_suite_builder is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/ut_suite_builder.pks b/source/core/ut_suite_builder.pks index 35f207ea4..31b76e2c6 100644 --- a/source/core/ut_suite_builder.pks +++ b/source/core/ut_suite_builder.pks @@ -3,8 +3,8 @@ create or replace noneditionable package ut_suite_builder authid current_user is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/ut_suite_cache.sql b/source/core/ut_suite_cache.sql index 1d7389e9f..296851a10 100644 --- a/source/core/ut_suite_cache.sql +++ b/source/core/ut_suite_cache.sql @@ -2,8 +2,8 @@ create table ut_suite_cache /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software diff --git a/source/core/ut_suite_cache_manager.pkb b/source/core/ut_suite_cache_manager.pkb index 9aa3cf63d..efbd6e91e 100644 --- a/source/core/ut_suite_cache_manager.pkb +++ b/source/core/ut_suite_cache_manager.pkb @@ -3,8 +3,8 @@ create or replace noneditionable package body ut_suite_cache_manager is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/ut_suite_cache_manager.pks b/source/core/ut_suite_cache_manager.pks index 6ac1d7bd6..6253f391e 100644 --- a/source/core/ut_suite_cache_manager.pks +++ b/source/core/ut_suite_cache_manager.pks @@ -3,8 +3,8 @@ create or replace noneditionable package ut_suite_cache_manager authid definer i utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/ut_suite_cache_package.sql b/source/core/ut_suite_cache_package.sql index 40b7b8dec..1f05c633f 100644 --- a/source/core/ut_suite_cache_package.sql +++ b/source/core/ut_suite_cache_package.sql @@ -2,8 +2,8 @@ create table ut_suite_cache_package ( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software diff --git a/source/core/ut_suite_cache_schema.sql b/source/core/ut_suite_cache_schema.sql index cace332e3..a49b92f7e 100644 --- a/source/core/ut_suite_cache_schema.sql +++ b/source/core/ut_suite_cache_schema.sql @@ -2,8 +2,8 @@ create table ut_suite_cache_schema ( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software diff --git a/source/core/ut_suite_cache_seq.sql b/source/core/ut_suite_cache_seq.sql index 020c25c4d..ce7b5d19a 100644 --- a/source/core/ut_suite_cache_seq.sql +++ b/source/core/ut_suite_cache_seq.sql @@ -2,8 +2,8 @@ create sequence ut_suite_cache_seq /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software diff --git a/source/core/ut_suite_manager.pkb b/source/core/ut_suite_manager.pkb index fa60be59e..080c8d05c 100644 --- a/source/core/ut_suite_manager.pkb +++ b/source/core/ut_suite_manager.pkb @@ -3,8 +3,8 @@ create or replace noneditionable package body ut_suite_manager is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/ut_suite_manager.pks b/source/core/ut_suite_manager.pks index 60c3595bb..373ef1702 100644 --- a/source/core/ut_suite_manager.pks +++ b/source/core/ut_suite_manager.pks @@ -3,8 +3,8 @@ create or replace noneditionable package ut_suite_manager authid current_user is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/ut_suite_tag_filter.pkb b/source/core/ut_suite_tag_filter.pkb index 447ba47d5..870099ea4 100644 --- a/source/core/ut_suite_tag_filter.pkb +++ b/source/core/ut_suite_tag_filter.pkb @@ -3,8 +3,8 @@ create or replace noneditionable package body ut_suite_tag_filter is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/ut_suite_tag_filter.pks b/source/core/ut_suite_tag_filter.pks index bb3d4ad73..afb634014 100644 --- a/source/core/ut_suite_tag_filter.pks +++ b/source/core/ut_suite_tag_filter.pks @@ -3,8 +3,8 @@ create or replace noneditionable package ut_suite_tag_filter authid definer is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/ut_utils.pkb b/source/core/ut_utils.pkb index c8ced3bb9..865e9e17c 100644 --- a/source/core/ut_utils.pkb +++ b/source/core/ut_utils.pkb @@ -3,8 +3,8 @@ create or replace noneditionable package body ut_utils is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 36cfb9316..d64bf3a7e 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -3,8 +3,8 @@ create or replace noneditionable package ut_utils authid definer is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/create_grants.sql b/source/create_grants.sql index 9318a7220..6cc7f6b37 100644 --- a/source/create_grants.sql +++ b/source/create_grants.sql @@ -2,8 +2,8 @@ utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/create_synonyms.sql b/source/create_synonyms.sql index ab338f4f7..c862a389c 100644 --- a/source/create_synonyms.sql +++ b/source/create_synonyms.sql @@ -2,8 +2,8 @@ utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/create_synonyms_and_grants_for_public.sql b/source/create_synonyms_and_grants_for_public.sql index 25f14217e..572ed7d8f 100644 --- a/source/create_synonyms_and_grants_for_public.sql +++ b/source/create_synonyms_and_grants_for_public.sql @@ -2,8 +2,8 @@ utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/create_user_grants.sql b/source/create_user_grants.sql index c1b81efa4..60b2725b5 100644 --- a/source/create_user_grants.sql +++ b/source/create_user_grants.sql @@ -2,8 +2,8 @@ utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/create_user_synonyms.sql b/source/create_user_synonyms.sql index 7b0e49553..7fbc5b247 100644 --- a/source/create_user_synonyms.sql +++ b/source/create_user_synonyms.sql @@ -2,8 +2,8 @@ utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/create_utplsql_owner.sql b/source/create_utplsql_owner.sql index a5b70ffda..0720a0d06 100644 --- a/source/create_utplsql_owner.sql +++ b/source/create_utplsql_owner.sql @@ -2,8 +2,8 @@ utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/define_ut3_owner_param.sql b/source/define_ut3_owner_param.sql index 192e810b7..27fbfe705 100644 --- a/source/define_ut3_owner_param.sql +++ b/source/define_ut3_owner_param.sql @@ -2,8 +2,8 @@ utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_compound_data_diff_tmp.sql b/source/expectations/data_values/ut_compound_data_diff_tmp.sql index edd27f766..cffa5fd26 100644 --- a/source/expectations/data_values/ut_compound_data_diff_tmp.sql +++ b/source/expectations/data_values/ut_compound_data_diff_tmp.sql @@ -2,8 +2,8 @@ create global temporary table ut_compound_data_diff_tmp( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software diff --git a/source/expectations/data_values/ut_compound_data_helper.pkb b/source/expectations/data_values/ut_compound_data_helper.pkb index 763c133d7..ac429e408 100644 --- a/source/expectations/data_values/ut_compound_data_helper.pkb +++ b/source/expectations/data_values/ut_compound_data_helper.pkb @@ -3,8 +3,8 @@ create or replace noneditionable package body ut_compound_data_helper is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_compound_data_helper.pks b/source/expectations/data_values/ut_compound_data_helper.pks index 6069920c9..3c13c85e8 100644 --- a/source/expectations/data_values/ut_compound_data_helper.pks +++ b/source/expectations/data_values/ut_compound_data_helper.pks @@ -3,8 +3,8 @@ create or replace noneditionable package ut_compound_data_helper authid definer utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_compound_data_tmp.sql b/source/expectations/data_values/ut_compound_data_tmp.sql index 01cedd97b..902bf29fc 100644 --- a/source/expectations/data_values/ut_compound_data_tmp.sql +++ b/source/expectations/data_values/ut_compound_data_tmp.sql @@ -2,8 +2,8 @@ create global temporary table ut_compound_data_tmp( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software diff --git a/source/expectations/data_values/ut_compound_data_value.tpb b/source/expectations/data_values/ut_compound_data_value.tpb index 7db47827e..27c19455b 100644 --- a/source/expectations/data_values/ut_compound_data_value.tpb +++ b/source/expectations/data_values/ut_compound_data_value.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_compound_data_value as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_compound_data_value.tps b/source/expectations/data_values/ut_compound_data_value.tps index c84a59db6..6272e04a7 100644 --- a/source/expectations/data_values/ut_compound_data_value.tps +++ b/source/expectations/data_values/ut_compound_data_value.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_compound_data_value force under ut_data utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_cursor_column.tpb b/source/expectations/data_values/ut_cursor_column.tpb index 3513de23e..a3c5d9171 100644 --- a/source/expectations/data_values/ut_cursor_column.tpb +++ b/source/expectations/data_values/ut_cursor_column.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_cursor_column as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_cursor_column.tps b/source/expectations/data_values/ut_cursor_column.tps index fcf3fe002..45c14c154 100644 --- a/source/expectations/data_values/ut_cursor_column.tps +++ b/source/expectations/data_values/ut_cursor_column.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_cursor_column authid current_user as ob utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_cursor_column_tab.tps b/source/expectations/data_values/ut_cursor_column_tab.tps index 169ba3ce4..6dfe98824 100644 --- a/source/expectations/data_values/ut_cursor_column_tab.tps +++ b/source/expectations/data_values/ut_cursor_column_tab.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_cursor_column_tab as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_cursor_details.tpb b/source/expectations/data_values/ut_cursor_details.tpb index ff204e3bd..ae10cafff 100644 --- a/source/expectations/data_values/ut_cursor_details.tpb +++ b/source/expectations/data_values/ut_cursor_details.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_cursor_details as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_cursor_details.tps b/source/expectations/data_values/ut_cursor_details.tps index c50ed16d3..19f5b3f39 100644 --- a/source/expectations/data_values/ut_cursor_details.tps +++ b/source/expectations/data_values/ut_cursor_details.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_cursor_details authid current_user as o utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_data_value.tpb b/source/expectations/data_values/ut_data_value.tpb index 05eb3022e..a94e88660 100644 --- a/source/expectations/data_values/ut_data_value.tpb +++ b/source/expectations/data_values/ut_data_value.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_data_value as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_data_value.tps b/source/expectations/data_values/ut_data_value.tps index 6e362a56d..d5f00489e 100644 --- a/source/expectations/data_values/ut_data_value.tps +++ b/source/expectations/data_values/ut_data_value.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_data_value force authid current_user as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_data_value_anydata.tpb b/source/expectations/data_values/ut_data_value_anydata.tpb index 9fccb7582..6794beaa9 100644 --- a/source/expectations/data_values/ut_data_value_anydata.tpb +++ b/source/expectations/data_values/ut_data_value_anydata.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_data_value_anydata as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_data_value_anydata.tps b/source/expectations/data_values/ut_data_value_anydata.tps index 6ad692d31..3c56ce178 100644 --- a/source/expectations/data_values/ut_data_value_anydata.tps +++ b/source/expectations/data_values/ut_data_value_anydata.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_data_value_anydata under ut_data_value_ utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_data_value_blob.tpb b/source/expectations/data_values/ut_data_value_blob.tpb index c961ebaab..bf52d4056 100644 --- a/source/expectations/data_values/ut_data_value_blob.tpb +++ b/source/expectations/data_values/ut_data_value_blob.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_data_value_blob as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_data_value_blob.tps b/source/expectations/data_values/ut_data_value_blob.tps index 94124bfec..5c93a5fac 100644 --- a/source/expectations/data_values/ut_data_value_blob.tps +++ b/source/expectations/data_values/ut_data_value_blob.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_data_value_blob under ut_data_value( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_data_value_boolean.tpb b/source/expectations/data_values/ut_data_value_boolean.tpb index dd253442c..5a499afb6 100644 --- a/source/expectations/data_values/ut_data_value_boolean.tpb +++ b/source/expectations/data_values/ut_data_value_boolean.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_data_value_boolean as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_data_value_boolean.tps b/source/expectations/data_values/ut_data_value_boolean.tps index b6df4e0b4..35c05b384 100644 --- a/source/expectations/data_values/ut_data_value_boolean.tps +++ b/source/expectations/data_values/ut_data_value_boolean.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_data_value_boolean under ut_data_value( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_data_value_clob.tpb b/source/expectations/data_values/ut_data_value_clob.tpb index 76a55545e..6d5a9764d 100644 --- a/source/expectations/data_values/ut_data_value_clob.tpb +++ b/source/expectations/data_values/ut_data_value_clob.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_data_value_clob as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_data_value_clob.tps b/source/expectations/data_values/ut_data_value_clob.tps index 686757e85..8027e4481 100644 --- a/source/expectations/data_values/ut_data_value_clob.tps +++ b/source/expectations/data_values/ut_data_value_clob.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_data_value_clob under ut_data_value( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_data_value_date.tpb b/source/expectations/data_values/ut_data_value_date.tpb index 2a1232a1c..f6a588940 100644 --- a/source/expectations/data_values/ut_data_value_date.tpb +++ b/source/expectations/data_values/ut_data_value_date.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_data_value_date as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_data_value_date.tps b/source/expectations/data_values/ut_data_value_date.tps index 0bb9a17cf..7e3379f31 100644 --- a/source/expectations/data_values/ut_data_value_date.tps +++ b/source/expectations/data_values/ut_data_value_date.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_data_value_date under ut_data_value( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_data_value_dsinterval.tpb b/source/expectations/data_values/ut_data_value_dsinterval.tpb index adad0ef6d..a01766425 100644 --- a/source/expectations/data_values/ut_data_value_dsinterval.tpb +++ b/source/expectations/data_values/ut_data_value_dsinterval.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_data_value_dsinterval as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_data_value_dsinterval.tps b/source/expectations/data_values/ut_data_value_dsinterval.tps index 3d15e2e09..9fc81bb6a 100644 --- a/source/expectations/data_values/ut_data_value_dsinterval.tps +++ b/source/expectations/data_values/ut_data_value_dsinterval.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_data_value_dsinterval under ut_data_val utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_data_value_json.tpb b/source/expectations/data_values/ut_data_value_json.tpb index e1b5aa995..da4f3ac79 100644 --- a/source/expectations/data_values/ut_data_value_json.tpb +++ b/source/expectations/data_values/ut_data_value_json.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_data_value_json as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_data_value_json.tps b/source/expectations/data_values/ut_data_value_json.tps index c89088564..e8778051b 100644 --- a/source/expectations/data_values/ut_data_value_json.tps +++ b/source/expectations/data_values/ut_data_value_json.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_data_value_json under ut_compound_data_ utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_data_value_number.tpb b/source/expectations/data_values/ut_data_value_number.tpb index 3ea08bbd4..da17e51c9 100644 --- a/source/expectations/data_values/ut_data_value_number.tpb +++ b/source/expectations/data_values/ut_data_value_number.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_data_value_number as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_data_value_number.tps b/source/expectations/data_values/ut_data_value_number.tps index e7031de72..8bd590515 100644 --- a/source/expectations/data_values/ut_data_value_number.tps +++ b/source/expectations/data_values/ut_data_value_number.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_data_value_number under ut_data_value( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_data_value_refcursor.tpb b/source/expectations/data_values/ut_data_value_refcursor.tpb index b7f79ac52..01a71d4dd 100644 --- a/source/expectations/data_values/ut_data_value_refcursor.tpb +++ b/source/expectations/data_values/ut_data_value_refcursor.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_data_value_refcursor as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_data_value_refcursor.tps b/source/expectations/data_values/ut_data_value_refcursor.tps index 90a305d32..a32b01d2b 100644 --- a/source/expectations/data_values/ut_data_value_refcursor.tps +++ b/source/expectations/data_values/ut_data_value_refcursor.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_data_value_refcursor under ut_compound_ utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_data_value_timestamp.tpb b/source/expectations/data_values/ut_data_value_timestamp.tpb index c6aabf7a3..a7c289d2e 100644 --- a/source/expectations/data_values/ut_data_value_timestamp.tpb +++ b/source/expectations/data_values/ut_data_value_timestamp.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_data_value_timestamp as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_data_value_timestamp.tps b/source/expectations/data_values/ut_data_value_timestamp.tps index 938b0d63c..e73e85894 100644 --- a/source/expectations/data_values/ut_data_value_timestamp.tps +++ b/source/expectations/data_values/ut_data_value_timestamp.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_data_value_timestamp under ut_data_valu utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_data_value_timestamp_ltz.tpb b/source/expectations/data_values/ut_data_value_timestamp_ltz.tpb index 025314f4b..16a8fd0c8 100644 --- a/source/expectations/data_values/ut_data_value_timestamp_ltz.tpb +++ b/source/expectations/data_values/ut_data_value_timestamp_ltz.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_data_value_timestamp_ltz as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_data_value_timestamp_ltz.tps b/source/expectations/data_values/ut_data_value_timestamp_ltz.tps index e7c61a878..e2252efd4 100644 --- a/source/expectations/data_values/ut_data_value_timestamp_ltz.tps +++ b/source/expectations/data_values/ut_data_value_timestamp_ltz.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_data_value_timestamp_ltz under ut_data_ utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_data_value_timestamp_tz.tpb b/source/expectations/data_values/ut_data_value_timestamp_tz.tpb index 6af5fea4d..d3375079e 100644 --- a/source/expectations/data_values/ut_data_value_timestamp_tz.tpb +++ b/source/expectations/data_values/ut_data_value_timestamp_tz.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_data_value_timestamp_tz as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_data_value_timestamp_tz.tps b/source/expectations/data_values/ut_data_value_timestamp_tz.tps index ad190d197..e19b38ef4 100644 --- a/source/expectations/data_values/ut_data_value_timestamp_tz.tps +++ b/source/expectations/data_values/ut_data_value_timestamp_tz.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_data_value_timestamp_tz under ut_data_v utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_data_value_varchar2.tpb b/source/expectations/data_values/ut_data_value_varchar2.tpb index 7a26d7571..e54491401 100644 --- a/source/expectations/data_values/ut_data_value_varchar2.tpb +++ b/source/expectations/data_values/ut_data_value_varchar2.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_data_value_varchar2 as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_data_value_varchar2.tps b/source/expectations/data_values/ut_data_value_varchar2.tps index 56effd460..1de824e04 100644 --- a/source/expectations/data_values/ut_data_value_varchar2.tps +++ b/source/expectations/data_values/ut_data_value_varchar2.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_data_value_varchar2 under ut_data_value utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_data_value_xmltype.tpb b/source/expectations/data_values/ut_data_value_xmltype.tpb index f5ffcbc9a..fb7b5f6b8 100644 --- a/source/expectations/data_values/ut_data_value_xmltype.tpb +++ b/source/expectations/data_values/ut_data_value_xmltype.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_data_value_xmltype as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_data_value_xmltype.tps b/source/expectations/data_values/ut_data_value_xmltype.tps index 2d0257918..2a4b2a094 100644 --- a/source/expectations/data_values/ut_data_value_xmltype.tps +++ b/source/expectations/data_values/ut_data_value_xmltype.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_data_value_xmltype under ut_data_value( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_data_value_yminterval.tpb b/source/expectations/data_values/ut_data_value_yminterval.tpb index 8d12d3544..adf2cdff6 100644 --- a/source/expectations/data_values/ut_data_value_yminterval.tpb +++ b/source/expectations/data_values/ut_data_value_yminterval.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_data_value_yminterval as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_data_value_yminterval.tps b/source/expectations/data_values/ut_data_value_yminterval.tps index 8c3ad8079..36e3eced0 100644 --- a/source/expectations/data_values/ut_data_value_yminterval.tps +++ b/source/expectations/data_values/ut_data_value_yminterval.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_data_value_yminterval under ut_data_val utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_json_data_diff_tmp.sql b/source/expectations/data_values/ut_json_data_diff_tmp.sql index 4eda07d7c..db2638271 100644 --- a/source/expectations/data_values/ut_json_data_diff_tmp.sql +++ b/source/expectations/data_values/ut_json_data_diff_tmp.sql @@ -2,8 +2,8 @@ create global temporary table ut_json_data_diff_tmp( /* utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software diff --git a/source/expectations/data_values/ut_json_leaf.tpb b/source/expectations/data_values/ut_json_leaf.tpb index d6c862286..50ab9b545 100644 --- a/source/expectations/data_values/ut_json_leaf.tpb +++ b/source/expectations/data_values/ut_json_leaf.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_json_leaf as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_json_leaf.tps b/source/expectations/data_values/ut_json_leaf.tps index ac478e34e..31ed11539 100644 --- a/source/expectations/data_values/ut_json_leaf.tps +++ b/source/expectations/data_values/ut_json_leaf.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_json_leaf authid current_user as object utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_json_leaf_tab.tps b/source/expectations/data_values/ut_json_leaf_tab.tps index c00f2a3a1..b6195046a 100644 --- a/source/expectations/data_values/ut_json_leaf_tab.tps +++ b/source/expectations/data_values/ut_json_leaf_tab.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_json_leaf_tab as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_json_tree_details.tpb b/source/expectations/data_values/ut_json_tree_details.tpb index 0d457b2c5..4b529eee3 100644 --- a/source/expectations/data_values/ut_json_tree_details.tpb +++ b/source/expectations/data_values/ut_json_tree_details.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_json_tree_details as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_json_tree_details.tps b/source/expectations/data_values/ut_json_tree_details.tps index 4f7e891be..14c24e3ee 100644 --- a/source/expectations/data_values/ut_json_tree_details.tps +++ b/source/expectations/data_values/ut_json_tree_details.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_json_tree_details force as object ( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_key_anyval_pair.tps b/source/expectations/data_values/ut_key_anyval_pair.tps index 6ed63ae7e..f2f79fe12 100644 --- a/source/expectations/data_values/ut_key_anyval_pair.tps +++ b/source/expectations/data_values/ut_key_anyval_pair.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_key_anyval_pair force as object( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_key_anyval_pairs.tps b/source/expectations/data_values/ut_key_anyval_pairs.tps index a75305f79..273e7b147 100644 --- a/source/expectations/data_values/ut_key_anyval_pairs.tps +++ b/source/expectations/data_values/ut_key_anyval_pairs.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_key_anyval_pairs as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_key_anyvalues.tpb b/source/expectations/data_values/ut_key_anyvalues.tpb index 4e6dd2c0f..ead307465 100644 --- a/source/expectations/data_values/ut_key_anyvalues.tpb +++ b/source/expectations/data_values/ut_key_anyvalues.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_key_anyvalues as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/data_values/ut_key_anyvalues.tps b/source/expectations/data_values/ut_key_anyvalues.tps index 21a9a5c72..19087af2c 100644 --- a/source/expectations/data_values/ut_key_anyvalues.tps +++ b/source/expectations/data_values/ut_key_anyvalues.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_key_anyvalues under ut_event_item ( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_be_between.tpb b/source/expectations/matchers/ut_be_between.tpb index 83dfc4c25..83511755c 100644 --- a/source/expectations/matchers/ut_be_between.tpb +++ b/source/expectations/matchers/ut_be_between.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_be_between is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_be_between.tps b/source/expectations/matchers/ut_be_between.tps index 7f1403847..e8f5f0d8e 100644 --- a/source/expectations/matchers/ut_be_between.tps +++ b/source/expectations/matchers/ut_be_between.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_be_between under ut_matcher( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_be_empty.tpb b/source/expectations/matchers/ut_be_empty.tpb index af233aa8f..7f7a4190e 100644 --- a/source/expectations/matchers/ut_be_empty.tpb +++ b/source/expectations/matchers/ut_be_empty.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_be_empty as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_be_empty.tps b/source/expectations/matchers/ut_be_empty.tps index a5672ba78..833b8b10f 100644 --- a/source/expectations/matchers/ut_be_empty.tps +++ b/source/expectations/matchers/ut_be_empty.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_be_empty under ut_matcher( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_be_false.tpb b/source/expectations/matchers/ut_be_false.tpb index a02ac58cb..1256972bb 100644 --- a/source/expectations/matchers/ut_be_false.tpb +++ b/source/expectations/matchers/ut_be_false.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_be_false as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_be_false.tps b/source/expectations/matchers/ut_be_false.tps index d793844c1..5c4401555 100644 --- a/source/expectations/matchers/ut_be_false.tps +++ b/source/expectations/matchers/ut_be_false.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_be_false under ut_matcher( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_be_greater_or_equal.tpb b/source/expectations/matchers/ut_be_greater_or_equal.tpb index 6e564a90c..c7c13c8c3 100644 --- a/source/expectations/matchers/ut_be_greater_or_equal.tpb +++ b/source/expectations/matchers/ut_be_greater_or_equal.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_be_greater_or_equal AS utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_be_greater_or_equal.tps b/source/expectations/matchers/ut_be_greater_or_equal.tps index d3e651958..e0d28ae6c 100644 --- a/source/expectations/matchers/ut_be_greater_or_equal.tps +++ b/source/expectations/matchers/ut_be_greater_or_equal.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_be_greater_or_equal under ut_comparison utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_be_greater_than.tpb b/source/expectations/matchers/ut_be_greater_than.tpb index 08628ae3a..60d6f319a 100644 --- a/source/expectations/matchers/ut_be_greater_than.tpb +++ b/source/expectations/matchers/ut_be_greater_than.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_be_greater_than AS utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_be_greater_than.tps b/source/expectations/matchers/ut_be_greater_than.tps index 745b19f08..659274fb5 100644 --- a/source/expectations/matchers/ut_be_greater_than.tps +++ b/source/expectations/matchers/ut_be_greater_than.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_be_greater_than under ut_comparison_mat utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_be_less_or_equal.tpb b/source/expectations/matchers/ut_be_less_or_equal.tpb index 2df06a078..82e011024 100644 --- a/source/expectations/matchers/ut_be_less_or_equal.tpb +++ b/source/expectations/matchers/ut_be_less_or_equal.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_be_less_or_equal AS utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_be_less_or_equal.tps b/source/expectations/matchers/ut_be_less_or_equal.tps index f0e297ad1..ab058bd93 100644 --- a/source/expectations/matchers/ut_be_less_or_equal.tps +++ b/source/expectations/matchers/ut_be_less_or_equal.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_be_less_or_equal under ut_comparison_ma utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_be_less_than.tpb b/source/expectations/matchers/ut_be_less_than.tpb index c0b059231..9017c839f 100644 --- a/source/expectations/matchers/ut_be_less_than.tpb +++ b/source/expectations/matchers/ut_be_less_than.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_be_less_than as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_be_less_than.tps b/source/expectations/matchers/ut_be_less_than.tps index 594df9b71..6b9d78f44 100644 --- a/source/expectations/matchers/ut_be_less_than.tps +++ b/source/expectations/matchers/ut_be_less_than.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_be_less_than under ut_comparison_matche utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_be_like.tpb b/source/expectations/matchers/ut_be_like.tpb index b94c3fa91..841765290 100644 --- a/source/expectations/matchers/ut_be_like.tpb +++ b/source/expectations/matchers/ut_be_like.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_be_like as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_be_like.tps b/source/expectations/matchers/ut_be_like.tps index ca9ad45de..6d7db0705 100644 --- a/source/expectations/matchers/ut_be_like.tps +++ b/source/expectations/matchers/ut_be_like.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_be_like under ut_matcher( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_be_not_null.tpb b/source/expectations/matchers/ut_be_not_null.tpb index d291d2e35..6c40ed608 100644 --- a/source/expectations/matchers/ut_be_not_null.tpb +++ b/source/expectations/matchers/ut_be_not_null.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_be_not_null as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_be_not_null.tps b/source/expectations/matchers/ut_be_not_null.tps index 61f6c871d..5688cab2b 100644 --- a/source/expectations/matchers/ut_be_not_null.tps +++ b/source/expectations/matchers/ut_be_not_null.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_be_not_null under ut_matcher( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_be_null.tpb b/source/expectations/matchers/ut_be_null.tpb index 89fbaf563..629990d01 100644 --- a/source/expectations/matchers/ut_be_null.tpb +++ b/source/expectations/matchers/ut_be_null.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_be_null as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_be_null.tps b/source/expectations/matchers/ut_be_null.tps index 063c7db29..bee488427 100644 --- a/source/expectations/matchers/ut_be_null.tps +++ b/source/expectations/matchers/ut_be_null.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_be_null under ut_matcher( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_be_true.tpb b/source/expectations/matchers/ut_be_true.tpb index 59368f342..2cb161a44 100644 --- a/source/expectations/matchers/ut_be_true.tpb +++ b/source/expectations/matchers/ut_be_true.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_be_true as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_be_true.tps b/source/expectations/matchers/ut_be_true.tps index 19d397371..35bf71011 100644 --- a/source/expectations/matchers/ut_be_true.tps +++ b/source/expectations/matchers/ut_be_true.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_be_true under ut_matcher( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_be_within.tpb b/source/expectations/matchers/ut_be_within.tpb index f8f880ace..f34570673 100644 --- a/source/expectations/matchers/ut_be_within.tpb +++ b/source/expectations/matchers/ut_be_within.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_be_within as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_be_within.tps b/source/expectations/matchers/ut_be_within.tps index 276c529df..1cef0398c 100644 --- a/source/expectations/matchers/ut_be_within.tps +++ b/source/expectations/matchers/ut_be_within.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_be_within force under ut_be_within_pct( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_be_within_helper.pkb b/source/expectations/matchers/ut_be_within_helper.pkb index 635c1b111..9630e319f 100644 --- a/source/expectations/matchers/ut_be_within_helper.pkb +++ b/source/expectations/matchers/ut_be_within_helper.pkb @@ -3,8 +3,8 @@ create or replace noneditionable package body ut_be_within_helper as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_be_within_helper.pks b/source/expectations/matchers/ut_be_within_helper.pks index 5a59eea9e..ca674d3bd 100644 --- a/source/expectations/matchers/ut_be_within_helper.pks +++ b/source/expectations/matchers/ut_be_within_helper.pks @@ -3,8 +3,8 @@ create or replace noneditionable package ut_be_within_helper authid definer as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_be_within_pct.tpb b/source/expectations/matchers/ut_be_within_pct.tpb index 82ce8e84e..91364ddab 100644 --- a/source/expectations/matchers/ut_be_within_pct.tpb +++ b/source/expectations/matchers/ut_be_within_pct.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_be_within_pct as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_be_within_pct.tps b/source/expectations/matchers/ut_be_within_pct.tps index 810eaa5b3..048301817 100644 --- a/source/expectations/matchers/ut_be_within_pct.tps +++ b/source/expectations/matchers/ut_be_within_pct.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_be_within_pct force under ut_comparison utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_comparison_matcher.tpb b/source/expectations/matchers/ut_comparison_matcher.tpb index d6c47855d..92245d304 100644 --- a/source/expectations/matchers/ut_comparison_matcher.tpb +++ b/source/expectations/matchers/ut_comparison_matcher.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_comparison_matcher as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_comparison_matcher.tps b/source/expectations/matchers/ut_comparison_matcher.tps index b1ed08a84..4e698348c 100644 --- a/source/expectations/matchers/ut_comparison_matcher.tps +++ b/source/expectations/matchers/ut_comparison_matcher.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_comparison_matcher under ut_matcher( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_contain.tpb b/source/expectations/matchers/ut_contain.tpb index bcc3806b7..3494a3d90 100644 --- a/source/expectations/matchers/ut_contain.tpb +++ b/source/expectations/matchers/ut_contain.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_contain as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_contain.tps b/source/expectations/matchers/ut_contain.tps index bd67113c9..9974d3a7c 100644 --- a/source/expectations/matchers/ut_contain.tps +++ b/source/expectations/matchers/ut_contain.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_contain under ut_equal( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_equal.tpb b/source/expectations/matchers/ut_equal.tpb index f999995d1..4bd847c1b 100644 --- a/source/expectations/matchers/ut_equal.tpb +++ b/source/expectations/matchers/ut_equal.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_equal as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_equal.tps b/source/expectations/matchers/ut_equal.tps index eeb715a58..b6665b784 100644 --- a/source/expectations/matchers/ut_equal.tps +++ b/source/expectations/matchers/ut_equal.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_equal force under ut_comparison_matcher utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_have_count.tpb b/source/expectations/matchers/ut_have_count.tpb index f6d3d2682..5abc7fd82 100644 --- a/source/expectations/matchers/ut_have_count.tpb +++ b/source/expectations/matchers/ut_have_count.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_have_count as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_have_count.tps b/source/expectations/matchers/ut_have_count.tps index 85cdf4393..5e979e35f 100644 --- a/source/expectations/matchers/ut_have_count.tps +++ b/source/expectations/matchers/ut_have_count.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_have_count under ut_matcher( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_match.tpb b/source/expectations/matchers/ut_match.tpb index 1836298e7..067bd8100 100644 --- a/source/expectations/matchers/ut_match.tpb +++ b/source/expectations/matchers/ut_match.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_match as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_match.tps b/source/expectations/matchers/ut_match.tps index 3f840545f..682632efa 100644 --- a/source/expectations/matchers/ut_match.tps +++ b/source/expectations/matchers/ut_match.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_match under ut_matcher( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_matcher.tpb b/source/expectations/matchers/ut_matcher.tpb index 828e1ac51..0cbf5924d 100644 --- a/source/expectations/matchers/ut_matcher.tpb +++ b/source/expectations/matchers/ut_matcher.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_matcher as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_matcher.tps b/source/expectations/matchers/ut_matcher.tps index ee7f1b5dd..f991afe7d 100644 --- a/source/expectations/matchers/ut_matcher.tps +++ b/source/expectations/matchers/ut_matcher.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_matcher under ut_matcher_base( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_matcher_base.tps b/source/expectations/matchers/ut_matcher_base.tps index ba79a6aed..e425c8baf 100644 --- a/source/expectations/matchers/ut_matcher_base.tps +++ b/source/expectations/matchers/ut_matcher_base.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_matcher_base force authid current_user utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_matcher_options.tpb b/source/expectations/matchers/ut_matcher_options.tpb index 57aca2617..d391acc30 100644 --- a/source/expectations/matchers/ut_matcher_options.tpb +++ b/source/expectations/matchers/ut_matcher_options.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_matcher_options as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_matcher_options.tps b/source/expectations/matchers/ut_matcher_options.tps index db076fd99..92b4207c3 100644 --- a/source/expectations/matchers/ut_matcher_options.tps +++ b/source/expectations/matchers/ut_matcher_options.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_matcher_options authid current_user as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_matcher_options_items.tpb b/source/expectations/matchers/ut_matcher_options_items.tpb index 6e4841870..672acdcaf 100644 --- a/source/expectations/matchers/ut_matcher_options_items.tpb +++ b/source/expectations/matchers/ut_matcher_options_items.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_matcher_options_items is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/matchers/ut_matcher_options_items.tps b/source/expectations/matchers/ut_matcher_options_items.tps index 045a7ece7..bae87b5df 100644 --- a/source/expectations/matchers/ut_matcher_options_items.tps +++ b/source/expectations/matchers/ut_matcher_options_items.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_matcher_options_items authid current_us utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/ut_expectation.tpb b/source/expectations/ut_expectation.tpb index 5f7c9cce0..93bd0763f 100644 --- a/source/expectations/ut_expectation.tpb +++ b/source/expectations/ut_expectation.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_expectation as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/ut_expectation.tps b/source/expectations/ut_expectation.tps index a423c39a4..a04f00caf 100644 --- a/source/expectations/ut_expectation.tps +++ b/source/expectations/ut_expectation.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_expectation force under ut_expectation_ utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/ut_expectation_base.tpb b/source/expectations/ut_expectation_base.tpb index 5ed630c63..802855b23 100644 --- a/source/expectations/ut_expectation_base.tpb +++ b/source/expectations/ut_expectation_base.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_expectation_base as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/ut_expectation_base.tps b/source/expectations/ut_expectation_base.tps index 86f274495..48e610054 100644 --- a/source/expectations/ut_expectation_base.tps +++ b/source/expectations/ut_expectation_base.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_expectation_base authid current_user as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/ut_expectation_compound.tpb b/source/expectations/ut_expectation_compound.tpb index d76010f80..067f7922c 100644 --- a/source/expectations/ut_expectation_compound.tpb +++ b/source/expectations/ut_expectation_compound.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_expectation_compound as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/ut_expectation_compound.tps b/source/expectations/ut_expectation_compound.tps index 54de48dd4..38d821266 100644 --- a/source/expectations/ut_expectation_compound.tps +++ b/source/expectations/ut_expectation_compound.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_expectation_compound under ut_expectati utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/ut_expectation_json.tpb b/source/expectations/ut_expectation_json.tpb index 68d4085ef..9f4204ea7 100644 --- a/source/expectations/ut_expectation_json.tpb +++ b/source/expectations/ut_expectation_json.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_expectation_json as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/expectations/ut_expectation_json.tps b/source/expectations/ut_expectation_json.tps index c75154bc8..fd60ccb21 100644 --- a/source/expectations/ut_expectation_json.tps +++ b/source/expectations/ut_expectation_json.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_expectation_json under ut_expectation( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/install.sql b/source/install.sql index 9af0a4f66..5bbb693be 100644 --- a/source/install.sql +++ b/source/install.sql @@ -2,8 +2,8 @@ utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/install_above_12_1.sql b/source/install_above_12_1.sql index 5a1943358..162c3dd5f 100644 --- a/source/install_above_12_1.sql +++ b/source/install_above_12_1.sql @@ -2,8 +2,8 @@ utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/install_component.sql b/source/install_component.sql index 1189df496..a7394fe9a 100644 --- a/source/install_component.sql +++ b/source/install_component.sql @@ -2,8 +2,8 @@ utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/install_ddl_trigger.sql b/source/install_ddl_trigger.sql index b23b4bc63..a9ede374f 100644 --- a/source/install_ddl_trigger.sql +++ b/source/install_ddl_trigger.sql @@ -2,8 +2,8 @@ utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/install_headless.sql b/source/install_headless.sql index be1e5becf..04c0109b0 100644 --- a/source/install_headless.sql +++ b/source/install_headless.sql @@ -2,8 +2,8 @@ utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/install_headless_with_trigger.sql b/source/install_headless_with_trigger.sql index 2c05403c5..7953b0205 100644 --- a/source/install_headless_with_trigger.sql +++ b/source/install_headless_with_trigger.sql @@ -2,8 +2,8 @@ utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/reporters/ut_ansiconsole_helper.pkb b/source/reporters/ut_ansiconsole_helper.pkb index e8ee34531..b6610b778 100644 --- a/source/reporters/ut_ansiconsole_helper.pkb +++ b/source/reporters/ut_ansiconsole_helper.pkb @@ -3,8 +3,8 @@ create or replace noneditionable package body ut_ansiconsole_helper as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/reporters/ut_ansiconsole_helper.pks b/source/reporters/ut_ansiconsole_helper.pks index e882de293..f06f96a7e 100644 --- a/source/reporters/ut_ansiconsole_helper.pks +++ b/source/reporters/ut_ansiconsole_helper.pks @@ -3,8 +3,8 @@ create or replace noneditionable package ut_ansiconsole_helper as utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/reporters/ut_coverage_cobertura_reporter.tpb b/source/reporters/ut_coverage_cobertura_reporter.tpb index c2021974d..36c22c68b 100644 --- a/source/reporters/ut_coverage_cobertura_reporter.tpb +++ b/source/reporters/ut_coverage_cobertura_reporter.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_coverage_cobertura_reporter is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/reporters/ut_coverage_cobertura_reporter.tps b/source/reporters/ut_coverage_cobertura_reporter.tps index 799840a55..8e4586c38 100644 --- a/source/reporters/ut_coverage_cobertura_reporter.tps +++ b/source/reporters/ut_coverage_cobertura_reporter.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_coverage_cobertura_reporter under ut_co utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/reporters/ut_coverage_html_reporter.tpb b/source/reporters/ut_coverage_html_reporter.tpb index 90419371a..50b0fd57c 100644 --- a/source/reporters/ut_coverage_html_reporter.tpb +++ b/source/reporters/ut_coverage_html_reporter.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_coverage_html_reporter is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/reporters/ut_coverage_html_reporter.tps b/source/reporters/ut_coverage_html_reporter.tps index 23cf45c0b..13365efe9 100644 --- a/source/reporters/ut_coverage_html_reporter.tps +++ b/source/reporters/ut_coverage_html_reporter.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_coverage_html_reporter under ut_coverag utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/reporters/ut_coverage_report_html_helper.pkb b/source/reporters/ut_coverage_report_html_helper.pkb index 99c36ab73..7d19968a5 100644 --- a/source/reporters/ut_coverage_report_html_helper.pkb +++ b/source/reporters/ut_coverage_report_html_helper.pkb @@ -3,8 +3,8 @@ create or replace noneditionable package body ut_coverage_report_html_helper is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/reporters/ut_coverage_report_html_helper.pks b/source/reporters/ut_coverage_report_html_helper.pks index 8463e3e89..4eddee9a7 100644 --- a/source/reporters/ut_coverage_report_html_helper.pks +++ b/source/reporters/ut_coverage_report_html_helper.pks @@ -3,8 +3,8 @@ create or replace noneditionable package ut_coverage_report_html_helper authid c utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/reporters/ut_coverage_sonar_reporter.tpb b/source/reporters/ut_coverage_sonar_reporter.tpb index 66c4aacf0..8eb4c57aa 100644 --- a/source/reporters/ut_coverage_sonar_reporter.tpb +++ b/source/reporters/ut_coverage_sonar_reporter.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_coverage_sonar_reporter is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/reporters/ut_coverage_sonar_reporter.tps b/source/reporters/ut_coverage_sonar_reporter.tps index fd160bdb5..0268fee64 100644 --- a/source/reporters/ut_coverage_sonar_reporter.tps +++ b/source/reporters/ut_coverage_sonar_reporter.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_coverage_sonar_reporter under ut_covera utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/reporters/ut_debug_reporter.tpb b/source/reporters/ut_debug_reporter.tpb index 547437cde..a2b797021 100644 --- a/source/reporters/ut_debug_reporter.tpb +++ b/source/reporters/ut_debug_reporter.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_debug_reporter is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/reporters/ut_debug_reporter.tps b/source/reporters/ut_debug_reporter.tps index edbf1cdc6..26e42cbc4 100644 --- a/source/reporters/ut_debug_reporter.tps +++ b/source/reporters/ut_debug_reporter.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_debug_reporter under ut_output_reporter utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/reporters/ut_documentation_reporter.tpb b/source/reporters/ut_documentation_reporter.tpb index c13cc56ef..42e5c0fdf 100644 --- a/source/reporters/ut_documentation_reporter.tpb +++ b/source/reporters/ut_documentation_reporter.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_documentation_reporter is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/reporters/ut_documentation_reporter.tps b/source/reporters/ut_documentation_reporter.tps index bab9082c6..52a7911ce 100644 --- a/source/reporters/ut_documentation_reporter.tps +++ b/source/reporters/ut_documentation_reporter.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_documentation_reporter under ut_console utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/reporters/ut_junit_reporter.tpb b/source/reporters/ut_junit_reporter.tpb index bf62dc564..e7741926d 100644 --- a/source/reporters/ut_junit_reporter.tpb +++ b/source/reporters/ut_junit_reporter.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_junit_reporter is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/reporters/ut_junit_reporter.tps b/source/reporters/ut_junit_reporter.tps index a20913980..88292acbb 100644 --- a/source/reporters/ut_junit_reporter.tps +++ b/source/reporters/ut_junit_reporter.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_junit_reporter force under ut_output_re utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/reporters/ut_realtime_reporter.tpb b/source/reporters/ut_realtime_reporter.tpb index da0f37077..b0ec5d2e2 100644 --- a/source/reporters/ut_realtime_reporter.tpb +++ b/source/reporters/ut_realtime_reporter.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_realtime_reporter is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/reporters/ut_realtime_reporter.tps b/source/reporters/ut_realtime_reporter.tps index b8686685b..7efdd1bb3 100644 --- a/source/reporters/ut_realtime_reporter.tps +++ b/source/reporters/ut_realtime_reporter.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_realtime_reporter force under ut_output utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/reporters/ut_sonar_test_reporter.tpb b/source/reporters/ut_sonar_test_reporter.tpb index 8d232b87e..6b8003ecb 100644 --- a/source/reporters/ut_sonar_test_reporter.tpb +++ b/source/reporters/ut_sonar_test_reporter.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_sonar_test_reporter is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/reporters/ut_sonar_test_reporter.tps b/source/reporters/ut_sonar_test_reporter.tps index 0884ad3d3..f7f5aeb39 100644 --- a/source/reporters/ut_sonar_test_reporter.tps +++ b/source/reporters/ut_sonar_test_reporter.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_sonar_test_reporter under ut_output_rep utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/reporters/ut_tap_reporter.tpb b/source/reporters/ut_tap_reporter.tpb index c807ab3e1..468d9363c 100644 --- a/source/reporters/ut_tap_reporter.tpb +++ b/source/reporters/ut_tap_reporter.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_tap_reporter is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/reporters/ut_tap_reporter.tps b/source/reporters/ut_tap_reporter.tps index 150486648..127256cf8 100644 --- a/source/reporters/ut_tap_reporter.tps +++ b/source/reporters/ut_tap_reporter.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_tap_reporter under ut_documentation_rep utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/reporters/ut_teamcity_reporter.tpb b/source/reporters/ut_teamcity_reporter.tpb index 94d5497d5..2e76e3e3f 100644 --- a/source/reporters/ut_teamcity_reporter.tpb +++ b/source/reporters/ut_teamcity_reporter.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_teamcity_reporter is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/reporters/ut_teamcity_reporter.tps b/source/reporters/ut_teamcity_reporter.tps index 2def91c35..e70ad4a4b 100644 --- a/source/reporters/ut_teamcity_reporter.tps +++ b/source/reporters/ut_teamcity_reporter.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_teamcity_reporter under ut_output_repor utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/reporters/ut_teamcity_reporter_helper.pkb b/source/reporters/ut_teamcity_reporter_helper.pkb index 1d33c43ae..ac9d4b567 100644 --- a/source/reporters/ut_teamcity_reporter_helper.pkb +++ b/source/reporters/ut_teamcity_reporter_helper.pkb @@ -3,8 +3,8 @@ create or replace noneditionable package body ut_teamcity_reporter_helper is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/reporters/ut_teamcity_reporter_helper.pks b/source/reporters/ut_teamcity_reporter_helper.pks index bb9acef35..03c655c33 100644 --- a/source/reporters/ut_teamcity_reporter_helper.pks +++ b/source/reporters/ut_teamcity_reporter_helper.pks @@ -3,8 +3,8 @@ create or replace noneditionable package ut_teamcity_reporter_helper is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/reporters/ut_tfs_junit_reporter.tpb b/source/reporters/ut_tfs_junit_reporter.tpb index a4c8fb868..38aa41bfa 100644 --- a/source/reporters/ut_tfs_junit_reporter.tpb +++ b/source/reporters/ut_tfs_junit_reporter.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_tfs_junit_reporter is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/reporters/ut_tfs_junit_reporter.tps b/source/reporters/ut_tfs_junit_reporter.tps index 560bb10dd..3212085ea 100644 --- a/source/reporters/ut_tfs_junit_reporter.tps +++ b/source/reporters/ut_tfs_junit_reporter.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_tfs_junit_reporter under ut_output_repo utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/reporters/ut_xunit_reporter.tpb b/source/reporters/ut_xunit_reporter.tpb index 74fc57ac0..4b6007994 100644 --- a/source/reporters/ut_xunit_reporter.tpb +++ b/source/reporters/ut_xunit_reporter.tpb @@ -3,8 +3,8 @@ create or replace noneditionable type body ut_xunit_reporter is utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/reporters/ut_xunit_reporter.tps b/source/reporters/ut_xunit_reporter.tps index d701d8ab0..2e7a84f95 100644 --- a/source/reporters/ut_xunit_reporter.tps +++ b/source/reporters/ut_xunit_reporter.tps @@ -3,8 +3,8 @@ create or replace noneditionable type ut_xunit_reporter under ut_junit_reporter( utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/set_install_params.sql b/source/set_install_params.sql index b559b8023..1d58ab09a 100644 --- a/source/set_install_params.sql +++ b/source/set_install_params.sql @@ -2,8 +2,8 @@ utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/uninstall.sql b/source/uninstall.sql index 712845fb7..ba1582844 100644 --- a/source/uninstall.sql +++ b/source/uninstall.sql @@ -2,8 +2,8 @@ utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/uninstall_all.sql b/source/uninstall_all.sql index d3d3f3fbe..af94716c1 100644 --- a/source/uninstall_all.sql +++ b/source/uninstall_all.sql @@ -2,8 +2,8 @@ utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/uninstall_coverage_tables.sql b/source/uninstall_coverage_tables.sql index df3c19627..6912330ae 100644 --- a/source/uninstall_coverage_tables.sql +++ b/source/uninstall_coverage_tables.sql @@ -2,8 +2,8 @@ utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/uninstall_objects.sql b/source/uninstall_objects.sql index fcc8dfa52..3e2c2f988 100644 --- a/source/uninstall_objects.sql +++ b/source/uninstall_objects.sql @@ -2,8 +2,8 @@ utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/source/uninstall_synonyms.sql b/source/uninstall_synonyms.sql index 4a12340f6..58e24060b 100644 --- a/source/uninstall_synonyms.sql +++ b/source/uninstall_synonyms.sql @@ -2,8 +2,8 @@ utPLSQL - Version 3 Copyright 2016 - 2026 utPLSQL Project - Licensed under the Apache License, Version 2.0 (the "License"): - you may not use this file except in compliance with the License. + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 From a873e6b020baf04b033458724d48553f777f2013 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 2 Oct 2026 16:14:02 +0100 Subject: [PATCH 147/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- source/core/ut_utils.pks | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index 021fa878a..02759e113 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4544 +4547 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index d64bf3a7e..acc033f79 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.4.4544-develop'; + gc_version constant varchar2(50) := 'v3.2.4.4547-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From f5c781cac28c826b723abbc82a854265ef36dbaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Fri, 2 Oct 2026 23:15:18 +0300 Subject: [PATCH 148/171] Use info@utplsql.org as the public contact address --- mkdocs.yml | 2 +- mkdocs_offline.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mkdocs.yml b/mkdocs.yml index cb8b69e63..096044073 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -92,7 +92,7 @@ extra: - icon: fontawesome/brands/github link: https://github.com/utPLSQL - icon: fontawesome/solid/envelope - link: mailto:utPLSQL@utPLSQL.org + link: mailto:info@utplsql.org version: # disable for offline docs provider: mike # disable for offline docs markdown_extensions: diff --git a/mkdocs_offline.yml b/mkdocs_offline.yml index a279d851b..75bab1e4c 100644 --- a/mkdocs_offline.yml +++ b/mkdocs_offline.yml @@ -55,7 +55,7 @@ extra: - icon: fontawesome/brands/github link: https://github.com/utPLSQL - icon: fontawesome/solid/envelope - link: mailto:utPLSQL@utPLSQL.org + link: mailto:info@utplsql.org consent: title: Cookie consent description: >- From 23ea4ee53158864d8a6f029057efcf7b75804b7a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 2 Oct 2026 21:22:51 +0100 Subject: [PATCH 149/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- source/core/ut_utils.pks | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index 02759e113..d2a522551 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4547 +4548 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index acc033f79..746561f2e 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.4.4547-develop'; + gc_version constant varchar2(50) := 'v3.2.4.4548-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From 7c7cfa074e19c5d7f745848c2215ea497df9130f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Fri, 2 Oct 2026 23:26:51 +0300 Subject: [PATCH 150/171] Use info@utPLSQL.org as the public contact address --- mkdocs.yml | 2 +- mkdocs_offline.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mkdocs.yml b/mkdocs.yml index 096044073..2949f268f 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -92,7 +92,7 @@ extra: - icon: fontawesome/brands/github link: https://github.com/utPLSQL - icon: fontawesome/solid/envelope - link: mailto:info@utplsql.org + link: mailto:info@utPLSQL.org version: # disable for offline docs provider: mike # disable for offline docs markdown_extensions: diff --git a/mkdocs_offline.yml b/mkdocs_offline.yml index 75bab1e4c..8c0ab8fa5 100644 --- a/mkdocs_offline.yml +++ b/mkdocs_offline.yml @@ -55,7 +55,7 @@ extra: - icon: fontawesome/brands/github link: https://github.com/utPLSQL - icon: fontawesome/solid/envelope - link: mailto:info@utplsql.org + link: mailto:info@utPLSQL.org consent: title: Cookie consent description: >- From 67c5f5b5fa81ff7889109715c1dd52a7a73dc558 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 2 Oct 2026 21:34:57 +0100 Subject: [PATCH 151/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- source/core/ut_utils.pks | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index d2a522551..4bd4a90bb 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4548 +4549 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 746561f2e..a10615235 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.4.4548-develop'; + gc_version constant varchar2(50) := 'v3.2.4.4549-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From 741acbcb66b1001d348d122dffe9c0329fe7ec56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Mon, 12 Oct 2026 21:25:36 +0300 Subject: [PATCH 152/171] Adding sponsorship page and updates to sponsorship sections. --- CONTRIBUTING.md | 3 ++- SPONSORS.md | 14 ++++++++++++++ development/releasing.md | 1 + readme.md | 9 +++++++++ 4 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 SPONSORS.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 3cac5c86f..964559260 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,7 +1,8 @@ # How to contribute The following are the guidelines everyone should use to contribute to utPLSQL. -Changes are welcome from all members of the Community. +Changes are welcome from all members of the Community. +Not able to contribute code? You can also support the project through [sponsorship](https://www.utplsql.org/sponsorship.html). # Getting Started diff --git a/SPONSORS.md b/SPONSORS.md new file mode 100644 index 000000000..ad75d347c --- /dev/null +++ b/SPONSORS.md @@ -0,0 +1,14 @@ +# Sponsors + +utPLSQL is free and open source under the Apache 2.0 license. Sponsorship funds its maintenance and development. +To become a sponsor, see [utplsql.org/sponsorship](https://www.utplsql.org/sponsorship.html). + +This file is the complete archive of current and past sponsors. The up-to-date recognition lists are on the [sponsors page](https://www.utplsql.org/sponsors.html). + +## Current sponsors + +None yet. + +## Past sponsors + +- [Redgate](https://www.red-gate.com/hub/events/open-source-projects) (2019) diff --git a/development/releasing.md b/development/releasing.md index 99c3f7114..57d353db6 100644 --- a/development/releasing.md +++ b/development/releasing.md @@ -6,6 +6,7 @@ To create a release, follow the below steps. - Create a **draft** of a Release with a new tag number `vX.Y.X` sourced from the `develop` branch on [github releases page](https://github.com/utPLSQL/utPLSQL/releases) - Populate release description using the `Generate release notes` button - Review the auto-generated release notes and update tem if needed + - Add this line at the end of the release notes: `This release was made possible by our sponsors: https://www.utplsql.org/sponsors.html` (a link, not a list of names, so it always shows who is current) - Optionally, split the default `## What's Changed` list into `## New features`, `## Enhancements`, `## Bug fixes`. See previous release notes for details ## Performing a release diff --git a/readme.md b/readme.md index f2b16be37..a0f74c8cc 100644 --- a/readme.md +++ b/readme.md @@ -6,6 +6,7 @@ [![X](https://img.shields.io/badge/X-utPLSQL-000000?logo=x)](https://x.com/utPLSQL) [![Bluesky](https://img.shields.io/badge/Bluesky-utplsql.org-0285FF?logo=bluesky&logoColor=white)](https://bsky.app/profile/utplsql.org) [![LinkedIn](https://img.shields.io/badge/in-utPLSQL-0A66C2)](https://www.linkedin.com/company/utplsql/) +[![Sponsor](https://img.shields.io/badge/Sponsor-utPLSQL-ea4aaa?logo=githubsponsors)](https://www.utplsql.org/sponsorship.html) [![build](https://github.com/utPLSQL/utPLSQL/actions/workflows/build.yml/badge.svg)](https://github.com/utPLSQL/utPLSQL/actions/workflows/build.yml) [![QualityGate](https://sonarcloud.io/api/project_badges/measure?project=utPLSQL_utPLSQL&metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=utPLSQL_utPLSQL) [![Coverage](https://sonarcloud.io/api/project_badges/measure?project=utPLSQL_utPLSQL&metric=coverage)](https://sonarcloud.io/summary/new_code?id=utPLSQL_utPLSQL) @@ -140,6 +141,14 @@ We welcome contributions of all kinds. Please read the [contributing guide](CONT The list of **authors** and **significant contributors** is available on the [About](https://www.utplsql.org/about.html) page. For a full list of contributors, see [contributors](https://github.com/utPLSQL/utPLSQL/graphs/contributors?all=1) on GitHub. +## Sponsorship + +utPLSQL is free and open source (Apache 2.0). Sponsorship funds development of new features and tools, maintaining compatibility with new Oracle versions and platforms, documentation. +See [Sponsorship](https://www.utplsql.org/sponsorship.html) for organization tiers, commercial support and individual sponsorship. All current and past sponsors are listed in [SPONSORS.md](SPONSORS.md). + + + + ## License utPLSQL is free and open source, licensed under the [Apache 2.0 license](LICENSE). From a22aebb689f11d908dcf5434a845b59cd7bc3aba Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 12 Oct 2026 19:36:51 +0100 Subject: [PATCH 153/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- source/core/ut_utils.pks | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index 4bd4a90bb..d1393424b 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4549 +4553 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index a10615235..eed5dfe3c 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.4.4549-develop'; + gc_version constant varchar2(50) := 'v3.2.4.4553-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From c2934c1aec36e893a69b379a02d3ec3173482e4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Sun, 18 Oct 2026 00:41:22 +0300 Subject: [PATCH 154/171] Announce releases with the shared announce-release action Use utPLSQL/.github/actions/announce-release@v1 to post the release announcement to the org discussions and to utplsql.github.io. --- .github/scripts/post_release_announcement.sh | 63 -------------------- .github/scripts/publish_release_post.sh | 63 -------------------- .github/workflows/release.yml | 15 ++--- .github/workflows/test_publishing.yml | 12 ++-- development/releasing.md | 3 +- 5 files changed, 16 insertions(+), 140 deletions(-) delete mode 100755 .github/scripts/post_release_announcement.sh delete mode 100755 .github/scripts/publish_release_post.sh diff --git a/.github/scripts/post_release_announcement.sh b/.github/scripts/post_release_announcement.sh deleted file mode 100755 index c74394505..000000000 --- a/.github/scripts/post_release_announcement.sh +++ /dev/null @@ -1,63 +0,0 @@ -#!/bin/bash -# Posts a release announcement to the utPLSQL org .github repository's -# Announcements discussion category. -# -# Required environment variables: -# GH_TOKEN - GitHub token with write:discussion scope (ORG_DISCUSSION_TOKEN) -# RELEASE_TAG - e.g. v3.2.3 -# RELEASE_BODY - markdown release notes -# RELEASE_URL - URL of the GitHub release page - -set -euo pipefail - -ORG="utPLSQL" -REPO_NAME=".github" - -# Get org node ID -ORG_DATA=$(gh api graphql -f query='query($org: String!) { - organization(login: $org) { - id - } -}' -f org="$ORG") -ORG_ID=$(echo "$ORG_DATA" | jq -r '.data.organization.id') - -# Get repository node ID -REPO_DATA=$(gh api graphql -f query='query($owner: String!, $name: String!) { - repository(owner: $owner, name: $name) { - id - } -}' -f owner="$ORG" -f name="$REPO_NAME") -REPO_ID=$(echo "$REPO_DATA" | jq -r '.data.repository.id') - -# Get Announcements category ID -CATEGORY_DATA=$(gh api graphql -f query='query($owner: String!, $name: String!) { - repository(owner: $owner, name: $name) { - discussionCategories(first: 20) { - nodes { id name } - } - } -}' -f owner="$ORG" -f name="$REPO_NAME") -CATEGORY_ID=$(echo "$CATEGORY_DATA" | jq -r \ - '.data.repository.discussionCategories.nodes[] | select(.name == "Announcements") | .id') - -BODY="${RELEASE_BODY} - -
This discussion was created from the release ${RELEASE_TAG}." - -DISCUSSION_URL=$(gh api graphql -f query='mutation($repoId: ID!, $categoryId: ID!, $title: String!, $body: String!) { - createDiscussion(input: { - repositoryId: $repoId, - categoryId: $categoryId, - title: $title, - body: $body - }) { - discussion { url } - } -}' \ - -f repoId="$REPO_ID" \ - -f categoryId="$CATEGORY_ID" \ - -f title="utPLSQL ${RELEASE_TAG} released" \ - -f body="$BODY" \ - --jq '.data.createDiscussion.discussion.url') - -echo "Announcement posted: $DISCUSSION_URL" diff --git a/.github/scripts/publish_release_post.sh b/.github/scripts/publish_release_post.sh deleted file mode 100755 index 0412a5877..000000000 --- a/.github/scripts/publish_release_post.sh +++ /dev/null @@ -1,63 +0,0 @@ -#!/bin/bash -# Publishes a release announcement post to utplsql.github.io. -# Creates a new post file in directory docs/announcements/posts/[year] -# -# Required environment variables: -# API_TOKEN_GITHUB - GitHub token with write access to utPLSQL.github.io -# RELEASE_TAG - e.g. v3.2.3 -# RELEASE_BODY - markdown release notes (from github.event.release.body) -# RELEASE_DATE - ISO-8601 publish timestamp (from github.event.release.published_at) - -set -euo pipefail - -GITHUB_IO_REPO="utPLSQL/utPLSQL.github.io" -GITHUB_IO_BRANCH="main" - -VERSION="${RELEASE_TAG#v}" -POST_DATE=$(echo "${RELEASE_DATE}" | cut -c1-10) -POST_FILENAME="${POST_DATE}-version${VERSION}-released.md" -POST_TITLE="utPLSQL ${RELEASE_TAG} released" -POST_NAV_TITLE="utPLSQL ${VERSION} released" -POST_PATH="docs/announcements/posts/${POST_DATE:0:4}" - -mkdir -p github_io -cd github_io -git clone --depth 1 "https://${API_TOKEN_GITHUB}@github.com/${GITHUB_IO_REPO}" -b "${GITHUB_IO_BRANCH}" . - -# Make sure that the post directory exists -mkdir -p "${POST_PATH} - -# Format the release body for the post: -# 1. Convert bare GitHub issue/PR URLs to [#NUMBER](URL) -# e.g. https://github.com/utPLSQL/utPLSQL/pull/1320 -# -> [#1320](https://github.com/utPLSQL/utPLSQL/pull/1320) -# 2. Convert the auto-generated "Full Changelog" bare URL to a labelled link -# e.g. **Full Changelog**: https://.../compare/v3.2.01...v3.2.2 -# -> **Full Changelog**: [v3.2.01...v3.2.2](https://.../compare/v3.2.01...v3.2.2) -FORMATTED_BODY=$(echo "${RELEASE_BODY}" \ - | sed -E 's@https://github\.com/([^/]+)/([^/]+)/(pull|issues)/([0-9]+)@[#\4](https://github.com/\1/\2/\3/\4)@g' \ - | sed -E 's@\*\*Full Changelog\*\*: (https://[^ ]+/compare/([^ ]+))@\*\*Full Changelog\*\*: [\2](\1)@g') - -# Create the post file -cat > "${POST_PATH}/${POST_FILENAME}" < Date: Sat, 17 Oct 2026 23:01:43 +0100 Subject: [PATCH 155/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- source/core/ut_utils.pks | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index d1393424b..8a2e00225 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4553 +4557 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index eed5dfe3c..631bcb182 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.4.4553-develop'; + gc_version constant varchar2(50) := 'v3.2.4.4557-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From 3aff66b614f22cc4708530b1327932c825868366 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Mon, 19 Oct 2026 12:19:23 +0300 Subject: [PATCH 156/171] Improve link, hover and muted text contrast in light and dark themes --- docs/stylesheets/extra.css | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css index 7f05ab831..b59be3a47 100644 --- a/docs/stylesheets/extra.css +++ b/docs/stylesheets/extra.css @@ -1,12 +1,22 @@ [data-md-color-scheme="default"] { - --md-primary-fg-color: #2f8bff; - --md-accent-fg-color: #1f5db0; - --md-accent-fg-color--transparent: #1f5db0; + --md-primary-fg-color: #1565c0; /* link + header colour: 5.8:1 with white text */ + --md-typeset-a-color: #1565c0; /* link = header colour: 5.8:1 */ + --md-accent-fg-color: #1e88e5; /* hover: lighter than the link, 3.7:1 */ + --md-accent-fg-color--transparent: rgba(30, 136, 229, .1); + --md-default-fg-color--light: hsla(0, 0%, 0%, .64); /* muted text 6.7:1 */ } [data-md-color-scheme="slate"] { - --md-hue: 200; - --md-primary-fg-color: #2f8bff; - --md-accent-fg-color: #1f5db0; - --md-accent-fg-color--transparent: #1f5db0; + --md-hue: 215; + --md-primary-fg-color: #1565c0; /* header background keeps the brand blue */ + --md-accent-fg-color: #3578cc; /* hover: darker than the link, 3.6:1 */ + --md-accent-fg-color--transparent: rgba(53, 120, 204, .1); + --md-default-fg-color: hsla(var(--md-hue), 15%, 90%, .90); /* body ~10:1 */ + --md-default-fg-color--light: hsla(var(--md-hue), 15%, 90%, .68); /* muted 6.5:1 */ + --md-code-hl-keyword-color: hsl(219, 80%, 72%); +} + +/* Material sets the dark link colour per primary colour with higher specificity */ +[data-md-color-scheme="slate"][data-md-color-primary] { + --md-typeset-a-color: #4a90e2; /* link: header blue lightened just enough to read on dark, 4.8:1 */ } From 196ad4bc938b2b297b6cbad3428c09d9291a51b5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 19 Oct 2026 10:29:35 +0100 Subject: [PATCH 157/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- source/core/ut_utils.pks | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index 8a2e00225..0eda9bfac 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4557 +4558 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 631bcb182..8f1153171 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.4.4557-develop'; + gc_version constant varchar2(50) := 'v3.2.4.4558-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From 0cf8f1e5b727011b1f0cc3d7c424e5c0e295fa6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Mon, 19 Oct 2026 13:56:57 +0300 Subject: [PATCH 158/171] update docs footer to match main page. --- docs/stylesheets/extra.css | 42 ++++++++++++++++++++++++++++++++++++++ mkdocs.yml | 5 +++-- 2 files changed, 45 insertions(+), 2 deletions(-) diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css index b59be3a47..ff7721882 100644 --- a/docs/stylesheets/extra.css +++ b/docs/stylesheets/extra.css @@ -20,3 +20,45 @@ [data-md-color-scheme="slate"][data-md-color-primary] { --md-typeset-a-color: #4a90e2; /* link: header blue lightened just enough to read on dark, 4.8:1 */ } + +/* Footer: make the sponsor and cookie links stand out from the copyright text */ +.md-copyright a.footer-sponsor { + display: inline-flex; + overflow: hidden; + margin: 0 .4rem; + font-size: .65rem; + font-weight: 600; + line-height: 1; + color: #fff; + text-decoration: none; + vertical-align: middle; + border-radius: .2rem; +} + +.footer-sponsor__label, +.footer-sponsor__name { + padding: .3rem .5rem; +} + +.footer-sponsor__label { + background: #555; +} + +.footer-sponsor__name { + background: #ea4aaa; +} + +.md-copyright a.footer-sponsor:hover { + color: #fff; + opacity: .85; +} + +.md-copyright a.footer-cookies { + color: var(--md-footer-fg-color); + text-decoration: underline; + text-underline-offset: .15em; +} + +.md-copyright a.footer-cookies:hover { + color: var(--md-accent-fg-color); +} diff --git a/mkdocs.yml b/mkdocs.yml index 2949f268f..08e75ac97 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -10,8 +10,9 @@ site_name: utPLSQL site_description: utPLSQL Ultimate Testing Framework for Oracle PL/SQL copyright: > Copyright © 2016 - 2026 utPLSQL Project. - utPLSQL is stewarded by utPLSQL Development Labs Ltd. - Change cookie settings + Stewarded by utPLSQL Development Labs Ltd. + ♡ SponsorutPLSQL + Change cookie settings repo_url: https://github.com/utPLSQL/utPLSQL extra_css: - stylesheets/extra.css From cea80a3ddb88028b493ebf4c2f341c0c4186ab87 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 19 Oct 2026 12:03:45 +0100 Subject: [PATCH 159/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- source/core/ut_utils.pks | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index 0eda9bfac..a00e5fce3 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4558 +4559 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 8f1153171..2a8bf5f3b 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.4.4558-develop'; + gc_version constant varchar2(50) := 'v3.2.4.4559-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From f3465ae146837029779fbca41605e112022d91f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Mon, 19 Oct 2026 14:05:54 +0300 Subject: [PATCH 160/171] update docs footer and colors to always match the main page --- .github/workflows/rebuild_docs.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/rebuild_docs.yml b/.github/workflows/rebuild_docs.yml index a9774d9b2..835ae5947 100644 --- a/.github/workflows/rebuild_docs.yml +++ b/.github/workflows/rebuild_docs.yml @@ -52,6 +52,9 @@ jobs: for VERSION in ${{ inputs.versions }}; do echo "=== Rebuilding $VERSION ===" git checkout "tags/${VERSION}" -- docs/ + # Use the current look and feel (colors, footer, top bar) for every version; + # tags released since the restyling carry their own, older copies of these files + git checkout HEAD -- docs/stylesheets docs/overrides # Keep the version badge as originally published with the release DOCS_VERSION=$(.github/scripts/get_published_docs_version.sh "${VERSION}") if [[ -n "${DOCS_VERSION}" ]]; then From 77bc309f0193907ce9284fb3cc7ad230faecdce5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 19 Oct 2026 12:12:46 +0100 Subject: [PATCH 161/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- source/core/ut_utils.pks | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index a00e5fce3..cbd82cad4 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4559 +4560 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 2a8bf5f3b..3d816a129 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.4.4559-develop'; + gc_version constant varchar2(50) := 'v3.2.4.4560-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From c97642e3e3feda8197f1de87786eea357c5f4e12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Mon, 19 Oct 2026 22:55:32 +0300 Subject: [PATCH 162/171] Document that exclude expressions override the exclude objects list The user guide stated that all exclude parameters are always applied. In the code (ut_coverage.get_coverage_cursor: "Regex exclusion override the standard exclusion objects") and in the tests (test_extended_coverage.coverage_regex_exclude_object) a_exclude_objects is ignored when a_exclude_schema_expr or a_exclude_object_expr is given. Verified on a 19c database with utPLSQL 3.2.3 through utPLSQL-cli. Fixed the description and the two examples that claimed the object would also be excluded. --- docs/userguide/coverage.md | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index 55820e905..c7016052a 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -166,7 +166,10 @@ You may specify both _include_ and _exclude_ options to gain more control over w - else if no coverage specific parameters are provided coverage is gathered on all schemas specified in paths passed to run procedure
- else if no paths were specified, the coverage is gathered on current schema of the session running the tests -The exclude parameters are not mutually-exclusive and can be mixed together. All of exclude parameters are always applied. +The include and exclude parameters can be combined. An object is reported when it passes the include filters and does not match any of the exclude filters. + +The `a_exclude_schema_expr` and `a_exclude_object_expr` parameters are not mutually-exclusive and can be used together. +When any of them is specified, the `a_exclude_objects` parameter is ignored. Example: Limiting coverage by schema regex. ```sql linenums="1" @@ -218,7 +221,7 @@ end; ``` Will result in showing coverage for objects in all schema except schemas that are matching regular expression `er_1$` -Example: Limiting coverage by excluding schema with regex and excluding specific object. +Example: Limiting coverage by excluding schema with regex, with parameter `a_exclude_objects` ignored. ```sql linenums="1" begin ut.run(ut_varchar2_list('user_1','user_2'), ut_coverage_html_reporter(), @@ -226,8 +229,8 @@ begin ); end; ``` -Will result in showing coverage for objects in all schemas except schemas that are matching regular expression `er_1$` -Will also exclude object `user_2.utils_package` from coverage report +Will result in showing coverage for objects in all schemas except schemas that are matching regular expression `er_1$`. +The `a_exclude_objects` parameter is ignored when `a_exclude_schema_expr` is specified, so object `user_2.utils_package` is not excluded from the coverage report. Example: Limiting coverage by excluding objects with regex. ```sql linenums="1" @@ -248,7 +251,7 @@ begin end; ``` Will result in showing coverage for all objects that name is not matching regular expression `utl`. -Will also exclude object `user_2.utils_package` from coverage report +The `a_exclude_objects` parameter is ignored when `a_exclude_object_expr` is specified, so object `user_2.utils_package` is not excluded from the coverage report. Example: Limiting coverage by object name, for tested code located in the same schema as the unit tests. From c5a087d72d119b3b777aa1a6628de8ab6b45d73f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Tue, 20 Oct 2026 11:17:14 +0300 Subject: [PATCH 163/171] Rewrite coverage filtering section with clearer, consistent examples --- docs/userguide/coverage.md | 197 +++++++++++++++++++++---------------- 1 file changed, 112 insertions(+), 85 deletions(-) diff --git a/docs/userguide/coverage.md b/docs/userguide/coverage.md index c7016052a..6dd9a233c 100644 --- a/docs/userguide/coverage.md +++ b/docs/userguide/coverage.md @@ -140,19 +140,49 @@ end; #### Filtering objects in coverage reports -Multiple parameters can be used to define the scope of coverage report. - -- `a_source_file_mappings ( ut_file_mappings )` - map of filenames to database objects. It is used for file-based coverage - see below. -- `a_include_schema_expr ( varchar(4000) )` - string of regex expression of schemas to be included in the coverage report. Case-insensitive. -- `a_include_object_expr ( varchar(4000) )` - string of regex expression of objects ( without schema name ) to be included in the coverage report. Case-insensitive. -- `a_exclude_schema_expr ( varchar(4000) )` - string of regex expression of schemas to be excluded from the coverage report. Case-insensitive. -- `a_exclude_object_expr ( varchar(4000) )` - string of regex expression of objects ( without schema name ) to be excluded from the coverage report. Case-insensitive. -- `a_coverage_schemes ( ut_varchar2_list )` - List of database schema names to gather coverage on. -- `a_include_objects ( ut_varchar2_list )` - list of `[object_owner.]object_name` to be included in the coverage report. -- `a_exclude_objects ( ut_varchar2_list )` - list of `[object_owner.]object_name` to be excluded from the coverage report. +By default, coverage is reported on all objects of the schema(s) described above. Several parameters narrow the scope of the coverage report. +You can describe the scope with lists of names, or with regular expressions that match names. + +| Parameter | Type | Meaning | +|-------------------------|----------------------|------------------------------------------------------------------------------------------------------| +| `a_coverage_schemes` | `ut_varchar2_list` | schemas to gather coverage on | +| `a_include_objects` | `ut_varchar2_list` | `[object_owner.]object_name` to be included in the coverage report | +| `a_exclude_objects` | `ut_varchar2_list` | `[object_owner.]object_name` to be excluded from the coverage report | +| `a_include_schema_expr` | `varchar2(4000)` | regular expression, schemas whose name matches are included in the coverage report | +| `a_include_object_expr` | `varchar2(4000)` | regular expression, objects whose name (without schema name) matches are included in the report | +| `a_exclude_schema_expr` | `varchar2(4000)` | regular expression, schemas whose name matches are excluded from the coverage report | +| `a_exclude_object_expr` | `varchar2(4000)` | regular expression, objects whose name (without schema name) matches are excluded from the report | +| `a_source_file_mappings`| `ut_file_mappings` | map of filenames to database objects, used for file-based coverage - see [Project based Coverage](#project-based-coverage) | + +Use lists when the scope is a handful of known objects. Use regular expressions when the scope follows a naming convention, +for example all schemas that start with `APP_`, or all objects that end with `_TMP`. +A rule written once as a regular expression also covers the objects and schemas that are created later. You may specify both _include_ and _exclude_ options to gain more control over what needs to be included / excluded from the coverage report. +An object is reported when it passes the include filters and does not match any of the exclude filters. + +##### Regular expressions + +- The expression is evaluated by Oracle `REGEXP_LIKE`. It is **case-insensitive**, so `app_` matches `APP_ORDERS`. +- A schema expression is matched against the schema name. An object expression is matched against the object name **without** the schema name. +- The expression is **not anchored**. `util` matches `UT_UTILS`, `UTIL_TRAINING` and `ERROR_UTIL_2`. + Use `^` to match from the beginning of the name and `$` to match up to the end, for example `^app_` or `_tmp$`. +- When both an include schema expression and an include object expression are specified, an object must match both. + +##### Which parameters are used when several are given + +| If you specify | utPLSQL ignores | +|-----------------------------------------------------------------|-----------------------------------------------------------| +| `a_source_file_mappings` | all other include/exclude parameters | +| `a_include_schema_expr` or `a_include_object_expr` | `a_include_objects` (and associated `a_coverage_schemes`) | +| `a_exclude_schema_expr` or `a_exclude_object_expr` | `a_exclude_objects` (and associated `a_coverage_schemes`) | +Everything else can be combined. In particular: + +- include expressions can be combined with exclude expressions and with `a_exclude_objects`, +- `a_exclude_schema_expr` and `a_exclude_object_expr` can be used together, +- without include parameters, coverage is gathered on the schemas described in [Setting coverage schema(s)](#setting-coverage-schemas) + and the exclude parameters remove objects from that scope. !!! warning "Important note" @@ -160,155 +190,152 @@ You may specify both _include_ and _exclude_ options to gain more control over w - if `a_source_file_mappings` is defined then all include/exclude parameters are ignored (see section below for usage of `a_source_file_mappings` parameter )
- else if `a_include_schema_expr` or `a_include_object_expr` parameter is specified then parameters `a_coverage_schemes` and `a_include_objects` are ignored
- else if `a_include_objects` is specified then the coverage is gathered only on specified database objects.
- - if `a_coverage_schemes` is specified then those schemas are used for objects in `a_include_objects` without schema name
- - if `a_coverage_schemes` is not specified then schema from paths (`a_paths`) parameter are used for objects in `a_include_objects` without schema name
+ - if `a_coverage_schemes` is specified then those schemas are used for objects without schema name in `a_include_objects` and `a_exclude_objects`
+ - if `a_coverage_schemes` is not specified then schema from paths (`a_paths`) parameter are used for objects without schema name in `a_include_objects` and `a_exclude_objects`
- else if, only the `a_coverage_schemes` is specified then the coverage is gathered only on specified database schemas
- else if no coverage specific parameters are provided coverage is gathered on all schemas specified in paths passed to run procedure
- else if no paths were specified, the coverage is gathered on current schema of the session running the tests -The include and exclude parameters can be combined. An object is reported when it passes the include filters and does not match any of the exclude filters. +##### Examples + +The examples use a system split into schemas `app_orders` and `app_billing` that contain the application code, +and schemas `app_orders_test` and `app_billing_test` that contain the unit tests. -The `a_exclude_schema_expr` and `a_exclude_object_expr` parameters are not mutually-exclusive and can be used together. -When any of them is specified, the `a_exclude_objects` parameter is ignored. +###### Filtering by lists of names -Example: Limiting coverage by schema regex. +Example: Limiting coverage by object name, for tested code located in the same schema as the unit tests. ```sql linenums="1" begin ut.run(ut_varchar2_list('user_1','user_2'), ut_coverage_html_reporter(), - a_include_schema_expr => '^ut3_develop' + a_include_objects=>ut_varchar2_list('award_bonus') ); end; ``` -Will result in showing coverage for all schemas that match regular expression `^ut3_develop` +Executes all tests in schemas: `user_1` and `user_2`. Coverage will only be reported on objects `user_1.award_bonus`, `user_2.award_bonus` -Example: Limiting coverage by schema regex with parameter `a_include_objects` ignored. -```sql linenums="1" -begin - ut.run(ut_varchar2_list('user_1','user_2'), ut_coverage_html_reporter(), - a_include_schema_expr => '^ut3_develop', a_include_objects => ut_varchar2_list( 'ut3_tester_helper.regex_dummy_cov' ) - ); -end; -``` -Will result in showing coverage for all schemas that match regular expression `^ut3_develop`. -Example: Limiting coverage by object regex. +Example: Limiting coverage by object name, for tested code located in different schemas than the unit tests. ```sql linenums="1" begin - ut.run(ut_varchar2_list('user_1','user_2'), ut_coverage_html_reporter(), - a_include_object_expr => 'regex123' + ut.run( + 'unit_test_schema', ut_coverage_html_reporter(), + a_coverage_schemes => ut_varchar2_list('user_1','user_2'), + a_include_objects => ut_varchar2_list('award_bonus', 'betwnstr') ); end; ``` -Will result in showing coverage for all objects that name match regular expression `regex123`. +Executes all tests in schema `unit_test_schema`. Coverage will only be reported on objects `user_1.award_bonus`, `user_2.award_bonus`, `user_1.betwnstr`, `user_2.betwnstr`. +Objects that do not exist in the database but were specified in `a_include_objects` will be ignored. -Example: Limiting coverage by object regex with parameter `a_include_objects` ignored. +Example: Limiting coverage by object owner and name. ```sql linenums="1" begin - ut.run(ut_varchar2_list('user_1','user_2'), ut_coverage_html_reporter(), - a_include_object_expr => 'utl', a_include_objects => ut_varchar2_list( 'user_2.utils_package' ) + ut.run( + 'unit_test_schema', ut_coverage_html_reporter(), + a_include_objects => ut_varchar2_list('user_1.award_bonus','user_2.betwnstr') ); end; ``` -Will result in showing coverage for all objects that name match regular expression `utl`. +Executes all tests in schema `unit_test_schema`. Coverage will only be reported on objects `user_1.award_bonus`, `user_2.betwnstr` -Example: Limiting coverage by excluding schema with regex. -```sql linenums="1" -begin - ut.run(ut_varchar2_list('user_1','user_2'), ut_coverage_html_reporter(), - a_exclude_schema_expr => 'er_1$' - ); -end; -``` -Will result in showing coverage for objects in all schema except schemas that are matching regular expression `er_1$` +The `a_exclude_objects` can be used in the same way as `a_include_objects`. -Example: Limiting coverage by excluding schema with regex, with parameter `a_exclude_objects` ignored. +Example: Excluding objects from coverage report by providing a list of object owner/name to be excluded. ```sql linenums="1" begin - ut.run(ut_varchar2_list('user_1','user_2'), ut_coverage_html_reporter(), - a_exclude_schema_expr => 'er_1$', a_exclude_objects => ut_varchar2_list( 'user_2.utils_package' ) + ut.run( + 'unit_test_schema.test_award_bonus', ut_coverage_html_reporter(), + a_exclude_objects => ut_varchar2_list('ut3_user.betwnstr') ); end; ``` -Will result in showing coverage for objects in all schemas except schemas that are matching regular expression `er_1$`. -The `a_exclude_objects` parameter is ignored when `a_exclude_schema_expr` is specified, so object `user_2.utils_package` is not excluded from the coverage report. +Executes test `test_award_bonus` in schema `unit_test_schema`. Coverage will be reported on all objects in schema `ut3_user` except the `betwnstr` object. -Example: Limiting coverage by excluding objects with regex. -```sql linenums="1" -begin - ut.run(ut_varchar2_list('user_1','user_2'), ut_coverage_html_reporter(), - a_exclude_object_expr => 'utl' - ); -end; -``` -Will result in showing coverage for all objects that name is not matching regular expression `utl`. +###### Filtering by regular expressions -Example: Limiting coverage by excluding objects with regex with parameter `a_exclude_objects` ignored. +Example: Tests are located in other schemas than the application code. Report coverage on the application schemas, selected by a pattern. ```sql linenums="1" begin - ut.run(ut_varchar2_list('user_1','user_2'), ut_coverage_html_reporter(), - a_exclude_object_expr => 'utl', a_exclude_objects => ut_varchar2_list( 'user_2.utils_package' ) + ut.run( + ut_varchar2_list('app_orders_test','app_billing_test'), ut_coverage_html_reporter(), + a_include_schema_expr => '^app_(orders|billing)$' ); end; ``` -Will result in showing coverage for all objects that name is not matching regular expression `utl`. -The `a_exclude_objects` parameter is ignored when `a_exclude_object_expr` is specified, so object `user_2.utils_package` is not excluded from the coverage report. - +Executes all tests in schemas `app_orders_test` and `app_billing_test`. +Coverage will be reported on all objects in the schemas `app_orders` and `app_billing`, even though those schemas are not mentioned in the paths. +Any other schema whose name matches the expression is reported as well. -Example: Limiting coverage by object name, for tested code located in the same schema as the unit tests. +Example: Include all application schemas and exclude the test schemas, using one include and one exclude expression. ```sql linenums="1" begin - ut.run(ut_varchar2_list('user_1','user_2'), ut_coverage_html_reporter(), - a_include_objects=>ut_varchar2_list('award_bonus') + ut.run( + ut_varchar2_list('app_orders_test','app_billing_test'), ut_coverage_html_reporter(), + a_include_schema_expr => '^app_', + a_exclude_schema_expr => '_test$' ); end; ``` -Executes all tests in schemas: `user_1` and `user_2`. Coverage will only be reported on objects `user_1.award_bonus`, `user_2.award_bonus` - +Coverage will be reported on all schemas whose name starts with `app_` except the ones whose name ends with `_test`. +When a new schema `app_shipping` is created, it is included without any change to the call. -Example: Limiting coverage by object name, for tested code located in different schemas than the unit tests. +Example: Report coverage on one functional area of a schema, identified by a naming convention. ```sql linenums="1" begin ut.run( - 'unit_test_schema', ut_coverage_html_reporter(), - a_coverage_schemes => ut_varchar2_list('user_1','user_2'), - a_include_objects => ut_varchar2_list('award_bonus', 'betwnstr') + 'app_orders_test', ut_coverage_html_reporter(), + a_include_schema_expr => '^app_orders$', + a_include_object_expr => '^(ord|invoice)_' ); end; ``` -Executes all tests in schema `unit_test_schema`. Coverage will only be reported on objects `user_1.award_bonus`, `user_2.award_bonus`, `user_1.betwnstr`, `user_2.betwnstr`. -Objects that do not exist in the database but were specified in `a_include_objects` will be ignored. +Coverage will be reported only on objects in schema `app_orders` whose name starts with `ord_` or `invoice_`. -Example: Limiting coverage by object owner and name. +Example: Keep generated and temporary objects out of the coverage report. ```sql linenums="1" begin ut.run( - 'unit_test_schema', ut_coverage_html_reporter(), - a_include_objects => ut_varchar2_list('user_1.award_bonus','user_2.betwnstr') + 'app_orders_test', ut_coverage_html_reporter(), + a_coverage_schemes => ut_varchar2_list('app_orders'), + a_exclude_object_expr => '(_tmp|_gen)$' ); end; ``` -Executes all tests in schema `unit_test_schema`. Coverage will only be reported on objects `user_1.award_bonus`, `user_2.betwnstr` +There is no include expression, so coverage is gathered on the schema `app_orders` given in `a_coverage_schemes`. +Objects whose name ends with `_tmp` or `_gen` are left out. -The `a_exclude_objects` can be used in the same way as `a_include_objects`. - -Example: Excluding objects from coverage report by providing a list of object owner/name to be excluded. +Example: Use an expression for the bulk of the scope and a list for the exceptions. ```sql linenums="1" begin ut.run( - 'unit_test_schema.test_award_bonus', ut_coverage_html_reporter(), - a_exclude_objects => ut_varchar2_list('ut3_user.betwnstr') + 'app_orders_test', ut_coverage_html_reporter(), + a_include_schema_expr => '^app_orders$', + a_exclude_objects => ut_varchar2_list('app_orders.ord_legacy') ); end; ``` -Executes test `test_award_bonus` in schema `unit_test_schema`. Coverage will be reported on all objects in schema `ut3_user` except the `betwnstr` object. +Coverage will be reported on all objects in schema `app_orders` except for `ord_legacy`. +The list can be used with an include expression. It would be ignored if an exclude expression was given too. + +!!! note + An include object expression used **without** an include schema expression is not limited to the schemas of your tests. + It is applied to the objects of all schemas visible to the user running the tests, for example `a_include_object_expr => '^ord_'` + also reports objects named `ord_...` in other schemas. Add `a_include_schema_expr` to keep the scope where you want it. !!! note Filtering using `a_include_objects` and `a_exclude_objects` is only applicable when gathering coverage for a schema. Those filters are not applied when reporting coverage on project files. + The same is true for the expression parameters. !!! note When running coverage on schema objects, all source code of package bodies, functions, procedures, type bodies and triggers that were not executed will be reported as having 0% code coverage and all source code lines will show as uncovered. This is different from the behavior when gathering coverage on project files. +##### Using the filters from utPLSQL-cli and the Maven plugin + +The filter options described above are available in [utPLSQL-cli](https://www.utplsql.org/utPLSQL-cli.html) +and in the [utPLSQL-maven-plugin](https://www.utplsql.org/utPLSQL-maven-plugin.html), and the same rules apply +(which options are ignored when several are given, how expressions are matched, and that the filters are not applied when coverage is gathered on project files). +See the documentation of those tools for the list of supported options and their names. ### Project based Coverage From 028ea26ae95b49863f4ed552a1704f053b8d8236 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 20 Oct 2026 11:47:24 +0100 Subject: [PATCH 164/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- source/core/ut_utils.pks | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index cbd82cad4..5986073ac 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4560 +4564 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 3d816a129..50386faaf 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.4.4560-develop'; + gc_version constant varchar2(50) := 'v3.2.4.4564-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From 77e12a4d00aa50c3d3640a4fef89157de48619ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Sun, 1 Nov 2026 23:06:55 +0200 Subject: [PATCH 165/171] Fixes to CONTRIBUTING.md --- CONTRIBUTING.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 964559260..465b1e4ad 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -43,7 +43,7 @@ Not able to contribute code? You can also support the project through [sponsorsh Your local environment can be of any flavor (Unix/Linux/Windows/Mac). At minimum, you need to have Oracle database 19c accessible for the project and SYS account access to install and develop utPLSQL. -We use four different database accounts (users) for development process. +We use five different database accounts (users) for development process. * `ut3` - holds latest released version of utPLSQL. This schema holds the testing framework used for self-testing of utPLSQL development. * `ut3_develop` - holds the version of utPLSQL of your current branch. This is the schema you will be working on. * `ut3_tester` - holds unit test packages for development of utPLSQL. @@ -107,12 +107,12 @@ The below script is fetching latest release version from utPLSQL repository. Lat ### That's it You now have the following: -- sources from `develop` branch of your fork of utPLSQL repository in `utPLSQL/ut3_latest_release` directory -- sources from `main` branch of utPLSQL/utPLSQL repository in `utPLSQL/ut3_latest_release` directory +- sources from your fork of utPLSQL repository in `utPLSQL` directory +- sources from utPLSQL/utPLSQL repository (branch set by `SELFTESTING_BRANCH` in `development/env.sh`) in `utPLSQL/utPLSQL_latest_release` directory - binaries of `utplsql-cli` in `utPLSQL/utPLSQL-cli` directory - database users created -- your current branch of utPLSQL deployed into `ut3` schema -- utPLSQL released version deployed to `ut3_latest_release` +- your current branch of utPLSQL deployed into `ut3_develop` schema +- utPLSQL released version deployed into `ut3` schema At any time, if you need to refresh your database, the below scripts might be helpful. @@ -122,7 +122,7 @@ At any time, if you need to refresh your database, the below scripts might be he development/cleanup.sh ``` -## Reinstalling utPLSQL development in `ut3` schema +## Reinstalling utPLSQL development in `ut3_develop` schema ```bash development/refresh_ut3.sh From 6990e3c09b5b4a159ce3b22faeb9c27892d1b526 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Sun, 1 Nov 2026 23:25:29 +0200 Subject: [PATCH 166/171] Added info about local docker-container DB for development --- CONTRIBUTING.md | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 465b1e4ad..5b3ca6a35 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -50,7 +50,33 @@ We use five different database accounts (users) for development process. * `ut3_user` - used for testing accessibility to schema names with special characters. * `ut3_tester_helper` - elevated privileges user, used for creating and dropping objects in other schemas during test run. +## Local database in a disposable Docker container +We use, and recommend, a disposable Docker container with Oracle Database Free, built from [gvenzl/oci-oracle-free](https://github.com/gvenzl/oci-oracle-free/tree/main), using image `gvenzl/oracle-free:slim-faststart`. +The container needs no setup and can be thrown away and recreated whenever you need a clean database. +`ORACLE_PASSWORD` sets the SYS password. Use the same value for `ORACLE_PWD` in `development/env.sh`, and connect to `127.0.0.1:1521/FREEPDB1`. + +Run the container in background: +```bash +docker run -d --name utplsql-db -p 1521:1521 -e ORACLE_PASSWORD=oracle gvenzl/oracle-free:slim-faststart +``` + +Stop the container: +```bash +docker stop utplsql-db +``` + +Restart the container (database content is kept): +```bash +docker restart utplsql-db +``` + +Recreate the container (database content is lost): +```bash +docker rm -f utplsql-db && docker run -d --name utplsql-db -p 1521:1521 -e ORACLE_PASSWORD=oracle gvenzl/oracle-free:slim-faststart +``` + +The database is ready to use once `docker logs utplsql-db` shows `DATABASE IS READY TO USE!`. ## Get started with development @@ -87,7 +113,7 @@ You might have to adjust the following lines in `development/env.sh`: ```bash export SQLCLI=sql # For sqlcl client #export SQLCLI=sqlplus # For sqlplus client -export CONNECTION_STR=127.0.0.1:1521/xe # Adjust the connect string +export CONNECTION_STR=127.0.0.1:1521/FREEPDB1 # Adjust the connect string export ORACLE_PWD=oracle # Adjust your local SYS password ``` From aeb536b487e23636262f2a812f047338665fefdd Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 1 Nov 2026 21:32:28 +0000 Subject: [PATCH 167/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- source/core/ut_utils.pks | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index 5986073ac..0276a7e4b 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4564 +4567 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 50386faaf..8a146b6a6 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.4.4564-develop'; + gc_version constant varchar2(50) := 'v3.2.4.4567-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From db4baf4a1dfda74e6a578b3abe92373e7c1c9f0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Sun, 1 Nov 2026 23:54:46 +0200 Subject: [PATCH 168/171] Fixed the `refresh_ut3.sh` script to work correctly. --- .github/scripts/create_test_grants.sh | 40 +++++++++++++++++++++++++++ .github/scripts/create_test_users.sh | 31 ++------------------- development/refresh_ut3.sh | 12 +++++++- 3 files changed, 53 insertions(+), 30 deletions(-) create mode 100755 .github/scripts/create_test_grants.sh diff --git a/.github/scripts/create_test_grants.sh b/.github/scripts/create_test_grants.sh new file mode 100755 index 000000000..d92c02d99 --- /dev/null +++ b/.github/scripts/create_test_grants.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +set -ev + +# Grants on $UT3_DEVELOP_SCHEMA needed for testing. Must be re-applied whenever $UT3_DEVELOP_SCHEMA is reinstalled. +time "$SQLCLI" sys/$ORACLE_PWD@//$CONNECTION_STR AS SYSDBA <<-SQL +set feedback off +whenever sqlerror exit failure rollback + +-------------------------------------------------------------------------------- +PROMPT Adding back create-trigger privilege to $UT3_DEVELOP_SCHEMA for testing +grant administer database trigger to $UT3_DEVELOP_SCHEMA; + +-------------------------------------------------------------------------------- +PROMPT Granting $UT3_DEVELOP_SCHEMA code to UT3_TESTER + +begin + for i in ( + select object_name from all_objects t + where t.object_type in ('PACKAGE','TYPE') + and owner = '$UT3_DEVELOP_SCHEMA' + and generated = 'N' + and object_name not like 'SYS%') + loop + execute immediate 'grant execute on $UT3_DEVELOP_SCHEMA."'||i.object_name||'" to UT3_TESTER'; + end loop; +end; +/ + +PROMPT Granting $UT3_DEVELOP_SCHEMA tables to UT3_TESTER + +begin + for i in ( select table_name from all_tables t where owner = '$UT3_DEVELOP_SCHEMA' and nested = 'NO' and iot_name is null) + loop + execute immediate 'grant select on $UT3_DEVELOP_SCHEMA.'||i.table_name||' to UT3_TESTER'; + end loop; +end; +/ +exit +SQL diff --git a/.github/scripts/create_test_users.sh b/.github/scripts/create_test_users.sh index 6c3030206..9708f4f7f 100755 --- a/.github/scripts/create_test_users.sh +++ b/.github/scripts/create_test_users.sh @@ -8,10 +8,6 @@ time "$SQLCLI" sys/$ORACLE_PWD@//$CONNECTION_STR AS SYSDBA <<-SQL set feedback off whenever sqlerror exit failure rollback --------------------------------------------------------------------------------- -PROMPT Adding back create-trigger privilege to $UT3_DEVELOP_SCHEMA for testing -grant administer database trigger to $UT3_DEVELOP_SCHEMA; - -------------------------------------------------------------------------------- PROMPT Creating UT3_TESTER - Power-user for testing internal framework code @@ -23,31 +19,6 @@ alter user UT3_TESTER enable editions; grant execute on dbms_lock to UT3_TESTER; -PROMPT Granting $UT3_DEVELOP_SCHEMA code to UT3_TESTER - -begin - for i in ( - select object_name from all_objects t - where t.object_type in ('PACKAGE','TYPE') - and owner = '$UT3_DEVELOP_SCHEMA' - and generated = 'N' - and object_name not like 'SYS%') - loop - execute immediate 'grant execute on $UT3_DEVELOP_SCHEMA."'||i.object_name||'" to UT3_TESTER'; - end loop; -end; -/ - -PROMPT Granting $UT3_DEVELOP_SCHEMA tables to UT3_TESTER - -begin - for i in ( select table_name from all_tables t where owner = '$UT3_DEVELOP_SCHEMA' and nested = 'NO' and iot_name is null) - loop - execute immediate 'grant select on $UT3_DEVELOP_SCHEMA.'||i.table_name||' to UT3_TESTER'; - end loop; -end; -/ - -------------------------------------------------------------------------------- PROMPT Creating UT3_USER - minimal privileges user for API testing @@ -119,3 +90,5 @@ create user ut3_execute_any_proc_user identified by ut3; grant create session, create procedure, execute any procedure to ut3_execute_any_proc_user; exit SQL + +"${SCRIPT_DIR}/create_test_grants.sh" diff --git a/development/refresh_ut3.sh b/development/refresh_ut3.sh index 827af827d..7685549ad 100755 --- a/development/refresh_ut3.sh +++ b/development/refresh_ut3.sh @@ -1,4 +1,5 @@ #!/bin/bash +set -e #goto git root directory git rev-parse && cd "$(git rev-parse --show-cdup)" @@ -7,8 +8,17 @@ git rev-parse && cd "$(git rev-parse --show-cdup)" cd source +"${SQLCLI}" sys/${ORACLE_PWD}@//${CONNECTION_STR} AS SYSDBA @uninstall ${UT3_DEVELOP_SCHEMA} + +# Same install steps as .github/scripts/install.sh, without recreating the user or public synonyms "${SQLCLI}" sys/${ORACLE_PWD}@//${CONNECTION_STR} AS SYSDBA <<-SQL -@uninstall ${UT3_DEVELOP_SCHEMA} +whenever sqlerror exit failure rollback +alter session set plsql_optimize_level=0; @install ${UT3_DEVELOP_SCHEMA} +@create_grants ${UT3_DEVELOP_SCHEMA} PUBLIC +@install_ddl_trigger ${UT3_DEVELOP_SCHEMA} exit SQL + +# Reinstall dropped the grants on ${UT3_DEVELOP_SCHEMA} objects +../.github/scripts/create_test_grants.sh From 24fd22d94fd464089a371c672ad1b18bddba3a4e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 1 Nov 2026 22:01:49 +0000 Subject: [PATCH 169/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- source/core/ut_utils.pks | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index 0276a7e4b..23b21f1d1 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4567 +4568 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 8a146b6a6..805319fff 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.4.4567-develop'; + gc_version constant varchar2(50) := 'v3.2.4.4568-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall'; From 3ec48c0bbfbe4e514f077bd9cc9d0a1bc535365a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Mon, 2 Nov 2026 00:44:29 +0200 Subject: [PATCH 170/171] Remove compatibility for Oracle DB prior to 19c utPLSQL now supports only Oracle 19c and newer. This removes the conditional compilation and install logic that existed only for 11g, 12.1, 12.2 and 18c. --- .github/scripts/create_test_users.sh | 21 +++--- .github/scripts/install_utplsql_release.sh | 1 - .gitignore | 1 - source/check_object_grants.sql | 6 +- .../annotations/ut_annotation_manager.pkb | 11 +-- source/core/coverage/ut_coverage.pkb | 67 +++++++++---------- source/core/coverage/ut_coverage_block.pkb | 2 - .../coverage/ut_coverage_helper_block.pkb | 38 ++++------- source/core/ut_expectation_processor.pkb | 3 +- source/dummy.sql | 1 - .../data_values/ut_cursor_details.tpb | 4 -- .../data_values/ut_data_value_refcursor.tpb | 8 +-- source/expectations/json_objects_specs.sql | 63 ----------------- source/install_above_12_1.sql | 44 ------------ source/uninstall_objects.sql | 8 +-- source/uninstall_synonyms.sql | 2 +- test/install_above_12_1.sql | 28 -------- test/install_below_12_2.sql | 28 -------- test/install_ut3_user_tests.sql | 8 +-- test/ut3_tester/core/test_ut_utils.pkb | 2 +- test/ut3_tester/core/test_ut_utils.pks | 1 - test/ut3_tester_helper/coverage_helper.pkb | 15 +---- test/ut3_tester_helper/coverage_helper.pks | 2 - .../expectations/test_expectation_anydata.pkb | 2 - .../expectations/test_expectation_anydata.pks | 2 - .../expectations/test_expectations_cursor.pkb | 21 ++---- .../test_cov_cobertura_reporter.pkb | 6 +- .../test_coverage_sonar_reporter.pkb | 6 +- .../test_coverage_standalone.pkb | 6 +- .../test_coverage/test_extended_coverage.pkb | 11 +-- .../test_html_coverage_reporter.pkb | 4 +- 31 files changed, 79 insertions(+), 343 deletions(-) delete mode 100644 source/dummy.sql delete mode 100644 source/install_above_12_1.sql delete mode 100644 test/install_above_12_1.sql delete mode 100644 test/install_below_12_2.sql diff --git a/.github/scripts/create_test_users.sh b/.github/scripts/create_test_users.sh index 9708f4f7f..41051e33d 100755 --- a/.github/scripts/create_test_users.sh +++ b/.github/scripts/create_test_users.sh @@ -33,19 +33,14 @@ PROMPT Grants for starting a debugging session from UT3_USER grant debug connect session to UT3_USER; grant debug any procedure to UT3_USER; begin - \$if dbms_db_version.version <= 11 \$then - null; -- no addition action necessary - \$else - -- necessary on 12c or higher - dbms_network_acl_admin.append_host_ace ( - host =>'*', - ace => sys.xs\$ace_type( - privilege_list => sys.xs\$name_list('JDWP') , - principal_name => 'UT3_USER', - principal_type => sys.xs_acl.ptype_db - ) - ); - \$end + dbms_network_acl_admin.append_host_ace ( + host =>'*', + ace => sys.xs\$ace_type( + privilege_list => sys.xs\$name_list('JDWP') , + principal_name => 'UT3_USER', + principal_type => sys.xs_acl.ptype_db + ) + ); end; / diff --git a/.github/scripts/install_utplsql_release.sh b/.github/scripts/install_utplsql_release.sh index e50718c7b..b9e23d214 100755 --- a/.github/scripts/install_utplsql_release.sh +++ b/.github/scripts/install_utplsql_release.sh @@ -43,7 +43,6 @@ fi "$SQLCLI" sys/$ORACLE_PWD@//$CONNECTION_STR AS SYSDBA <= 18 $then - c_expected_grants constant dbmsoutput_linesarray := dbmsoutput_linesarray('DBMS_CRYPTO'); - $else - c_expected_grants constant dbmsoutput_linesarray := dbmsoutput_linesarray('DBMS_LOCK','DBMS_CRYPTO'); - $end + c_expected_grants constant dbmsoutput_linesarray := dbmsoutput_linesarray('DBMS_CRYPTO'); l_missing_grants varchar2(4000); l_target_table varchar2(128); l_owner_column varchar2(128); diff --git a/source/core/annotations/ut_annotation_manager.pkb b/source/core/annotations/ut_annotation_manager.pkb index 4e1729beb..c10b99708 100644 --- a/source/core/annotations/ut_annotation_manager.pkb +++ b/source/core/annotations/ut_annotation_manager.pkb @@ -277,15 +277,8 @@ create or replace noneditionable package body ut_annotation_manager as begin if ora_dict_obj_type in ('PACKAGE','PROCEDURE','FUNCTION','TYPE') then - $if dbms_db_version.version < 12 $then - l_restricted_users := ora_name_list_t( - 'ANONYMOUS','APPQOSSYS','AUDSYS','DBSFWUSER','DBSNMP','DIP','GGSYS','GSMADMIN_INTERNAL', - 'GSMCATUSER','GSMUSER','ORACLE_OCM','OUTLN','REMOTE_SCHEDULER_AGENT','SYS','SYS$UMF', - 'SYSBACKUP','SYSDG','SYSKM','SYSRAC','SYSTEM','WMSYS','XDB','XS$NULL'); - $else - select /*+ no_parallel */ username bulk collect into l_restricted_users - from all_users where oracle_maintained = 'Y'; - $end + select /*+ no_parallel */ username bulk collect into l_restricted_users + from all_users where oracle_maintained = 'Y'; if ora_dict_obj_owner member of l_restricted_users then return; end if; diff --git a/source/core/coverage/ut_coverage.pkb b/source/core/coverage/ut_coverage.pkb index 9f5649ac1..257d809ed 100644 --- a/source/core/coverage/ut_coverage.pkb +++ b/source/core/coverage/ut_coverage.pkb @@ -277,41 +277,38 @@ create or replace noneditionable package body ut_coverage is l_result_profiler_enrich := ut_coverage_profiler.get_coverage_data( l_coverage_options ); ut_event_manager.trigger_event('profiler coverage data retrieved'); - -- If block coverage available we will use it. - $if dbms_db_version.version = 12 and dbms_db_version.release >= 2 or dbms_db_version.version > 12 $then - l_result_block := ut_coverage_block.get_coverage_data( l_coverage_options ); - ut_event_manager.trigger_event('block coverage data retrieved'); - - -- Enrich profiler results with some of the block results - l_object := l_result_profiler_enrich.objects.first; - while (l_object is not null) loop - - l_line_no := l_result_profiler_enrich.objects(l_object).lines.first; - - -- to avoid no data found check if we got object in profiler - if l_result_block.objects.exists(l_object) then - while (l_line_no is not null) loop - -- To avoid no data check for object line - if l_result_block.objects(l_object).lines.exists(l_line_no) then - -- enrich line level stats - l_result_profiler_enrich.objects(l_object).lines(l_line_no).partcove := l_result_block.objects(l_object).lines(l_line_no).partcove; - l_result_profiler_enrich.objects(l_object).lines(l_line_no).covered_blocks := l_result_block.objects(l_object).lines(l_line_no).covered_blocks; - l_result_profiler_enrich.objects(l_object).lines(l_line_no).no_blocks := l_result_block.objects(l_object).lines(l_line_no).no_blocks; - -- enrich object level stats - l_result_profiler_enrich.objects(l_object).partcovered_lines := nvl(l_result_profiler_enrich.objects(l_object).partcovered_lines,0) + l_result_block.objects(l_object).lines(l_line_no).partcove; - end if; - --At the end go to next line - l_line_no := l_result_profiler_enrich.objects(l_object).lines.next(l_line_no); - end loop; - --total level stats enrich - l_result_profiler_enrich.partcovered_lines := nvl(l_result_profiler_enrich.partcovered_lines,0) + l_result_profiler_enrich.objects(l_object).partcovered_lines; - -- At the end go to next object - end if; - - l_object := l_result_profiler_enrich.objects.next(l_object); - end loop; - ut_event_manager.trigger_event('coverage data combined'); - $end + l_result_block := ut_coverage_block.get_coverage_data( l_coverage_options ); + ut_event_manager.trigger_event('block coverage data retrieved'); + + -- Enrich profiler results with some of the block results + l_object := l_result_profiler_enrich.objects.first; + while (l_object is not null) loop + + l_line_no := l_result_profiler_enrich.objects(l_object).lines.first; + + -- to avoid no data found check if we got object in profiler + if l_result_block.objects.exists(l_object) then + while (l_line_no is not null) loop + -- To avoid no data check for object line + if l_result_block.objects(l_object).lines.exists(l_line_no) then + -- enrich line level stats + l_result_profiler_enrich.objects(l_object).lines(l_line_no).partcove := l_result_block.objects(l_object).lines(l_line_no).partcove; + l_result_profiler_enrich.objects(l_object).lines(l_line_no).covered_blocks := l_result_block.objects(l_object).lines(l_line_no).covered_blocks; + l_result_profiler_enrich.objects(l_object).lines(l_line_no).no_blocks := l_result_block.objects(l_object).lines(l_line_no).no_blocks; + -- enrich object level stats + l_result_profiler_enrich.objects(l_object).partcovered_lines := nvl(l_result_profiler_enrich.objects(l_object).partcovered_lines,0) + l_result_block.objects(l_object).lines(l_line_no).partcove; + end if; + --At the end go to next line + l_line_no := l_result_profiler_enrich.objects(l_object).lines.next(l_line_no); + end loop; + --total level stats enrich + l_result_profiler_enrich.partcovered_lines := nvl(l_result_profiler_enrich.partcovered_lines,0) + l_result_profiler_enrich.objects(l_object).partcovered_lines; + -- At the end go to next object + end if; + + l_object := l_result_profiler_enrich.objects.next(l_object); + end loop; + ut_event_manager.trigger_event('coverage data combined'); return l_result_profiler_enrich; end get_coverage_data; diff --git a/source/core/coverage/ut_coverage_block.pkb b/source/core/coverage/ut_coverage_block.pkb index 9ca4caff4..d6f52d9db 100644 --- a/source/core/coverage/ut_coverage_block.pkb +++ b/source/core/coverage/ut_coverage_block.pkb @@ -32,7 +32,6 @@ create or replace noneditionable package body ut_coverage_block is l_source_object ut_coverage_helper.t_tmp_table_object; begin - $if dbms_db_version.version = 12 and dbms_db_version.release >= 2 or dbms_db_version.version > 12 $then l_source_objects_crsr := ut_coverage_helper.get_tmp_table_objects_cursor(); loop fetch l_source_objects_crsr @@ -151,7 +150,6 @@ create or replace noneditionable package body ut_coverage_block is end loop; close l_source_objects_crsr; - $end return l_result; end get_coverage_data; diff --git a/source/core/coverage/ut_coverage_helper_block.pkb b/source/core/coverage/ut_coverage_helper_block.pkb index ec4b9d04b..6aa9f6912 100644 --- a/source/core/coverage/ut_coverage_helper_block.pkb +++ b/source/core/coverage/ut_coverage_helper_block.pkb @@ -25,20 +25,12 @@ create or replace noneditionable package body ut_coverage_helper_block is function coverage_start(a_run_comment varchar2) return integer is begin - $if dbms_db_version.version = 12 and dbms_db_version.release >= 2 or dbms_db_version.version > 12 $then - return dbms_plsql_code_coverage.start_coverage(run_comment => a_run_comment); - $else - return null; - $end + return dbms_plsql_code_coverage.start_coverage(run_comment => a_run_comment); end; procedure coverage_stop is begin - $if dbms_db_version.version = 12 and dbms_db_version.release >= 2 or dbms_db_version.version > 12 $then - dbms_plsql_code_coverage.stop_coverage(); - $else - null; - $end + dbms_plsql_code_coverage.stop_coverage(); exception when others then if sqlcode = -08402 then @@ -89,21 +81,19 @@ create or replace noneditionable package body ut_coverage_helper_block is l_results ut_coverage_helper.t_unit_line_calls; begin - $if dbms_db_version.version = 12 and dbms_db_version.release >= 2 or dbms_db_version.version > 12 $then - l_tmp_data := block_results(a_object, a_coverage_run_id); + l_tmp_data := block_results(a_object, a_coverage_run_id); - for i in 1 .. l_tmp_data.count loop - l_results(l_tmp_data(i).line).blocks := l_tmp_data(i).blocks; - l_results(l_tmp_data(i).line).covered_blocks := l_tmp_data(i).covered_blocks; - l_results(l_tmp_data(i).line).partcovered := - case - when (l_tmp_data(i).covered_blocks > 0) - and (l_tmp_data(i).blocks > l_tmp_data(i).covered_blocks) - then 1 - else 0 - end; - end loop; - $end + for i in 1 .. l_tmp_data.count loop + l_results(l_tmp_data(i).line).blocks := l_tmp_data(i).blocks; + l_results(l_tmp_data(i).line).covered_blocks := l_tmp_data(i).covered_blocks; + l_results(l_tmp_data(i).line).partcovered := + case + when (l_tmp_data(i).covered_blocks > 0) + and (l_tmp_data(i).blocks > l_tmp_data(i).covered_blocks) + then 1 + else 0 + end; + end loop; return l_results; end; end; diff --git a/source/core/ut_expectation_processor.pkb b/source/core/ut_expectation_processor.pkb index ab8a5f3f5..8876cbb30 100644 --- a/source/core/ut_expectation_processor.pkb +++ b/source/core/ut_expectation_processor.pkb @@ -155,8 +155,7 @@ create or replace noneditionable package body ut_expectation_processor as l_owner varchar2(1000); l_object_name varchar2(1000); l_result varchar2(4000); - -- in 12.2 format_call_stack reportes not only package name, but also the procedure name - -- when 11g and 12c reports only package name + -- format_call_stack reports not only package name, but also the procedure name function cut_header_and_expectations( a_stack varchar2 ) return varchar2 is begin return regexp_substr( a_stack, '(.*\.(UT_EQUAL|UT_BE_WITHIN[[:alnum:]$#_]*|UT_EXPECTATION[[:alnum:]$#_]*|UT|UTASSERT2?)(\.[[:alnum:]$#_]+)?\s+)+((.|\s)*)', 1, 1, 'm', 4); diff --git a/source/dummy.sql b/source/dummy.sql deleted file mode 100644 index 36d9f8778..000000000 --- a/source/dummy.sql +++ /dev/null @@ -1 +0,0 @@ -whenever sqlerror exit failure rollback diff --git a/source/expectations/data_values/ut_cursor_details.tpb b/source/expectations/data_values/ut_cursor_details.tpb index ae10cafff..bfbe435e5 100644 --- a/source/expectations/data_values/ut_cursor_details.tpb +++ b/source/expectations/data_values/ut_cursor_details.tpb @@ -108,11 +108,7 @@ create or replace noneditionable type body ut_cursor_details as a_cursor_number in number ) return self as result is l_columns_count pls_integer; - $if dbms_db_version.version = 12 and dbms_db_version.release = 1 or dbms_db_version.version < 12 $then - l_columns_desc dbms_sql.desc_tab3; - $else l_columns_desc dbms_sql.desc_tab4; - $end l_is_collection boolean; l_hierarchy_level integer := 1; begin diff --git a/source/expectations/data_values/ut_data_value_refcursor.tpb b/source/expectations/data_values/ut_data_value_refcursor.tpb index 01a71d4dd..af6d1791b 100644 --- a/source/expectations/data_values/ut_data_value_refcursor.tpb +++ b/source/expectations/data_values/ut_data_value_refcursor.tpb @@ -51,12 +51,8 @@ create or replace noneditionable type body ut_data_value_refcursor as loop l_xml := dbms_xmlgen.getxmltype(l_ctx); exit when dbms_xmlgen.getNumRowsProcessed(l_ctx) = 0; - --Bug in oracle 12.2+ where XML binary storage trimming insignificant whitespaces. - $if dbms_db_version.version = 12 and dbms_db_version.release >= 2 or dbms_db_version.version > 12 $then - l_xml := xmltype( replace(l_xml.getClobVal(),'= 2 - or dbms_db_version.version > 12 - then - :V_FILE_NAME := '&&FILE_NAME'; - else - :V_FILE_NAME := 'dummy.sql'; - end if; -end; -/ - -set verify off -select :V_FILE_NAME as SCRIPT_NAME from dual; -set termout on - -set heading off -set feedback off -exec dbms_output.put_line('Installing component '||upper(regexp_substr('&&1','\/(\w*)\.',1,1,'i',1))); -@@&&SCRIPT_NAME -exec dbms_output.put_line('&&line_separator'); - - - diff --git a/source/uninstall_objects.sql b/source/uninstall_objects.sql index 3e2c2f988..6cdde8db4 100644 --- a/source/uninstall_objects.sql +++ b/source/uninstall_objects.sql @@ -273,12 +273,6 @@ begin $if dbms_db_version.version < 21 $then begin execute immediate 'drop type json force'; exception when others then null; end; $end - $if dbms_db_version.version = 12 and dbms_db_version.release = 1 or dbms_db_version.version < 12 $then - begin execute immediate 'drop type json_element_t force'; exception when others then null; end; - begin execute immediate 'drop type json_object_t force'; exception when others then null; end; - begin execute immediate 'drop type json_array_t force'; exception when others then null; end; - begin execute immediate 'drop type json_key_list force'; exception when others then null; end; - $end end; / @@ -417,7 +411,7 @@ set feedback off declare i integer := 0; begin - dbms_output.put_line('Dropping packages created for 12.2+ ' || upper('&&ut3_owner')); + dbms_output.put_line('Dropping block coverage packages ' || upper('&&ut3_owner')); for pkg in ( select object_name, owner from all_objects diff --git a/source/uninstall_synonyms.sql b/source/uninstall_synonyms.sql index 58e24060b..783ac51e8 100644 --- a/source/uninstall_synonyms.sql +++ b/source/uninstall_synonyms.sql @@ -49,7 +49,7 @@ end; declare i integer := 0; begin - dbms_output.put_line('Dropping synonyms pointing to PL/SQL code coverage objects on 12.2 ' || upper('&&ut3_owner')); + dbms_output.put_line('Dropping synonyms pointing to PL/SQL code coverage objects ' || upper('&&ut3_owner')); for syn in ( select case when owner = 'PUBLIC' then 'public synonym ' diff --git a/test/install_above_12_1.sql b/test/install_above_12_1.sql deleted file mode 100644 index fe20cf816..000000000 --- a/test/install_above_12_1.sql +++ /dev/null @@ -1,28 +0,0 @@ -set termout off -set echo off -spool dummy.sql -prompt whenever sqlerror exit failure rollback -spool off - - -def FILE_NAME = '&&1' -column SCRIPT_NAME new_value SCRIPT_NAME noprint - -VAR V_FILE_NAME VARCHAR2(1000); -begin - if dbms_db_version.version = 12 and dbms_db_version.release >= 2 - or dbms_db_version.version > 12 - then - :V_FILE_NAME := '&&FILE_NAME'; - else - :V_FILE_NAME := 'dummy.sql'; - end if; -end; -/ -set verify off -select :V_FILE_NAME as SCRIPT_NAME from dual; -set termout on - - -@@&&SCRIPT_NAME - diff --git a/test/install_below_12_2.sql b/test/install_below_12_2.sql deleted file mode 100644 index 669ae75fc..000000000 --- a/test/install_below_12_2.sql +++ /dev/null @@ -1,28 +0,0 @@ -set termout off -set echo off -spool dummy.sql -prompt whenever sqlerror exit failure rollback -spool off - - -def FILE_NAME = '&&1' -column SCRIPT_NAME new_value SCRIPT_NAME noprint - -VAR V_FILE_NAME VARCHAR2(1000); -begin - if dbms_db_version.version = 12 and dbms_db_version.release < 2 - or dbms_db_version.version < 12 - then - :V_FILE_NAME := '&&FILE_NAME'; - else - :V_FILE_NAME := 'dummy.sql'; - end if; -end; -/ -set verify off -select :V_FILE_NAME as SCRIPT_NAME from dual; -set termout on - - -@@&&SCRIPT_NAME - diff --git a/test/install_ut3_user_tests.sql b/test/install_ut3_user_tests.sql index b74c5d7ae..36966b3f6 100644 --- a/test/install_ut3_user_tests.sql +++ b/test/install_ut3_user_tests.sql @@ -30,9 +30,7 @@ prompt Install user tests @@ut3_user/expectations/test_matchers.pks @@ut3_user/expectations/test_expectation_anydata.pks @@ut3_user/expectations/test_expectations_cursor.pks -set define on -@@install_above_12_1.sql 'ut3_user/expectations/test_expectations_json.pks' -set define off +@@ut3_user/expectations/test_expectations_json.pks @@ut3_user/api/test_ut_runner.pks @@ut3_user/api/test_ut_run.pks @@ut3_user/reporters.pks @@ -73,9 +71,7 @@ set define off @@ut3_user/expectations/test_matchers.pkb @@ut3_user/expectations/test_expectation_anydata.pkb @@ut3_user/expectations/test_expectations_cursor.pkb -set define on -@@install_above_12_1.sql 'ut3_user/expectations/test_expectations_json.pkb' -set define off +@@ut3_user/expectations/test_expectations_json.pkb @@ut3_user/api/test_ut_runner.pkb @@ut3_user/api/test_ut_run.pkb @@ut3_user/reporters.pkb diff --git a/test/ut3_tester/core/test_ut_utils.pkb b/test/ut3_tester/core/test_ut_utils.pkb index 4dc10492b..d46835f66 100644 --- a/test/ut3_tester/core/test_ut_utils.pkb +++ b/test/ut3_tester/core/test_ut_utils.pkb @@ -287,7 +287,7 @@ end;'; l_varchar2_byte_limit integer := 32767; l_workaround_byte_limit integer := 8191; l_singlebyte_string_max_size varchar2(32767 char) := rpad('x',l_varchar2_byte_limit,'x'); - l_twobyte_character char(1 char) := 'οΏ½?'; + l_twobyte_character char(1 char) := unistr('\00E4'); l_clob_multibyte clob := l_twobyte_character||l_singlebyte_string_max_size; --here we have 32769(2+32767) bytes and 32768 chars l_expected ut3_develop.ut_varchar2_list := ut3_develop.ut_varchar2_list(); l_result ut3_develop.ut_varchar2_list; diff --git a/test/ut3_tester/core/test_ut_utils.pks b/test/ut3_tester/core/test_ut_utils.pks index ca2e7b304..82145f908 100644 --- a/test/ut3_tester/core/test_ut_utils.pks +++ b/test/ut3_tester/core/test_ut_utils.pks @@ -93,7 +93,6 @@ create or replace package test_ut_utils is procedure clean_append_with_multibyte; --%test(clob_to_table - converts multibyte CLOB to ut_varchar2_list) - --%disabled(We cannot run this test successfully on 12.1 until we change NLSCHARACTERSET from US7ASCII to AL32UTF8) procedure test_clob_to_table_multibyte; --%test(to_version - splits version string into individual version components) diff --git a/test/ut3_tester_helper/coverage_helper.pkb b/test/ut3_tester_helper/coverage_helper.pkb index ef14c586f..cf072ce3c 100644 --- a/test/ut3_tester_helper/coverage_helper.pkb +++ b/test/ut3_tester_helper/coverage_helper.pkb @@ -2,22 +2,9 @@ create or replace package body coverage_helper is g_job_no integer := 0; - function block_coverage_available return boolean is - begin - $if dbms_db_version.version = 12 and dbms_db_version.release >= 2 or dbms_db_version.version > 12 $then - return true; - $else - return false; - $end - end; - function covered_package_name return varchar2 is begin - $if dbms_db_version.version = 12 and dbms_db_version.release >= 2 or dbms_db_version.version > 12 $then - return 'dummy_coverage_package_with_an_amazingly_long_name_that_you_would_not_think_of_in_real_life_project_because_its_simply_too_long'; - $else - return 'dummy_coverage'; - $end + return 'dummy_coverage_package_with_an_amazingly_long_name_that_you_would_not_think_of_in_real_life_project_because_its_simply_too_long'; end; function substitute_covered_package( a_text varchar2, a_substitution varchar2 ) return varchar2 is diff --git a/test/ut3_tester_helper/coverage_helper.pks b/test/ut3_tester_helper/coverage_helper.pks index 8d2c1c150..d6a57a143 100644 --- a/test/ut3_tester_helper/coverage_helper.pks +++ b/test/ut3_tester_helper/coverage_helper.pks @@ -1,7 +1,5 @@ create or replace package coverage_helper is - function block_coverage_available return boolean; - function covered_package_name return varchar2; function substitute_covered_package( a_text varchar2, a_substitution varchar2 := '{p}' ) return varchar2; diff --git a/test/ut3_user/expectations/test_expectation_anydata.pkb b/test/ut3_user/expectations/test_expectation_anydata.pkb index c70d41f9e..5f76e6715 100644 --- a/test/ut3_user/expectations/test_expectation_anydata.pkb +++ b/test/ut3_user/expectations/test_expectation_anydata.pkb @@ -1229,7 +1229,6 @@ Rows: [ 60 differences, showing first 20 ] end; - $if dbms_db_version.version = 12 and dbms_db_version.release >= 2 or dbms_db_version.version > 12 $then procedure long_names_object_types is pragma autonomous_transaction; begin @@ -1253,7 +1252,6 @@ Rows: [ 60 differences, showing first 20 ] execute immediate 'drop type very_long_type_name_valid_for_oracle_12_so_utPLSQL_should_allow_it_definitely_well_still_not_reached_128_but_wait_we_did_it'; raise; end; - $end end; / \ No newline at end of file diff --git a/test/ut3_user/expectations/test_expectation_anydata.pks b/test/ut3_user/expectations/test_expectation_anydata.pks index 54c246bd3..557eb58db 100644 --- a/test/ut3_user/expectations/test_expectation_anydata.pks +++ b/test/ut3_user/expectations/test_expectation_anydata.pks @@ -237,10 +237,8 @@ create or replace package test_expectation_anydata is --%test ( Reports success when comparing complex nested objects ) procedure complex_nested_object_success; - $if dbms_db_version.version = 12 and dbms_db_version.release >= 2 or dbms_db_version.version > 12 $then --%test ( Compares object types with long names - Issue #1235 ) procedure long_names_object_types; - $end end; / diff --git a/test/ut3_user/expectations/test_expectations_cursor.pkb b/test/ut3_user/expectations/test_expectations_cursor.pkb index a4ef4e8f2..fcd474226 100644 --- a/test/ut3_user/expectations/test_expectations_cursor.pkb +++ b/test/ut3_user/expectations/test_expectations_cursor.pkb @@ -2843,8 +2843,6 @@ Check the query and data for errors.'; l_expected_data(1).col4 := 2016; l_expected_data(1).col5 := -1; - --Select on package level nested table types supported only since Oracle 12 - $if dbms_db_version.version >= 12 $then open l_expected for select * from table (l_expected_data); @@ -2869,7 +2867,6 @@ Check the query and data for errors.'; l_actual_message := ut3_tester_helper.main_helper.get_failed_expectations(1); ut.expect(l_actual_message).to_be_like(l_expected_message); - $end end; procedure uc_columns_exclude is @@ -2890,19 +2887,15 @@ Check the query and data for errors.'; l_expected sys_refcursor; begin -- populate actual - $if dbms_db_version.version = 12 and dbms_db_version.release >= 2 or dbms_db_version.version > 12 $then - open l_actual for - select rownum as id, '1' some_column_with_a_pretty_long_enough_name from dual; + open l_actual for + select rownum as id, '1' some_column_with_a_pretty_long_enough_name from dual; - open l_expected for - select rownum as id, '1' some_column_with_a_pretty_long_enough_name from dual; + open l_expected for + select rownum as id, '1' some_column_with_a_pretty_long_enough_name from dual; - ut3_develop.ut.expect(l_actual).to_equal(l_expected).include('ID,SOME_COLUMN_WITH_A_PRETTY_LONG_ENOUGH_NAME').join_by('ID'); - --Assert - ut.expect(ut3_tester_helper.main_helper.get_failed_expectations_num).to_equal(0); - $else - null; - $end + ut3_develop.ut.expect(l_actual).to_equal(l_expected).include('ID,SOME_COLUMN_WITH_A_PRETTY_LONG_ENOUGH_NAME').join_by('ID'); + --Assert + ut.expect(ut3_tester_helper.main_helper.get_failed_expectations_num).to_equal(0); end; procedure compare_specific_column_names is diff --git a/test/ut3_user/reporters/test_coverage/test_cov_cobertura_reporter.pkb b/test/ut3_user/reporters/test_coverage/test_cov_cobertura_reporter.pkb index ad6c9dbb4..49e0410ba 100644 --- a/test/ut3_user/reporters/test_coverage/test_cov_cobertura_reporter.pkb +++ b/test/ut3_user/reporters/test_coverage/test_cov_cobertura_reporter.pkb @@ -12,11 +12,7 @@ create or replace package body test_cov_cobertura_reporter is --Arrange l_name := ut3_tester_helper.coverage_helper.covered_package_name; l_file_path := 'test/ut3_develop.'||ut3_tester_helper.coverage_helper.covered_package_name||'.pkb'; - if ut3_tester_helper.coverage_helper.block_coverage_available then - l_block_cov := ''; - else - l_block_cov := ''; - end if; + l_block_cov := ''; l_expected := q'[ diff --git a/test/ut3_user/reporters/test_coverage/test_coverage_sonar_reporter.pkb b/test/ut3_user/reporters/test_coverage/test_coverage_sonar_reporter.pkb index 50d7bfe4c..9f2409637 100644 --- a/test/ut3_user/reporters/test_coverage/test_coverage_sonar_reporter.pkb +++ b/test/ut3_user/reporters/test_coverage/test_coverage_sonar_reporter.pkb @@ -6,11 +6,7 @@ create or replace package body test_coverage_sonar_reporter is l_block_cov clob; begin --Arrange - if ut3_tester_helper.coverage_helper.block_coverage_available then - l_block_cov := ''; - else - l_block_cov := ''; - end if; + l_block_cov := ''; l_expected := ' diff --git a/test/ut3_user/reporters/test_coverage/test_coverage_standalone.pkb b/test/ut3_user/reporters/test_coverage/test_coverage_standalone.pkb index 90cfb484e..adf7b51d1 100644 --- a/test/ut3_user/reporters/test_coverage/test_coverage_standalone.pkb +++ b/test/ut3_user/reporters/test_coverage/test_coverage_standalone.pkb @@ -7,11 +7,7 @@ create or replace package body test_coverage_standalone is begin l_file_path := 'package body ut3_develop.'||a_object_name; --Arrange - if ut3_tester_helper.coverage_helper.block_coverage_available then - l_block_cov := ''; - else - l_block_cov := ''; - end if; + l_block_cov := ''; l_expected := q'[ diff --git a/test/ut3_user/reporters/test_coverage/test_extended_coverage.pkb b/test/ut3_user/reporters/test_coverage/test_extended_coverage.pkb index d7f1b61d7..f6f76b62f 100644 --- a/test/ut3_user/reporters/test_coverage/test_extended_coverage.pkb +++ b/test/ut3_user/reporters/test_coverage/test_extended_coverage.pkb @@ -2,13 +2,7 @@ create or replace package body test_extended_coverage is function get_block_coverage_line return clob is begin - return - case - when ut3_tester_helper.coverage_helper.block_coverage_available then - '%' - else - '%' - end; + return '%'; end; procedure coverage_for_object is l_expected clob; @@ -130,8 +124,7 @@ create or replace package body test_extended_coverage is ); --Assert - --The below is a workaround for problem with large CLOB like comparison on 11g XE db. - ut.expect(to_char(substr(l_actual,instr(l_actual,''),2000))).to_be_like(l_expected); + ut.expect(l_actual).to_be_like(l_expected); ut.expect(l_actual).not_to_be_like(l_not_expected); ut.expect(l_actual).not_to_be_like('%ut3_tester_helper.test_regex_dummy_cov%'); end; diff --git a/test/ut3_user/reporters/test_coverage/test_html_coverage_reporter.pkb b/test/ut3_user/reporters/test_coverage/test_html_coverage_reporter.pkb index 2f2200116..e88a94131 100644 --- a/test/ut3_user/reporters/test_coverage/test_html_coverage_reporter.pkb +++ b/test/ut3_user/reporters/test_coverage/test_html_coverage_reporter.pkb @@ -9,9 +9,7 @@ create or replace package body test_html_coverage_reporter is begin --Arrange l_name := ut3_tester_helper.coverage_helper.covered_package_name; - if ut3_tester_helper.coverage_helper.block_coverage_available then - l_block_cov := '(including 1 lines partially covered ) '; - end if; + l_block_cov := '(including 1 lines partially covered ) '; l_expected := '%%

UT3_DEVELOP.'||upper(l_name)||'

' || '%2 relevant lines. 1 lines covered ' || l_block_cov || 'and 1 lines missed%'; From bbcedf130f42bc6648b425c82258121e36afdbf5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 1 Nov 2026 23:16:30 +0000 Subject: [PATCH 171/171] Updated project version after build [skip ci] --- BUILD_NO | 2 +- source/core/ut_utils.pks | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BUILD_NO b/BUILD_NO index 23b21f1d1..3f04bd87e 100644 --- a/BUILD_NO +++ b/BUILD_NO @@ -1 +1 @@ -4568 +4571 diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 805319fff..f32bc4afe 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -21,7 +21,7 @@ create or replace noneditionable package ut_utils authid definer is * */ - gc_version constant varchar2(50) := 'v3.2.4.4568-develop'; + gc_version constant varchar2(50) := 'v3.2.4.4571-develop'; subtype t_executable_type is varchar2(30); gc_before_all constant t_executable_type := 'beforeall';