Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ysql: support running pg_regress on contrib #9432

Closed
jaki opened this issue Jul 22, 2021 · 0 comments
Closed

ysql: support running pg_regress on contrib #9432

jaki opened this issue Jul 22, 2021 · 0 comments
Assignees
Labels
area/ysql Yugabyte SQL (YSQL) kind/failing-test Tests and testing infra

Comments

@jaki
Copy link
Contributor

jaki commented Jul 22, 2021

The Java tests have a framework for running pg_regress tests in src/postgres/src/test/regress. There is no such framework for other directories, like src/postgres/contrib, which contains regress tests for extensions. Extend the framework to support those regress tests.

@jaki jaki added area/ysql Yugabyte SQL (YSQL) kind/failing-test Tests and testing infra labels Jul 22, 2021
@jaki jaki self-assigned this Jul 22, 2021
jaki added a commit that referenced this issue Jul 27, 2021
Summary:
Carve out part of PgRegressRunner into a new class PgRegressBuilder
responsible for building the pg_regress commandline and other related
things.

In the process, also split up the notion of input directory and
pg_regress directory.  Currently, all regress tests have the input
directory the same as the pg_regress directory, but that will no longer
be the case when we support regress tests in contrib for extensions.
Have PgRegressBuilder cleanly separate out those concepts.

Test Plan: TestPgRegress* Java tests

Reviewers: alex

Reviewed By: alex

Subscribers: dmitry, yql

Differential Revision: https://phabricator.dev.yugabyte.com/D12345
@jaki jaki closed this as completed in a00a2a0 Jul 28, 2021
jaki added a commit that referenced this issue Aug 13, 2021
Summary:
Add more Java regress tests for extensions under src/postgres/contrib,
this time porting over sql and expected files to yb_pg_foo due to small
differences:

- cube:
  - error on amvalidate
  - error on gist
  - add extra ORDER BY for some tie-breakers
- earthdistance:
  - comment out drop extension because of inconsistent errdetail
- hstore:
  - error on amvalidate
  - error on gist
  - error on gin
  - error on btree
  - add ORDER BY in json_agg
- intarray:
  - error on amvalidate
  - warn on analyze
  - error on gist
  - error on gin
- isn:
  - error on amvalidate
- tablefunc:
  - rm "without orderby" queries
  - add several ORDER BY

Test Plan:
Jenkins: java only, build type: release

    ./yb_build.sh --java-test TestPgRegressContribCube
    ./yb_build.sh --java-test TestPgRegressContribEarthdistance
    ./yb_build.sh --java-test TestPgRegressContribHstore
    ./yb_build.sh --java-test TestPgRegressContribIntarray
    ./yb_build.sh --java-test TestPgRegressContribIsn
    ./yb_build.sh --java-test TestPgRegressContribTablefunc

Reviewers: alex

Reviewed By: alex

Subscribers: yql

Differential Revision: https://phabricator.dev.yugabyte.com/D12415
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/ysql Yugabyte SQL (YSQL) kind/failing-test Tests and testing infra
Projects
None yet
Development

No branches or pull requests

1 participant