Это pgTAP тестpgTAP с plpgsql, но не с SQL
BEGIN;
CREATE OR REPLACE FUNCTION test.testXUnitStyle() RETURNS SETOF TEXT AS $$
SELECT ok(4 * 5 = 20, 'math should work in postgres');
$$ LANGUAGE plpgsql;
SELECT * FROM runtests('test'::name);
дает мне эту ошибку синтаксиса:
prove --ext .sql t/pgtap-xunit.sql --source pgTAP --pgtap-option dbname=test
psql:t/pgtap-xunit.sql:5: ERROR: syntax error at or near "SELECT"
LINE 2: SELECT ok(4 * 5 = 20, 'math should work in postgres');
^
t/pgtap-xunit.sql .. Dubious, test returned 3 (wstat 768, 0x300)
No subtests run
Test Summary Report
-------------------
t/pgtap-xunit.sql (Wstat: 768 Tests: 0 Failed: 0)
Non-zero exit status: 3
Parse errors: No plan found in TAP output
Files=1, Tests=0, 0 wallclock secs (0.03 usr + 0.00 sys = 0.03 CPU)
Result: FAIL
, но если я изменить LANGUAGE plpgsql
только LANGUAGE sql
это работает.
Что мне нужно сделать, чтобы запустить тест как plpgsql?