Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 9b1c407

Browse files
authored
Merge branch 'develop' into feature/file_mapping_refactoring
2 parents 9ab9155 + 0abe735 commit 9b1c407

3 files changed

Lines changed: 77 additions & 39 deletions

File tree

docs/userguide/expectations.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,13 @@ begin
232232
end;
233233
```
234234

235+
### Using cursors to compare PLSQL records on Oracle 12c
236+
237+
There is a great article by Tim Hall on [using the TABLE Operator with Locally Defined Types in PL/SQL](https://oracle-base.com/articles/12c/using-the-table-operator-with-locally-defined-types-in-plsql-12cr1).
238+
If you are on Oracle 12c, you can benefit from this feature to make comparison of PLSQL records and tables super-simple in utPLSQL.
239+
You can use the feature described in article to convert PLSQL records and collection types to cursors. Complex cursor data can then be compared in utPLQL.
240+
241+
235242
### Comparing cursor data containing DATE fields
236243

237244
**Important note**

docs/userguide/install.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,27 @@
1+
# Downloading latest version of utPLSQL
2+
3+
It is quite easy to download latest version of utPLSQL from github on Unix machines.
4+
Here is a little snippet that can be handy for downloading latest version.
5+
```bash
6+
#!/bin/bash
7+
# Get the url to latest release "zip" file
8+
UTPLSQL_DOWNLOAD_URL=$(curl --silent https://api.github.com/repos/utPLSQL/utPLSQL/releases/latest | awk '/browser_download_url/ { print $2 }' | grep ".zip" | sed 's/"//g')
9+
# Extract file name from the URL
10+
UTPLSQL_DOWNLOAD_FILE="${UTPLSQL_DOWNLOAD_URL##*/}"
11+
# Extract the output directory from URL
12+
UTPLSQL_DIR="${UTPLSQL_DOWNLOAD_FILE%.*}"
13+
# Download the latest utPLSQL release "zip" file
14+
curl -LOk "${UTPLSQL_DOWNLOAD_URL}"
15+
# Extract downloaded "zip" file
16+
unzip -q "${UTPLSQL_DOWNLOAD_FILE}"
17+
```
18+
19+
You may download with a one-liner if that is more convenient.
20+
```bash
21+
#!/bin/bash
22+
curl -LOk $(curl --silent https://api.github.com/repos/utPLSQL/utPLSQL/releases/latest | awk '/browser_download_url/ { print $2 }' | grep ".zip" | sed 's/"//g')
23+
```
24+
125
# Installation
226

327
To simply install the utPLSQL into a new database schema and grant it to public, execute the script `install_headless.sql`.

readme.md

Lines changed: 46 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -57,45 +57,52 @@ To sign up to the chat use [this link](http://utplsql-slack-invite.herokuapp.com
5757

5858
__Version 2 to Version 3 Comparison__
5959

60-
The following table is a work in progress right now, and **will** change. If you have great idea that you would like to see in version 3 please create an [issue on GitHub](https://github.com/utPLSQL/utPLSQL/issues) or discuss it with us in the [Slack chat rooms](http://utplsql-slack-invite.herokuapp.com/).
61-
62-
63-
| Feature | Version 2 | Version 3 |
64-
| ------------------------- | ------------- | ---------------------- |
65-
| Easy to install | Yes | Yes |
66-
| Documentation | Yes | Sparse - in progress |
67-
| License | GPL v2 | Apache 2.0 |
68-
| **Tests Creation** | | |
69-
| Declarative test configuration coupled with the source code | No | Yes - Annotations<sup>1</sup>|
70-
| Tests as Packages | Yes | Yes |
71-
| Multiple Tests in a single Package | Yes | Yes |
72-
| Different Setup/Teardown <br/> For Each Test in a Single Package | No | Yes |
73-
| Suite Definition Storage | Tables | Package - Annotations<sup>1</sup> |
74-
| Multiple Suites | Yes | Yes |
75-
| Suites can contain Suites | No | Yes |
76-
| Automatic Test detection | No | Yes - Annotations<sup>1</sup> |
77-
| Require Prefix on Test packages | Yes | No |
78-
| Require Prefix on Test procedures | Yes | No |
79-
| Auto Compilation of Tests | Yes | No (Let us know if you use this) |
80-
| Assertion Library | 30 Assertions<sup>2</sup> | Still under development |
81-
| Custom Record Assertions | requires generated code through **utRecEq** Package | On Roadmap |
82-
| Test Skeleton Generation | Yes | On Roadmap |
83-
| **Test Execution<sup>3</sup>** | | |
84-
| Single Test Execution | Yes | Yes |
85-
| Test Suite Execution | Yes | Yes |
86-
| Subset of Suite Execution | No | Yes |
87-
| Multiple Suite Execution | No | Yes |
88-
| Code Coverage | No | On Roadmap |
89-
| Framework Transaction Control | No | Yes - Optional |
90-
| **Test Output** | | |
91-
| Multiple Output Reporters can be used during test execution | No | Yes |
92-
| DBMS_OUTPUT | Yes | Yes (format changed) |
93-
| Stored in Table | Yes | On Roadmap |
94-
| XUnit XML Format | No | Yes |
95-
| HTML Format | Yes | On Roadmap |
96-
| File | Yes | On Roadmap |
97-
| Realtime test execution results | No | Yes |
98-
| Custom Output reporter | Yes | Yes |
60+
If you have great feature in mind, that you would like to see in utPLSQL v3 please create an [issue on GitHub](https://github.com/utPLSQL/utPLSQL/issues) or discuss it with us in the [Slack chat rooms](http://utplsql-slack-invite.herokuapp.com/).
61+
62+
63+
| Feature | Version 2 | Version 3 |
64+
| -------------------------------------- | ---------------------- | ---------------------- |
65+
| Easy to install | Yes | Yes |
66+
| Documentation | Yes | Yes |
67+
| License | GPL v2 | Apache 2.0 |
68+
| **Tests Creation** | | |
69+
| Declarative test configuration | No | Yes - Annotations<sup>1</sup>|
70+
| Tests as Packages | Yes | Yes |
71+
| Multiple Tests in a single Package | Yes | Yes |
72+
| Optional Setup/Teardown | No | Yes |
73+
| Different Setup/Teardown <br/> For Each Test in a Single Package| No | Yes - Annotations<sup>1</sup> |
74+
| Suite Definition Storage | Tables | Package - Annotations<sup>1</sup> |
75+
| Multiple Suites | Yes | Yes |
76+
| Suites can contain Suites | No | Yes |
77+
| Automatic Test detection | No | Yes - Annotations<sup>1</sup>|
78+
| Unconstrained naming of Test packages | No - prefixes | Yes - name not relevant|
79+
| Require Prefix on Test procedures | No - prefixes | Yes - name not relevant|
80+
| Auto Compilation of Tests | Yes | No (Let us know if you use this) |
81+
| Assertion Library | 30 assertions<sup>2</sup> | 26 matchers (13 + 13 megated) |
82+
| Extendable assertions | No | Yes - custom matchers |
83+
| PLSQL Record Assertions | generated code through **utRecEq** Package | [possible on Oracle 12c](https://oracle-base.com/articles/12c/using-the-table-operator-with-locally-defined-types-in-plsql-12cr1) using [cursor matchers](docs/userguide/expectations.md#comparing-cursors)|
84+
| Test Skeleton Generation | Yes | On Roadmap |
85+
| **Test Execution<sup>3</sup>** | | |
86+
| Single Test Package Execution | Yes | Yes |
87+
| Single Test Procedure Execution | No | Yes |
88+
| Test Suite Execution | Yes | Yes |
89+
| Subset of Suite Execution | No | Yes |
90+
| Multiple Suite Execution | No | Yes |
91+
| Organizing Suites into hierarchies | No | Yes |
92+
| **Code Coverage Reporting** | No | Yes |
93+
| Html Coverage Report | No | Yes |
94+
| Sonar XML Coverage Report | No | Yes |
95+
| Coveralls Json Coverage Report | No | Yes |
96+
| Framework Transaction Control | No | Yes - Annotations<sup>1</sup> |
97+
| **Test Output** | | |
98+
| Real-time test execution progress reporting | No | Yes |
99+
| Multiple Output Reporters can be used during test execution | No| Yes |
100+
| DBMS_OUTPUT | Yes | Yes (clean formatting) |
101+
| File | Yes (to db server only)| Yes (on client side) |
102+
| Stored in Table | Yes | No (can be added as custom reporter)
103+
| XUnit format support | No | Yes |
104+
| HTML Format | Yes | No |
105+
| Custom Output reporter | Yes-needs configuration| Yes - no config needed |
99106

100107
<sup>1</sup> Annotations are specially formatted comments in your package specification. This enables *declarative* test configuration that is coupled with the source code. See Documentation for more details.
101108

0 commit comments

Comments
 (0)