This is an automated email from the ASF dual-hosted git repository. ostinru pushed a commit to branch testcontainers-pxf-extension in repository https://gitbox.apache.org/repos/asf/cloudberry-pxf.git
commit c30e4e0ec8a054a669b130f4d483f4d8328541a8 Author: Nikolay Antonov <[email protected]> AuthorDate: Fri Jul 10 18:32:32 2026 +0500 Testcontainers: run PxfExtensionTest in testcontainers --- .github/workflows/pxf-ci.yml | 9 +- .../create_extension/expected/query01.ans | 30 ---- .../create_extension/sql/query01.sql | 4 - .../create_extension_rpm/expected/query01.ans | 19 --- .../create_extension_rpm/sql/query01.sql | 4 - .../step_1_create_extension/expected/query01.ans | 30 ---- .../step_1_create_extension/sql/query01.sql | 4 - .../expected/query01.ans | 19 --- .../sql/query01.sql | 4 - .../step_1_check_extension/expected/query01.ans | 30 ---- .../step_1_check_extension/sql/query01.sql | 4 - .../expected/query01.ans | 19 --- .../sql/query01.sql | 4 - .../expected/query01.ans | 30 ---- .../sql/query01.sql | 4 - .../expected/query01.ans | 15 -- .../sql/query01.sql | 2 - .../expected/query01.ans | 30 ---- .../step_2_after_alter_extension/sql/query01.sql | 4 - .../expected/query01.ans | 15 -- .../sql/query01.sql | 2 - .../expected/query01.ans | 30 ---- .../step_2_after_alter_extension/sql/query01.sql | 4 - .../applications/CloudberryApplication.java | 4 + .../features/extension/PxfExtensionTest.java | 171 ++++++++------------- .../features/extension/PxfFdwExtensionTest.java | 91 ++++++----- ci/docker/pxf-cbdb-dev/common/script/run_tests.sh | 44 +----- 27 files changed, 135 insertions(+), 491 deletions(-) diff --git a/.github/workflows/pxf-ci.yml b/.github/workflows/pxf-ci.yml index 6109bd77..ba4d1c54 100644 --- a/.github/workflows/pxf-ci.yml +++ b/.github/workflows/pxf-ci.yml @@ -334,7 +334,6 @@ jobs: - gpdb - gpdb_fdw - load - - pxf_extension steps: - name: Free disk space run: | @@ -504,7 +503,6 @@ jobs: - gpdb - gpdb_fdw - load - - pxf_extension steps: - name: Free disk space run: | @@ -658,12 +656,19 @@ jobs: tc_group: - 'pxf-jdbc' - 'pxf-s3' + - 'pxfExtension' + - 'pxfFdwExtension' use_fdw: - 'false' - 'true' distro: - 'ubuntu' - 'rocky9' + exclude: + - tc_group: 'pxfExtension' + use_fdw: 'true' + - tc_group: 'pxfFdwExtension' + use_fdw: 'false' steps: - name: Checkout PXF source uses: actions/checkout@v4 diff --git a/automation/sqlrepo/features/extension_tests/create_extension/expected/query01.ans b/automation/sqlrepo/features/extension_tests/create_extension/expected/query01.ans index c6553ee2..7ce4f097 100644 --- a/automation/sqlrepo/features/extension_tests/create_extension/expected/query01.ans +++ b/automation/sqlrepo/features/extension_tests/create_extension/expected/query01.ans @@ -40,33 +40,3 @@ ORDER BY 1; pxfwritable_export | gpdbwritableformatter_export | $PXF_HOME/gpextable/pxf pxfwritable_import | gpdbwritableformatter_import | $PXF_HOME/gpextable/pxf (6 rows) - -SELECT * FROM pxf_upgrade_test ORDER BY num; - name | num | dub | longnum | bool ---------+-----+-----+---------------+------ - row_1 | 1 | 1 | 100000000000 | f - row_2 | 2 | 2 | 200000000000 | t - row_3 | 3 | 3 | 300000000000 | f - row_4 | 4 | 4 | 400000000000 | t - row_5 | 5 | 5 | 500000000000 | f - row_6 | 6 | 6 | 600000000000 | t - row_7 | 7 | 7 | 700000000000 | f - row_8 | 8 | 8 | 800000000000 | t - row_9 | 9 | 9 | 900000000000 | f - row_10 | 10 | 10 | 1000000000000 | t -(10 rows) - -SELECT * FROM pxf_upgrade_test_multibyte ORDER BY num; - name | num | dub | longnum | bool ---------+-----+-----+---------------+------ - row_1 | 1 | 1 | 100000000000 | f - row_2 | 2 | 2 | 200000000000 | t - row_3 | 3 | 3 | 300000000000 | f - row_4 | 4 | 4 | 400000000000 | t - row_5 | 5 | 5 | 500000000000 | f - row_6 | 6 | 6 | 600000000000 | t - row_7 | 7 | 7 | 700000000000 | f - row_8 | 8 | 8 | 800000000000 | t - row_9 | 9 | 9 | 900000000000 | f - row_10 | 10 | 10 | 1000000000000 | t -(10 rows) diff --git a/automation/sqlrepo/features/extension_tests/create_extension/sql/query01.sql b/automation/sqlrepo/features/extension_tests/create_extension/sql/query01.sql index c9962dff..d8fa5c1c 100644 --- a/automation/sqlrepo/features/extension_tests/create_extension/sql/query01.sql +++ b/automation/sqlrepo/features/extension_tests/create_extension/sql/query01.sql @@ -22,7 +22,3 @@ FROM pg_catalog.pg_extension AS e INNER JOIN pg_catalog.pg_proc AS p ON (p.oid = d.objid) WHERE d.deptype = 'e' AND e.extname = 'pxf' ORDER BY 1; - -SELECT * FROM pxf_upgrade_test ORDER BY num; - -SELECT * FROM pxf_upgrade_test_multibyte ORDER BY num; diff --git a/automation/sqlrepo/features/extension_tests/create_extension_rpm/expected/query01.ans b/automation/sqlrepo/features/extension_tests/create_extension_rpm/expected/query01.ans index 417c714a..bcebafbb 100644 --- a/automation/sqlrepo/features/extension_tests/create_extension_rpm/expected/query01.ans +++ b/automation/sqlrepo/features/extension_tests/create_extension_rpm/expected/query01.ans @@ -39,22 +39,3 @@ ORDER BY 1; pxfwritable_export | gpdbwritableformatter_export | $PXF_HOME/gpextable/pxf pxfwritable_import | gpdbwritableformatter_import | $PXF_HOME/gpextable/pxf (5 rows) - -SELECT * FROM pxf_upgrade_test ORDER BY num; - name | num | dub | longnum | bool ---------+-----+-----+---------------+------ - row_1 | 1 | 1 | 100000000000 | f - row_2 | 2 | 2 | 200000000000 | t - row_3 | 3 | 3 | 300000000000 | f - row_4 | 4 | 4 | 400000000000 | t - row_5 | 5 | 5 | 500000000000 | f - row_6 | 6 | 6 | 600000000000 | t - row_7 | 7 | 7 | 700000000000 | f - row_8 | 8 | 8 | 800000000000 | t - row_9 | 9 | 9 | 900000000000 | f - row_10 | 10 | 10 | 1000000000000 | t -(10 rows) - -SELECT * FROM pxf_upgrade_test_multibyte ORDER BY num; -ERROR: formatter function "pxfdelimited_import" of type readable was not found -HINT: Create it with CREATE FUNCTION. diff --git a/automation/sqlrepo/features/extension_tests/create_extension_rpm/sql/query01.sql b/automation/sqlrepo/features/extension_tests/create_extension_rpm/sql/query01.sql index c9962dff..d8fa5c1c 100644 --- a/automation/sqlrepo/features/extension_tests/create_extension_rpm/sql/query01.sql +++ b/automation/sqlrepo/features/extension_tests/create_extension_rpm/sql/query01.sql @@ -22,7 +22,3 @@ FROM pg_catalog.pg_extension AS e INNER JOIN pg_catalog.pg_proc AS p ON (p.oid = d.objid) WHERE d.deptype = 'e' AND e.extname = 'pxf' ORDER BY 1; - -SELECT * FROM pxf_upgrade_test ORDER BY num; - -SELECT * FROM pxf_upgrade_test_multibyte ORDER BY num; diff --git a/automation/sqlrepo/features/extension_tests/downgrade/step_1_create_extension/expected/query01.ans b/automation/sqlrepo/features/extension_tests/downgrade/step_1_create_extension/expected/query01.ans index e142b6ea..9ccefb91 100644 --- a/automation/sqlrepo/features/extension_tests/downgrade/step_1_create_extension/expected/query01.ans +++ b/automation/sqlrepo/features/extension_tests/downgrade/step_1_create_extension/expected/query01.ans @@ -41,33 +41,3 @@ ORDER BY 1; pxfwritable_export | gpdbwritableformatter_export | $PXF_HOME/gpextable/pxf pxfwritable_import | gpdbwritableformatter_import | $PXF_HOME/gpextable/pxf (6 rows) - -SELECT * FROM pxf_upgrade_test ORDER BY num; - name | num | dub | longnum | bool ---------+-----+-----+---------------+------ - row_1 | 1 | 1 | 100000000000 | f - row_2 | 2 | 2 | 200000000000 | t - row_3 | 3 | 3 | 300000000000 | f - row_4 | 4 | 4 | 400000000000 | t - row_5 | 5 | 5 | 500000000000 | f - row_6 | 6 | 6 | 600000000000 | t - row_7 | 7 | 7 | 700000000000 | f - row_8 | 8 | 8 | 800000000000 | t - row_9 | 9 | 9 | 900000000000 | f - row_10 | 10 | 10 | 1000000000000 | t -(10 rows) - -SELECT * FROM pxf_upgrade_test_multibyte ORDER BY num; - name | num | dub | longnum | bool ---------+-----+-----+---------------+------ - row_1 | 1 | 1 | 100000000000 | f - row_2 | 2 | 2 | 200000000000 | t - row_3 | 3 | 3 | 300000000000 | f - row_4 | 4 | 4 | 400000000000 | t - row_5 | 5 | 5 | 500000000000 | f - row_6 | 6 | 6 | 600000000000 | t - row_7 | 7 | 7 | 700000000000 | f - row_8 | 8 | 8 | 800000000000 | t - row_9 | 9 | 9 | 900000000000 | f - row_10 | 10 | 10 | 1000000000000 | t -(10 rows) diff --git a/automation/sqlrepo/features/extension_tests/downgrade/step_1_create_extension/sql/query01.sql b/automation/sqlrepo/features/extension_tests/downgrade/step_1_create_extension/sql/query01.sql index 76edbb82..4c204b2d 100644 --- a/automation/sqlrepo/features/extension_tests/downgrade/step_1_create_extension/sql/query01.sql +++ b/automation/sqlrepo/features/extension_tests/downgrade/step_1_create_extension/sql/query01.sql @@ -22,7 +22,3 @@ FROM pg_catalog.pg_extension AS e INNER JOIN pg_catalog.pg_proc AS p ON (p.oid = d.objid) WHERE d.deptype = 'e' AND e.extname = 'pxf' ORDER BY 1; - -SELECT * FROM pxf_upgrade_test ORDER BY num; - -SELECT * FROM pxf_upgrade_test_multibyte ORDER BY num; diff --git a/automation/sqlrepo/features/extension_tests/downgrade/step_2_after_alter_extension_downgrade/expected/query01.ans b/automation/sqlrepo/features/extension_tests/downgrade/step_2_after_alter_extension_downgrade/expected/query01.ans index c51d2843..a8697b78 100644 --- a/automation/sqlrepo/features/extension_tests/downgrade/step_2_after_alter_extension_downgrade/expected/query01.ans +++ b/automation/sqlrepo/features/extension_tests/downgrade/step_2_after_alter_extension_downgrade/expected/query01.ans @@ -46,22 +46,3 @@ ORDER BY 1; pxfwritable_export | gpdbwritableformatter_export | $PXF_HOME/gpextable/pxf pxfwritable_import | gpdbwritableformatter_import | $PXF_HOME/gpextable/pxf (5 rows) - -SELECT * FROM pxf_upgrade_test ORDER BY num; - name | num | dub | longnum | bool ---------+-----+-----+---------------+------ - row_1 | 1 | 1 | 100000000000 | f - row_2 | 2 | 2 | 200000000000 | t - row_3 | 3 | 3 | 300000000000 | f - row_4 | 4 | 4 | 400000000000 | t - row_5 | 5 | 5 | 500000000000 | f - row_6 | 6 | 6 | 600000000000 | t - row_7 | 7 | 7 | 700000000000 | f - row_8 | 8 | 8 | 800000000000 | t - row_9 | 9 | 9 | 900000000000 | f - row_10 | 10 | 10 | 1000000000000 | t -(10 rows) - -SELECT * FROM pxf_upgrade_test_multibyte ORDER BY num; -ERROR: formatter function "pxfdelimited_import" of type readable was not found -HINT: Create it with CREATE FUNCTION. diff --git a/automation/sqlrepo/features/extension_tests/downgrade/step_2_after_alter_extension_downgrade/sql/query01.sql b/automation/sqlrepo/features/extension_tests/downgrade/step_2_after_alter_extension_downgrade/sql/query01.sql index 8a87c225..455c1432 100644 --- a/automation/sqlrepo/features/extension_tests/downgrade/step_2_after_alter_extension_downgrade/sql/query01.sql +++ b/automation/sqlrepo/features/extension_tests/downgrade/step_2_after_alter_extension_downgrade/sql/query01.sql @@ -28,7 +28,3 @@ FROM pg_catalog.pg_extension AS e INNER JOIN pg_catalog.pg_proc AS p ON (p.oid = d.objid) WHERE d.deptype = 'e' AND e.extname = 'pxf' ORDER BY 1; - -SELECT * FROM pxf_upgrade_test ORDER BY num; - -SELECT * FROM pxf_upgrade_test_multibyte ORDER BY num; diff --git a/automation/sqlrepo/features/extension_tests/downgrade_then_upgrade/step_1_check_extension/expected/query01.ans b/automation/sqlrepo/features/extension_tests/downgrade_then_upgrade/step_1_check_extension/expected/query01.ans index e142b6ea..9ccefb91 100644 --- a/automation/sqlrepo/features/extension_tests/downgrade_then_upgrade/step_1_check_extension/expected/query01.ans +++ b/automation/sqlrepo/features/extension_tests/downgrade_then_upgrade/step_1_check_extension/expected/query01.ans @@ -41,33 +41,3 @@ ORDER BY 1; pxfwritable_export | gpdbwritableformatter_export | $PXF_HOME/gpextable/pxf pxfwritable_import | gpdbwritableformatter_import | $PXF_HOME/gpextable/pxf (6 rows) - -SELECT * FROM pxf_upgrade_test ORDER BY num; - name | num | dub | longnum | bool ---------+-----+-----+---------------+------ - row_1 | 1 | 1 | 100000000000 | f - row_2 | 2 | 2 | 200000000000 | t - row_3 | 3 | 3 | 300000000000 | f - row_4 | 4 | 4 | 400000000000 | t - row_5 | 5 | 5 | 500000000000 | f - row_6 | 6 | 6 | 600000000000 | t - row_7 | 7 | 7 | 700000000000 | f - row_8 | 8 | 8 | 800000000000 | t - row_9 | 9 | 9 | 900000000000 | f - row_10 | 10 | 10 | 1000000000000 | t -(10 rows) - -SELECT * FROM pxf_upgrade_test_multibyte ORDER BY num; - name | num | dub | longnum | bool ---------+-----+-----+---------------+------ - row_1 | 1 | 1 | 100000000000 | f - row_2 | 2 | 2 | 200000000000 | t - row_3 | 3 | 3 | 300000000000 | f - row_4 | 4 | 4 | 400000000000 | t - row_5 | 5 | 5 | 500000000000 | f - row_6 | 6 | 6 | 600000000000 | t - row_7 | 7 | 7 | 700000000000 | f - row_8 | 8 | 8 | 800000000000 | t - row_9 | 9 | 9 | 900000000000 | f - row_10 | 10 | 10 | 1000000000000 | t -(10 rows) diff --git a/automation/sqlrepo/features/extension_tests/downgrade_then_upgrade/step_1_check_extension/sql/query01.sql b/automation/sqlrepo/features/extension_tests/downgrade_then_upgrade/step_1_check_extension/sql/query01.sql index 76edbb82..4c204b2d 100644 --- a/automation/sqlrepo/features/extension_tests/downgrade_then_upgrade/step_1_check_extension/sql/query01.sql +++ b/automation/sqlrepo/features/extension_tests/downgrade_then_upgrade/step_1_check_extension/sql/query01.sql @@ -22,7 +22,3 @@ FROM pg_catalog.pg_extension AS e INNER JOIN pg_catalog.pg_proc AS p ON (p.oid = d.objid) WHERE d.deptype = 'e' AND e.extname = 'pxf' ORDER BY 1; - -SELECT * FROM pxf_upgrade_test ORDER BY num; - -SELECT * FROM pxf_upgrade_test_multibyte ORDER BY num; diff --git a/automation/sqlrepo/features/extension_tests/downgrade_then_upgrade/step_2_after_alter_extension_downgrade/expected/query01.ans b/automation/sqlrepo/features/extension_tests/downgrade_then_upgrade/step_2_after_alter_extension_downgrade/expected/query01.ans index c2b26b82..8507fa88 100644 --- a/automation/sqlrepo/features/extension_tests/downgrade_then_upgrade/step_2_after_alter_extension_downgrade/expected/query01.ans +++ b/automation/sqlrepo/features/extension_tests/downgrade_then_upgrade/step_2_after_alter_extension_downgrade/expected/query01.ans @@ -46,22 +46,3 @@ ORDER BY 1; pxfwritable_export | gpdbwritableformatter_export | $PXF_HOME/gpextable/pxf pxfwritable_import | gpdbwritableformatter_import | $PXF_HOME/gpextable/pxf (5 rows) - -SELECT * FROM pxf_upgrade_test ORDER BY num; - name | num | dub | longnum | bool ---------+-----+-----+---------------+------ - row_1 | 1 | 1 | 100000000000 | f - row_2 | 2 | 2 | 200000000000 | t - row_3 | 3 | 3 | 300000000000 | f - row_4 | 4 | 4 | 400000000000 | t - row_5 | 5 | 5 | 500000000000 | f - row_6 | 6 | 6 | 600000000000 | t - row_7 | 7 | 7 | 700000000000 | f - row_8 | 8 | 8 | 800000000000 | t - row_9 | 9 | 9 | 900000000000 | f - row_10 | 10 | 10 | 1000000000000 | t -(10 rows) - -SELECT * FROM pxf_upgrade_test_multibyte ORDER BY num; -ERROR: formatter function "pxfdelimited_import" of type readable was not found -HINT: Create it with CREATE FUNCTION. diff --git a/automation/sqlrepo/features/extension_tests/downgrade_then_upgrade/step_2_after_alter_extension_downgrade/sql/query01.sql b/automation/sqlrepo/features/extension_tests/downgrade_then_upgrade/step_2_after_alter_extension_downgrade/sql/query01.sql index 8a87c225..455c1432 100644 --- a/automation/sqlrepo/features/extension_tests/downgrade_then_upgrade/step_2_after_alter_extension_downgrade/sql/query01.sql +++ b/automation/sqlrepo/features/extension_tests/downgrade_then_upgrade/step_2_after_alter_extension_downgrade/sql/query01.sql @@ -28,7 +28,3 @@ FROM pg_catalog.pg_extension AS e INNER JOIN pg_catalog.pg_proc AS p ON (p.oid = d.objid) WHERE d.deptype = 'e' AND e.extname = 'pxf' ORDER BY 1; - -SELECT * FROM pxf_upgrade_test ORDER BY num; - -SELECT * FROM pxf_upgrade_test_multibyte ORDER BY num; diff --git a/automation/sqlrepo/features/extension_tests/downgrade_then_upgrade/step_3_after_alter_extension_upgrade/expected/query01.ans b/automation/sqlrepo/features/extension_tests/downgrade_then_upgrade/step_3_after_alter_extension_upgrade/expected/query01.ans index e142b6ea..9ccefb91 100644 --- a/automation/sqlrepo/features/extension_tests/downgrade_then_upgrade/step_3_after_alter_extension_upgrade/expected/query01.ans +++ b/automation/sqlrepo/features/extension_tests/downgrade_then_upgrade/step_3_after_alter_extension_upgrade/expected/query01.ans @@ -41,33 +41,3 @@ ORDER BY 1; pxfwritable_export | gpdbwritableformatter_export | $PXF_HOME/gpextable/pxf pxfwritable_import | gpdbwritableformatter_import | $PXF_HOME/gpextable/pxf (6 rows) - -SELECT * FROM pxf_upgrade_test ORDER BY num; - name | num | dub | longnum | bool ---------+-----+-----+---------------+------ - row_1 | 1 | 1 | 100000000000 | f - row_2 | 2 | 2 | 200000000000 | t - row_3 | 3 | 3 | 300000000000 | f - row_4 | 4 | 4 | 400000000000 | t - row_5 | 5 | 5 | 500000000000 | f - row_6 | 6 | 6 | 600000000000 | t - row_7 | 7 | 7 | 700000000000 | f - row_8 | 8 | 8 | 800000000000 | t - row_9 | 9 | 9 | 900000000000 | f - row_10 | 10 | 10 | 1000000000000 | t -(10 rows) - -SELECT * FROM pxf_upgrade_test_multibyte ORDER BY num; - name | num | dub | longnum | bool ---------+-----+-----+---------------+------ - row_1 | 1 | 1 | 100000000000 | f - row_2 | 2 | 2 | 200000000000 | t - row_3 | 3 | 3 | 300000000000 | f - row_4 | 4 | 4 | 400000000000 | t - row_5 | 5 | 5 | 500000000000 | f - row_6 | 6 | 6 | 600000000000 | t - row_7 | 7 | 7 | 700000000000 | f - row_8 | 8 | 8 | 800000000000 | t - row_9 | 9 | 9 | 900000000000 | f - row_10 | 10 | 10 | 1000000000000 | t -(10 rows) diff --git a/automation/sqlrepo/features/extension_tests/downgrade_then_upgrade/step_3_after_alter_extension_upgrade/sql/query01.sql b/automation/sqlrepo/features/extension_tests/downgrade_then_upgrade/step_3_after_alter_extension_upgrade/sql/query01.sql index 76edbb82..4c204b2d 100644 --- a/automation/sqlrepo/features/extension_tests/downgrade_then_upgrade/step_3_after_alter_extension_upgrade/sql/query01.sql +++ b/automation/sqlrepo/features/extension_tests/downgrade_then_upgrade/step_3_after_alter_extension_upgrade/sql/query01.sql @@ -22,7 +22,3 @@ FROM pg_catalog.pg_extension AS e INNER JOIN pg_catalog.pg_proc AS p ON (p.oid = d.objid) WHERE d.deptype = 'e' AND e.extname = 'pxf' ORDER BY 1; - -SELECT * FROM pxf_upgrade_test ORDER BY num; - -SELECT * FROM pxf_upgrade_test_multibyte ORDER BY num; diff --git a/automation/sqlrepo/features/extension_tests/explicit_upgrade/step_1_create_extension_with_older_pxf_version/expected/query01.ans b/automation/sqlrepo/features/extension_tests/explicit_upgrade/step_1_create_extension_with_older_pxf_version/expected/query01.ans index 406e013d..8499ae36 100644 --- a/automation/sqlrepo/features/extension_tests/explicit_upgrade/step_1_create_extension_with_older_pxf_version/expected/query01.ans +++ b/automation/sqlrepo/features/extension_tests/explicit_upgrade/step_1_create_extension_with_older_pxf_version/expected/query01.ans @@ -40,18 +40,3 @@ ORDER BY 1; pxfwritable_export | gpdbwritableformatter_export | $PXF_HOME/gpextable/pxf pxfwritable_import | gpdbwritableformatter_import | $PXF_HOME/gpextable/pxf (5 rows) - -SELECT * FROM pxf_upgrade_test ORDER BY num; - name | num | dub | longnum | bool ---------+-----+-----+---------------+------ - row_1 | 1 | 1 | 100000000000 | f - row_2 | 2 | 2 | 200000000000 | t - row_3 | 3 | 3 | 300000000000 | f - row_4 | 4 | 4 | 400000000000 | t - row_5 | 5 | 5 | 500000000000 | f - row_6 | 6 | 6 | 600000000000 | t - row_7 | 7 | 7 | 700000000000 | f - row_8 | 8 | 8 | 800000000000 | t - row_9 | 9 | 9 | 900000000000 | f - row_10 | 10 | 10 | 1000000000000 | t -(10 rows) diff --git a/automation/sqlrepo/features/extension_tests/explicit_upgrade/step_1_create_extension_with_older_pxf_version/sql/query01.sql b/automation/sqlrepo/features/extension_tests/explicit_upgrade/step_1_create_extension_with_older_pxf_version/sql/query01.sql index 48ba18a3..62c2e296 100644 --- a/automation/sqlrepo/features/extension_tests/explicit_upgrade/step_1_create_extension_with_older_pxf_version/sql/query01.sql +++ b/automation/sqlrepo/features/extension_tests/explicit_upgrade/step_1_create_extension_with_older_pxf_version/sql/query01.sql @@ -22,5 +22,3 @@ FROM pg_catalog.pg_extension AS e INNER JOIN pg_catalog.pg_proc AS p ON (p.oid = d.objid) WHERE d.deptype = 'e' AND e.extname = 'pxf' ORDER BY 1; - -SELECT * FROM pxf_upgrade_test ORDER BY num; diff --git a/automation/sqlrepo/features/extension_tests/explicit_upgrade/step_2_after_alter_extension/expected/query01.ans b/automation/sqlrepo/features/extension_tests/explicit_upgrade/step_2_after_alter_extension/expected/query01.ans index b70f65c7..3e1baf25 100644 --- a/automation/sqlrepo/features/extension_tests/explicit_upgrade/step_2_after_alter_extension/expected/query01.ans +++ b/automation/sqlrepo/features/extension_tests/explicit_upgrade/step_2_after_alter_extension/expected/query01.ans @@ -41,33 +41,3 @@ ORDER BY 1; pxfwritable_export | gpdbwritableformatter_export | $PXF_HOME/gpextable/pxf pxfwritable_import | gpdbwritableformatter_import | $PXF_HOME/gpextable/pxf (6 rows) - -SELECT * FROM pxf_upgrade_test ORDER BY num; - name | num | dub | longnum | bool ---------+-----+-----+---------------+------ - row_1 | 1 | 1 | 100000000000 | f - row_2 | 2 | 2 | 200000000000 | t - row_3 | 3 | 3 | 300000000000 | f - row_4 | 4 | 4 | 400000000000 | t - row_5 | 5 | 5 | 500000000000 | f - row_6 | 6 | 6 | 600000000000 | t - row_7 | 7 | 7 | 700000000000 | f - row_8 | 8 | 8 | 800000000000 | t - row_9 | 9 | 9 | 900000000000 | f - row_10 | 10 | 10 | 1000000000000 | t -(10 rows) - -SELECT * FROM pxf_upgrade_test_multibyte ORDER BY num; - name | num | dub | longnum | bool ---------+-----+-----+---------------+------ - row_1 | 1 | 1 | 100000000000 | f - row_2 | 2 | 2 | 200000000000 | t - row_3 | 3 | 3 | 300000000000 | f - row_4 | 4 | 4 | 400000000000 | t - row_5 | 5 | 5 | 500000000000 | f - row_6 | 6 | 6 | 600000000000 | t - row_7 | 7 | 7 | 700000000000 | f - row_8 | 8 | 8 | 800000000000 | t - row_9 | 9 | 9 | 900000000000 | f - row_10 | 10 | 10 | 1000000000000 | t -(10 rows) diff --git a/automation/sqlrepo/features/extension_tests/explicit_upgrade/step_2_after_alter_extension/sql/query01.sql b/automation/sqlrepo/features/extension_tests/explicit_upgrade/step_2_after_alter_extension/sql/query01.sql index c3075e9b..62c2e296 100644 --- a/automation/sqlrepo/features/extension_tests/explicit_upgrade/step_2_after_alter_extension/sql/query01.sql +++ b/automation/sqlrepo/features/extension_tests/explicit_upgrade/step_2_after_alter_extension/sql/query01.sql @@ -22,7 +22,3 @@ FROM pg_catalog.pg_extension AS e INNER JOIN pg_catalog.pg_proc AS p ON (p.oid = d.objid) WHERE d.deptype = 'e' AND e.extname = 'pxf' ORDER BY 1; - -SELECT * FROM pxf_upgrade_test ORDER BY num; - -SELECT * FROM pxf_upgrade_test_multibyte ORDER BY num; diff --git a/automation/sqlrepo/features/extension_tests/upgrade/step_1_create_extension_with_older_pxf_version/expected/query01.ans b/automation/sqlrepo/features/extension_tests/upgrade/step_1_create_extension_with_older_pxf_version/expected/query01.ans index 02dfffac..4601b8d7 100644 --- a/automation/sqlrepo/features/extension_tests/upgrade/step_1_create_extension_with_older_pxf_version/expected/query01.ans +++ b/automation/sqlrepo/features/extension_tests/upgrade/step_1_create_extension_with_older_pxf_version/expected/query01.ans @@ -41,18 +41,3 @@ ORDER BY 1; pxfwritable_export | gpdbwritableformatter_export | $PXF_HOME/gpextable/pxf pxfwritable_import | gpdbwritableformatter_import | $PXF_HOME/gpextable/pxf (5 rows) - -SELECT * FROM pxf_upgrade_test ORDER BY num; - name | num | dub | longnum | bool ---------+-----+-----+---------------+------ - row_1 | 1 | 1 | 100000000000 | f - row_2 | 2 | 2 | 200000000000 | t - row_3 | 3 | 3 | 300000000000 | f - row_4 | 4 | 4 | 400000000000 | t - row_5 | 5 | 5 | 500000000000 | f - row_6 | 6 | 6 | 600000000000 | t - row_7 | 7 | 7 | 700000000000 | f - row_8 | 8 | 8 | 800000000000 | t - row_9 | 9 | 9 | 900000000000 | f - row_10 | 10 | 10 | 1000000000000 | t -(10 rows) diff --git a/automation/sqlrepo/features/extension_tests/upgrade/step_1_create_extension_with_older_pxf_version/sql/query01.sql b/automation/sqlrepo/features/extension_tests/upgrade/step_1_create_extension_with_older_pxf_version/sql/query01.sql index 8c31dcf1..c2f6dbe8 100644 --- a/automation/sqlrepo/features/extension_tests/upgrade/step_1_create_extension_with_older_pxf_version/sql/query01.sql +++ b/automation/sqlrepo/features/extension_tests/upgrade/step_1_create_extension_with_older_pxf_version/sql/query01.sql @@ -22,5 +22,3 @@ FROM pg_catalog.pg_extension AS e INNER JOIN pg_catalog.pg_proc AS p ON (p.oid = d.objid) WHERE d.deptype = 'e' AND e.extname = 'pxf' ORDER BY 1; - -SELECT * FROM pxf_upgrade_test ORDER BY num; diff --git a/automation/sqlrepo/features/extension_tests/upgrade/step_2_after_alter_extension/expected/query01.ans b/automation/sqlrepo/features/extension_tests/upgrade/step_2_after_alter_extension/expected/query01.ans index 9f87b291..fc4cb6cb 100644 --- a/automation/sqlrepo/features/extension_tests/upgrade/step_2_after_alter_extension/expected/query01.ans +++ b/automation/sqlrepo/features/extension_tests/upgrade/step_2_after_alter_extension/expected/query01.ans @@ -41,33 +41,3 @@ ORDER BY 1; pxfwritable_export | gpdbwritableformatter_export | $PXF_HOME/gpextable/pxf pxfwritable_import | gpdbwritableformatter_import | $PXF_HOME/gpextable/pxf (6 rows) - -SELECT * FROM pxf_upgrade_test ORDER BY num; - name | num | dub | longnum | bool ---------+-----+-----+---------------+------ - row_1 | 1 | 1 | 100000000000 | f - row_2 | 2 | 2 | 200000000000 | t - row_3 | 3 | 3 | 300000000000 | f - row_4 | 4 | 4 | 400000000000 | t - row_5 | 5 | 5 | 500000000000 | f - row_6 | 6 | 6 | 600000000000 | t - row_7 | 7 | 7 | 700000000000 | f - row_8 | 8 | 8 | 800000000000 | t - row_9 | 9 | 9 | 900000000000 | f - row_10 | 10 | 10 | 1000000000000 | t -(10 rows) - -SELECT * FROM pxf_upgrade_test_multibyte ORDER BY num; - name | num | dub | longnum | bool ---------+-----+-----+---------------+------ - row_1 | 1 | 1 | 100000000000 | f - row_2 | 2 | 2 | 200000000000 | t - row_3 | 3 | 3 | 300000000000 | f - row_4 | 4 | 4 | 400000000000 | t - row_5 | 5 | 5 | 500000000000 | f - row_6 | 6 | 6 | 600000000000 | t - row_7 | 7 | 7 | 700000000000 | f - row_8 | 8 | 8 | 800000000000 | t - row_9 | 9 | 9 | 900000000000 | f - row_10 | 10 | 10 | 1000000000000 | t -(10 rows) diff --git a/automation/sqlrepo/features/extension_tests/upgrade/step_2_after_alter_extension/sql/query01.sql b/automation/sqlrepo/features/extension_tests/upgrade/step_2_after_alter_extension/sql/query01.sql index 5edb69e5..56696cf6 100644 --- a/automation/sqlrepo/features/extension_tests/upgrade/step_2_after_alter_extension/sql/query01.sql +++ b/automation/sqlrepo/features/extension_tests/upgrade/step_2_after_alter_extension/sql/query01.sql @@ -22,7 +22,3 @@ FROM pg_catalog.pg_extension AS e INNER JOIN pg_catalog.pg_proc AS p ON (p.oid = d.objid) WHERE d.deptype = 'e' AND e.extname = 'pxf' ORDER BY 1; - -SELECT * FROM pxf_upgrade_test ORDER BY num; - -SELECT * FROM pxf_upgrade_test_multibyte ORDER BY num; diff --git a/automation/src/main/java/org/apache/cloudberry/pxf/automation/applications/CloudberryApplication.java b/automation/src/main/java/org/apache/cloudberry/pxf/automation/applications/CloudberryApplication.java index 0929572c..279b8ce2 100644 --- a/automation/src/main/java/org/apache/cloudberry/pxf/automation/applications/CloudberryApplication.java +++ b/automation/src/main/java/org/apache/cloudberry/pxf/automation/applications/CloudberryApplication.java @@ -210,6 +210,10 @@ public class CloudberryApplication implements AutoCloseable { } } + public void dropDatabase(String dbName) throws Exception { + runQuery("DROP DATABASE IF EXISTS " + dbName, true); + } + public void createExtension(String extensionName, boolean ignoreFail) throws Exception { runQuery("CREATE EXTENSION IF NOT EXISTS " + extensionName, ignoreFail); } diff --git a/automation/src/test/java/org/apache/cloudberry/pxf/automation/features/extension/PxfExtensionTest.java b/automation/src/test/java/org/apache/cloudberry/pxf/automation/features/extension/PxfExtensionTest.java index 5d781c61..4c8a4d2f 100644 --- a/automation/src/test/java/org/apache/cloudberry/pxf/automation/features/extension/PxfExtensionTest.java +++ b/automation/src/test/java/org/apache/cloudberry/pxf/automation/features/extension/PxfExtensionTest.java @@ -1,142 +1,103 @@ package org.apache.cloudberry.pxf.automation.features.extension; -import org.apache.cloudberry.pxf.automation.BaseFunctionality; -import org.apache.cloudberry.pxf.automation.structures.tables.basic.Table; -import org.apache.cloudberry.pxf.automation.structures.tables.pxf.ReadableExternalTable; -import org.apache.cloudberry.pxf.automation.structures.tables.utils.TableFactory; +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this 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. + */ + +import org.apache.cloudberry.pxf.automation.AbstractTestcontainersTest; +import org.apache.cloudberry.pxf.automation.applications.CloudberryApplication; import org.testng.annotations.Test; -public class PxfExtensionTest extends BaseFunctionality { +public class PxfExtensionTest extends AbstractTestcontainersTest { - public static final String[] FIELDS = { - "name text", - "num integer", - "dub double precision", - "longNum bigint", - "bool boolean" - }; - - private ReadableExternalTable externalTable; - private String location; - private String location_multi; + private CloudberryApplication extensionDb; @Override - public void beforeClass() throws Exception { - super.beforeClass(); - gpdb.dropDataBase("pxfautomation_extension", true, true); - gpdb.createDataBase("pxfautomation_extension", false); - gpdb.setDb("pxfautomation_extension"); - gpdb.connectToDataBase("pxfautomation_extension"); - - Table smallData = getSmallData("", 10); - - location = hdfs.getWorkingDirectory() + "/upgrade-test-data.txt"; - hdfs.writeTableToFile(location, smallData, ","); + protected void beforeClass() throws Exception { + // pxf_regress scripts run "\c pxfautomation_extension", so the database must exist in the container. + cloudberry.dropDatabase("pxfautomation_extension"); + cloudberry.createDatabase("pxfautomation_extension"); - location_multi = hdfs.getWorkingDirectory() + "/upgrade-test-data_multibyte.txt"; - hdfs.writeTableToFile(location_multi, smallData, "停"); + extensionDb = new CloudberryApplication(container, "pxfautomation_extension"); + extensionDb.connect(); } @Override - public void afterClass() throws Exception { - gpdb.connectToDataBase("pxfautomation"); - gpdb.dropDataBase("pxfautomation_extension", true, true); - super.afterClass(); + protected void afterClass() throws Exception { + if (extensionDb != null) { + extensionDb.close(); + } + cloudberry.dropDatabase("pxfautomation_extension"); } @Override - public void beforeMethod() throws Exception { - gpdb.setDb("pxfautomation_extension"); - gpdb.connectToDataBase("pxfautomation_extension"); - gpdb.runQuery("DROP EXTENSION IF EXISTS pxf CASCADE", true, false); + protected void beforeMethod() throws Exception { + extensionDb.runQuery("DROP EXTENSION IF EXISTS pxf CASCADE", true); } - @Test(groups = {"gpdb", "pxfExtensionVersion2_1"}) + @Test(groups = {"testcontainers", "pxfExtension"}) public void testPxfCreateExtension() throws Exception { - gpdb.runQuery("CREATE EXTENSION pxf"); - // create a regular external table - createReadablePxfTable("default", location, false); - // create an external table with the multibyte formatter - createReadablePxfTable("default", location_multi, true); - runSqlTest("features/extension_tests/create_extension"); + extensionDb.runQuery("CREATE EXTENSION pxf VERSION '2.1'"); + regress.runSqlTest("features/extension_tests/create_extension"); } - @Test(groups = {"pxfExtensionVersion2"}) + @Test(groups = {"testcontainers", "pxfExtension"}) public void testPxfCreateExtensionOldRPM() throws Exception { - gpdb.runQuery("CREATE EXTENSION pxf"); - // create a regular external table - createReadablePxfTable("default", location, false); - // create an external table with the multibyte formatter - createReadablePxfTable("default", location_multi, true); - runSqlTest("features/extension_tests/create_extension_rpm"); + extensionDb.runQuery("CREATE EXTENSION pxf VERSION '2.0'"); + regress.runSqlTest("features/extension_tests/create_extension_rpm"); } - @Test(groups = {"gpdb", "pxfExtensionVersion2_1"}) + @Test(groups = {"testcontainers", "pxfExtension"}) public void testPxfUpgrade() throws Exception { - gpdb.runQuery("CREATE EXTENSION pxf VERSION '2.0'"); - createReadablePxfTable("default", location, false); - runSqlTest("features/extension_tests/upgrade/step_1_create_extension_with_older_pxf_version"); - - // create an external table with the multibyte formatter - createReadablePxfTable("default", location_multi, true); - gpdb.runQuery("ALTER EXTENSION pxf UPDATE"); - runSqlTest("features/extension_tests/upgrade/step_2_after_alter_extension"); + extensionDb.runQuery("CREATE EXTENSION pxf VERSION '2.0'"); + regress.runSqlTest("features/extension_tests/upgrade/step_1_create_extension_with_older_pxf_version"); + + extensionDb.runQuery("ALTER EXTENSION pxf UPDATE TO '2.1'"); + regress.runSqlTest("features/extension_tests/upgrade/step_2_after_alter_extension"); } - @Test(groups = {"gpdb", "pxfExtensionVersion2_1"}) + @Test(groups = {"testcontainers", "pxfExtension"}) public void testPxfExplicitUpgrade() throws Exception { - gpdb.runQuery("CREATE EXTENSION pxf VERSION '2.0'"); - createReadablePxfTable("default", location, false); - runSqlTest("features/extension_tests/explicit_upgrade/step_1_create_extension_with_older_pxf_version"); - - // create an external table with the multibyte formatter - createReadablePxfTable("default", location_multi, true); - gpdb.runQuery("ALTER EXTENSION pxf UPDATE TO '2.1'"); - runSqlTest("features/extension_tests/explicit_upgrade/step_2_after_alter_extension"); + extensionDb.runQuery("CREATE EXTENSION pxf VERSION '2.0'"); + regress.runSqlTest("features/extension_tests/explicit_upgrade/step_1_create_extension_with_older_pxf_version"); + + extensionDb.runQuery("ALTER EXTENSION pxf UPDATE TO '2.1'"); + regress.runSqlTest("features/extension_tests/explicit_upgrade/step_2_after_alter_extension"); } - @Test(groups = {"gpdb", "pxfExtensionVersion2_1"}) + @Test(groups = {"testcontainers", "pxfExtension"}) public void testPxfDowngrade() throws Exception { - gpdb.runQuery("CREATE EXTENSION pxf"); + extensionDb.runQuery("CREATE EXTENSION pxf VERSION '2.1'"); + regress.runSqlTest("features/extension_tests/downgrade/step_1_create_extension"); - createReadablePxfTable("default", location, false); - // create an external table with the multibyte formatter - createReadablePxfTable("default", location_multi, true); - runSqlTest("features/extension_tests/downgrade/step_1_create_extension"); - - gpdb.runQuery("ALTER EXTENSION pxf UPDATE TO '2.0'"); - runSqlTest("features/extension_tests/downgrade/step_2_after_alter_extension_downgrade"); + extensionDb.runQuery("ALTER EXTENSION pxf UPDATE TO '2.0'"); + regress.runSqlTest("features/extension_tests/downgrade/step_2_after_alter_extension_downgrade"); } - @Test(groups = {"gpdb", "pxfExtensionVersion2_1"}) + @Test(groups = {"testcontainers", "pxfExtension"}) public void testPxfDowngradeThenUpgradeAgain() throws Exception { - gpdb.runQuery("CREATE EXTENSION pxf"); - - createReadablePxfTable("default", location, false); - // create an external table with the multibyte formatter - createReadablePxfTable("default", location_multi, true); - runSqlTest("features/extension_tests/downgrade_then_upgrade/step_1_check_extension"); - - gpdb.runQuery("ALTER EXTENSION pxf UPDATE TO '2.0'"); - runSqlTest("features/extension_tests/downgrade_then_upgrade/step_2_after_alter_extension_downgrade"); + extensionDb.runQuery("CREATE EXTENSION pxf VERSION '2.1'"); + regress.runSqlTest("features/extension_tests/downgrade_then_upgrade/step_1_check_extension"); - gpdb.runQuery("ALTER EXTENSION pxf UPDATE TO '2.1'"); - runSqlTest("features/extension_tests/downgrade_then_upgrade/step_3_after_alter_extension_upgrade"); - } + extensionDb.runQuery("ALTER EXTENSION pxf UPDATE TO '2.0'"); + regress.runSqlTest("features/extension_tests/downgrade_then_upgrade/step_2_after_alter_extension_downgrade"); - private void createReadablePxfTable(String serverName, String location, boolean multi) throws Exception { - if (multi) { - externalTable = TableFactory.getPxfReadableTextTable("pxf_upgrade_test_multibyte", FIELDS, location, null); - externalTable.setFormat("CUSTOM"); - externalTable.setFormatter("pxfdelimited_import"); - externalTable.addFormatterOption("delimiter='停'"); - } else { - externalTable = TableFactory.getPxfReadableTextTable("pxf_upgrade_test", FIELDS, location, ","); - } - externalTable.setHost(pxfHost); - externalTable.setPort(pxfPort); - externalTable.setServer("SERVER=" + serverName); - gpdb.createTableAndVerify(externalTable); + extensionDb.runQuery("ALTER EXTENSION pxf UPDATE TO '2.1'"); + regress.runSqlTest("features/extension_tests/downgrade_then_upgrade/step_3_after_alter_extension_upgrade"); } - } diff --git a/automation/src/test/java/org/apache/cloudberry/pxf/automation/features/extension/PxfFdwExtensionTest.java b/automation/src/test/java/org/apache/cloudberry/pxf/automation/features/extension/PxfFdwExtensionTest.java index b937c321..4017c452 100644 --- a/automation/src/test/java/org/apache/cloudberry/pxf/automation/features/extension/PxfFdwExtensionTest.java +++ b/automation/src/test/java/org/apache/cloudberry/pxf/automation/features/extension/PxfFdwExtensionTest.java @@ -1,64 +1,85 @@ package org.apache.cloudberry.pxf.automation.features.extension; -import org.apache.cloudberry.pxf.automation.BaseFunctionality; +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this 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. + */ + +import org.apache.cloudberry.pxf.automation.AbstractTestcontainersTest; +import org.apache.cloudberry.pxf.automation.applications.CloudberryApplication; import org.testng.annotations.Test; -public class PxfFdwExtensionTest extends BaseFunctionality { +public class PxfFdwExtensionTest extends AbstractTestcontainersTest { + + private CloudberryApplication extensionDb; @Override - public void beforeClass() throws Exception { - super.beforeClass(); - gpdb.dropDataBase("pxfautomation_extension", true, true); - gpdb.createDataBase("pxfautomation_extension", false); - gpdb.setDb("pxfautomation_extension"); - gpdb.connectToDataBase("pxfautomation_extension"); + protected void beforeClass() throws Exception { + // pxf_regress scripts run "\c pxfautomation_extension", so the database must exist in the container. + cloudberry.dropDatabase("pxfautomation_extension"); + cloudberry.createDatabase("pxfautomation_extension"); + + extensionDb = new CloudberryApplication(container, "pxfautomation_extension"); + extensionDb.connect(); } @Override - public void afterClass() throws Exception { - gpdb.connectToDataBase("pxfautomation"); - gpdb.dropDataBase("pxfautomation_extension", true, true); - super.afterClass(); + protected void afterClass() throws Exception { + if (extensionDb != null) { + extensionDb.close(); + } + cloudberry.dropDatabase("pxfautomation_extension"); } @Override - public void beforeMethod() throws Exception { - gpdb.setDb("pxfautomation_extension"); - gpdb.connectToDataBase("pxfautomation_extension"); - gpdb.runQuery("DROP EXTENSION IF EXISTS pxf_fdw CASCADE", true, false); + protected void beforeMethod() throws Exception { + extensionDb.runQuery("DROP EXTENSION IF EXISTS pxf_fdw CASCADE", true); } - @Test(groups = {"pxfFdwExtensionVersion2"}) + @Test(groups = {"testcontainers", "pxfFdwExtension"}) public void testPxfCreateExtension() throws Exception { - gpdb.runQuery("CREATE EXTENSION pxf_fdw"); - runSqlTest("features/fdw_extension_tests/create_extension"); + extensionDb.runQuery("CREATE EXTENSION pxf_fdw VERSION '2.0'"); + regress.runSqlTest("features/fdw_extension_tests/create_extension"); } - @Test(groups = {"pxfFdwExtensionVersion1"}) + @Test(groups = {"testcontainers", "pxfFdwExtension"}) public void testPxfCreateExtensionOldRPM() throws Exception { - gpdb.runQuery("CREATE EXTENSION pxf_fdw"); - runSqlTest("features/fdw_extension_tests/create_extension_rpm"); + extensionDb.runQuery("CREATE EXTENSION pxf_fdw VERSION '1.0'"); + regress.runSqlTest("features/fdw_extension_tests/create_extension_rpm"); } - @Test(groups = {"pxfFdwExtensionVersion2"}) + @Test(groups = {"testcontainers", "pxfFdwExtension"}) public void testPxfUpgrade() throws Exception { - gpdb.runQuery("CREATE EXTENSION pxf_fdw VERSION '1.0'"); - runSqlTest("features/fdw_extension_tests/upgrade/step_1_create_extension_with_older_pxf_version"); + extensionDb.runQuery("CREATE EXTENSION pxf_fdw VERSION '1.0'"); + regress.runSqlTest("features/fdw_extension_tests/upgrade/step_1_create_extension_with_older_pxf_version"); - gpdb.runQuery("ALTER EXTENSION pxf_fdw UPDATE"); - runSqlTest("features/fdw_extension_tests/upgrade/step_2_after_alter_extension"); + extensionDb.runQuery("ALTER EXTENSION pxf_fdw UPDATE TO '2.0'"); + regress.runSqlTest("features/fdw_extension_tests/upgrade/step_2_after_alter_extension"); } - @Test(groups = {"pxfFdwExtensionVersion2"}) + @Test(groups = {"testcontainers", "pxfFdwExtension"}) public void testPxfDowngradeThenUpgradeAgain() throws Exception { - gpdb.runQuery("CREATE EXTENSION pxf_fdw"); - runSqlTest("features/fdw_extension_tests/downgrade_then_upgrade/step_1_check_extension"); + extensionDb.runQuery("CREATE EXTENSION pxf_fdw VERSION '2.0'"); + regress.runSqlTest("features/fdw_extension_tests/downgrade_then_upgrade/step_1_check_extension"); - gpdb.runQuery("ALTER EXTENSION pxf_fdw UPDATE TO '1.0'"); - runSqlTest("features/fdw_extension_tests/downgrade_then_upgrade/step_2_after_alter_extension_downgrade"); + extensionDb.runQuery("ALTER EXTENSION pxf_fdw UPDATE TO '1.0'"); + regress.runSqlTest("features/fdw_extension_tests/downgrade_then_upgrade/step_2_after_alter_extension_downgrade"); - gpdb.runQuery("ALTER EXTENSION pxf_fdw UPDATE TO '2.0'"); - runSqlTest("features/fdw_extension_tests/downgrade_then_upgrade/step_3_after_alter_extension_upgrade"); + extensionDb.runQuery("ALTER EXTENSION pxf_fdw UPDATE TO '2.0'"); + regress.runSqlTest("features/fdw_extension_tests/downgrade_then_upgrade/step_3_after_alter_extension_upgrade"); } - } diff --git a/ci/docker/pxf-cbdb-dev/common/script/run_tests.sh b/ci/docker/pxf-cbdb-dev/common/script/run_tests.sh index 5e78d40e..7a2df457 100755 --- a/ci/docker/pxf-cbdb-dev/common/script/run_tests.sh +++ b/ci/docker/pxf-cbdb-dev/common/script/run_tests.sh @@ -408,43 +408,6 @@ gpdb_test() { echo "[run_tests] GROUP=gpdb $extra_args finished" } -pxf_extension_test(){ - local sudo_cmd="" - if [ "$(id -u)" -ne 0 ]; then - sudo_cmd="sudo -n" - fi - local extension_dir="${GPHOME}/share/postgresql/extension" - local pxf_fdw_control="${extension_dir}/pxf_fdw.control" - if [ -d "${REPO_ROOT}/fdw" ] && [ -d "${extension_dir}" ]; then - for sql in pxf_fdw--2.0.sql pxf_fdw--1.0--2.0.sql pxf_fdw--2.0--1.0.sql; do - if [ -f "${REPO_ROOT}/fdw/${sql}" ]; then - ${sudo_cmd} cp -f "${REPO_ROOT}/fdw/${sql}" "${extension_dir}/${sql}" - fi - done - fi - - set_pxf_fdw_default_version() { - local version="$1" - if [ -f "${pxf_fdw_control}" ]; then - ${sudo_cmd} sed -i "s/^default_version = '.*'/default_version = '${version}'/" "${pxf_fdw_control}" - fi - } - - set_pxf_fdw_default_version "2.0" - make GROUP="pxfExtensionVersion2" || true - save_test_reports "pxfExtensionVersion2" - make GROUP="pxfExtensionVersion2_1" || true - save_test_reports "pxfExtensionVersion2_1" - - set_pxf_fdw_default_version "1.0" - make GROUP="pxfFdwExtensionVersion1" || true - save_test_reports "pxfFdwExtensionVersion1" - - set_pxf_fdw_default_version "2.0" - make GROUP="pxfFdwExtensionVersion2" || true - save_test_reports "pxfFdwExtensionVersion2" -} - bench_prepare_env() { export HADOOP_HEAPSIZE=${HADOOP_HEAPSIZE:-2048} export JAVA_HOME="${JAVA_HADOOP}" @@ -541,7 +504,7 @@ generate_test_summary() { local group=$(basename "$group_dir") # Skip if it's not a test group directory - [[ "$group" =~ ^(smoke|hcatalog|hcfs|hdfs|hive|gpdb|sanity|hbase|profile|jdbc|proxy|unused|features|load|performance|pxfExtensionVersion2|pxfExtensionVersion2_1|pxfFdwExtensionVersion1|pxfFdwExtensionVersion2|fdw|gpdb_fdw)$ ]] || continue + [[ "$group" =~ ^(smoke|hcatalog|hcfs|hdfs|hive|gpdb|sanity|hbase|profile|jdbc|proxy|unused|features|load|performance|pxfExtension|pxfFdwExtension|fdw|gpdb_fdw)$ ]] || continue echo "Processing $group test reports from $group_dir" @@ -705,9 +668,6 @@ run_single_group() { gpdb) gpdb_test "false" ;; - pxf_extension) - pxf_extension_test - ;; load) bench_prepare_env load_test @@ -729,7 +689,7 @@ run_single_group() { ;; *) echo "Unknown test group: $group" - echo "Available groups: cli, external-table, fdw, server, sanity, smoke, hdfs, hcatalog, hcfs, hive, hbase, profile, jdbc, proxy, unused, features, gpdb, gpdb_fdw, load, performance, bench, pxf_extension" + echo "Available groups: cli, external-table, fdw, server, sanity, smoke, hdfs, hcatalog, hcfs, hive, hbase, profile, jdbc, proxy, unused, features, gpdb, gpdb_fdw, load, performance, bench" exit 1 ;; esac --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
