omni_test
Testing framework
Repository
https://docs.omnigres.org/omni_test/guide/
https://docs.omnigres.org/omni_test/guide/
Source
omnigres-20251108.tar.gz
omnigres-20251108.tar.gz
Overview
| Package | Version | Category | License | Language |
|---|---|---|---|---|
omnigres | 0.4.0 | FEAT | Apache-2.0 | C |
| ID | Extension | Bin | Lib | Load | Create | Trust | Reloc | Schema |
|---|---|---|---|---|---|---|---|---|
| 2940 | omni | No | Yes | Yes | Yes | No | No | omni |
| 2941 | omni_auth | No | No | No | Yes | No | No | omni_auth |
| 2942 | omni_aws | No | No | No | Yes | Yes | No | omni_aws |
| 2943 | omni_cloudevents | No | No | No | Yes | Yes | No | omni_cloudevents |
| 2944 | omni_containers | No | Yes | No | Yes | No | No | omni_containers |
| 2945 | omni_credentials | No | No | No | Yes | No | No | omni_credentials |
| 2948 | omni_email | No | No | No | Yes | No | No | omni_email |
| 2949 | omni_http | No | No | No | Yes | No | No | omni_http |
| 2950 | omni_httpc | No | Yes | No | Yes | No | No | omni_httpc |
| 2951 | omni_httpd | No | Yes | No | Yes | No | No | omni_httpd |
| 2952 | omni_id | No | Yes | No | Yes | No | Yes | - |
| 2953 | omni_json | No | No | No | Yes | Yes | No | omni_json |
| 2954 | omni_kube | No | Yes | No | Yes | No | No | omni_kube |
| 2955 | omni_ledger | No | Yes | No | Yes | No | No | omni_ledger |
| 2956 | omni_manifest | No | No | No | Yes | No | No | omni_manifest |
| 2957 | omni_mimetypes | No | No | No | Yes | No | No | omni_mimetypes |
| 2958 | omni_os | No | Yes | No | Yes | No | No | omni_os |
| 2959 | omni_polyfill | No | Yes | No | Yes | No | No | omni_polyfill |
| 2960 | omni_python | No | Yes | No | Yes | No | No | omni_python |
| 2961 | omni_regex | No | Yes | No | Yes | No | Yes | - |
| 2962 | omni_rest | No | No | No | Yes | No | No | omni_rest |
| 2963 | omni_schema | No | No | No | Yes | No | No | omni_schema |
| 2964 | omni_seq | No | Yes | No | Yes | No | No | omni_seq |
| 2965 | omni_service | No | No | No | Yes | No | No | omni_service |
| 2966 | omni_session | No | No | No | Yes | No | No | omni_session |
| 2968 | omni_sql | No | Yes | No | Yes | No | No | omni_sql |
| 2969 | omni_sqlite | No | Yes | No | Yes | No | No | omni_sqlite |
| 2970 | omni_test | No | No | No | Yes | No | No | omni_test |
| 2971 | omni_txn | No | Yes | No | Yes | No | No | omni_txn |
| 2972 | omni_types | No | Yes | No | Yes | No | No | omni_types |
| 2973 | omni_var | No | Yes | No | Yes | No | No | omni_var |
| 2974 | omni_vfs | No | Yes | No | Yes | No | No | omni_vfs |
| 2975 | omni_vfs_types_v1 | No | No | No | Yes | No | No | omni_vfs_types_v1 |
| 2976 | omni_web | No | Yes | No | Yes | No | No | omni_web |
| 2977 | omni_worker | No | Yes | No | Yes | No | No | omni_worker |
| 2978 | omni_xml | No | Yes | No | Yes | No | No | omni_xml |
| 2979 | omni_yaml | No | Yes | No | Yes | No | No | omni_yaml |
| Related | dblink omni_cloudevents |
|---|
Version
| Type | Repo | Version | PG Ver | Package | Deps |
|---|---|---|---|---|---|
| EXT | PIGSTY | 0.4.0 | 1817161514 | omnigres | dblink, omni_cloudevents |
| RPM | PIGSTY | 0.4.0 | 1817161514 | omnigres_$v | - |
| DEB | PIGSTY | 0.4.0 | 1817161514 | postgresql-$v-omnigres | - |
| OS / PG | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|
| el8.x86_64 | PIGSTY MISS | PIGSTY 20250120 | PIGSTY 20250120 | PIGSTY 20250120 | PIGSTY 20250120 |
| el8.aarch64 | PIGSTY MISS | PIGSTY 20250120 | PIGSTY 20250120 | PIGSTY 20250120 | PIGSTY 20250120 |
| el9.x86_64 | PIGSTY MISS | PIGSTY 20250507 | PIGSTY 20250507 | PIGSTY 20250507 | PIGSTY 20250507 |
| el9.aarch64 | PIGSTY MISS | PIGSTY 20250507 | PIGSTY 20250507 | PIGSTY 20250507 | PIGSTY 20250507 |
| el10.x86_64 | PIGSTY MISS | PIGSTY MISS | PIGSTY MISS | PIGSTY MISS | PIGSTY MISS |
| el10.aarch64 | PIGSTY MISS | PIGSTY MISS | PIGSTY MISS | PIGSTY MISS | PIGSTY MISS |
| d12.x86_64 | PIGSTY MISS | PIGSTY 20250120 | PIGSTY 20250120 | PIGSTY 20250120 | PIGSTY 20250120 |
| d12.aarch64 | PIGSTY MISS | PIGSTY 20250120 | PIGSTY 20250120 | PIGSTY 20250120 | PIGSTY 20250120 |
| d13.x86_64 | PIGSTY 20251108 | PIGSTY 20251108 | PIGSTY 20251108 | PIGSTY 20251108 | PIGSTY 20251108 |
| d13.aarch64 | PIGSTY 20251108 | PIGSTY 20251108 | PIGSTY 20251108 | PIGSTY 20251108 | PIGSTY 20251108 |
| u22.x86_64 | PIGSTY MISS | PIGSTY 20250120 | PIGSTY 20250120 | PIGSTY 20250120 | PIGSTY 20250120 |
| u22.aarch64 | PIGSTY MISS | PIGSTY 20250120 | PIGSTY 20250120 | PIGSTY 20250120 | PIGSTY 20250120 |
| u24.x86_64 | PIGSTY 20251108 | PIGSTY 20251108 | PIGSTY 20251108 | PIGSTY 20251108 | PIGSTY 20251108 |
| u24.aarch64 | PIGSTY 20251108 | PIGSTY 20251108 | PIGSTY 20251108 | PIGSTY 20251108 | PIGSTY 20251108 |
Build
You can build the RPM / DEB packages for omnigres using pig build:
pig build pkg omnigres # build RPM / DEB packages
Install
You can install omnigres directly. First, make sure the PGDG and PIGSTY repositories are added and enabled:
pig repo add pgsql -u # Add repo and update cache
Install the extension using pig or apt/yum/dnf:
pig install omnigres; # Install for current active PG version
pig ext install -y omnigres -v 18 # PG 18
pig ext install -y omnigres -v 17 # PG 17
pig ext install -y omnigres -v 16 # PG 16
pig ext install -y omnigres -v 15 # PG 15
pig ext install -y omnigres -v 14 # PG 14
dnf install -y omnigres_18 # PG 18
dnf install -y omnigres_17 # PG 17
dnf install -y omnigres_16 # PG 16
dnf install -y omnigres_15 # PG 15
dnf install -y omnigres_14 # PG 14
apt install -y postgresql-18-omnigres # PG 18
apt install -y postgresql-17-omnigres # PG 17
apt install -y postgresql-16-omnigres # PG 16
apt install -y postgresql-15-omnigres # PG 15
apt install -y postgresql-14-omnigres # PG 14
Create Extension:
CREATE EXTENSION omni_test CASCADE; -- requires: dblink, omni_cloudevents
Usage
The omni_test extension enables test execution within PostgreSQL databases. It is a templated extension.
Setup
CREATE DATABASE myapp_test;
UPDATE pg_database SET datistemplate = true WHERE datname = 'myapp_test';
Writing Tests
Function tests:
CREATE FUNCTION my_test() RETURNS omni_test.test
LANGUAGE plpgsql AS $$
BEGIN
-- test assertions here
END;
$$;
Procedure tests (for non-atomic tests requiring COMMIT/ROLLBACK):
CREATE PROCEDURE my_test(INOUT omni_test.test)
LANGUAGE plpgsql AS $$
BEGIN
-- test logic
END;
$$;
Test Settings
CREATE PROCEDURE tx_test(INOUT test omni_test.test)
SET omni_test.transaction_isolation = serializable
LANGUAGE plpgsql AS $$ ... $$;
Running Tests
SELECT * FROM omni_test.run_tests('myapp_test');
Returns: name, description, start_time, end_time, error_message.
Filtering Tests
-- Exclude tests marked @slow:
SELECT * FROM omni_test.run_tests('myapp_test', filter => '^(?!.*@slow).*');
Each test runs in a fresh copy of the template database.
Feedback
Was this page helpful?
Thanks for the feedback! Please let us know how we can improve.
Sorry to hear that. Please let us know how we can improve.