Skip to content

Commit 0eaf590

Browse files
authored
Merge ded63bd into 53df48f
2 parents 53df48f + ded63bd commit 0eaf590

27 files changed

+1338
-0
lines changed

.github/config/muted_ya.txt

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,5 +101,78 @@ ydb/tests/functional/tenants test_dynamic_tenants.py.*
101101
ydb/tests/functional/tenants test_storage_config.py.TestStorageConfig.*
102102
ydb/tests/functional/tenants test_tenants.py.*
103103
ydb/tests/functional/ydb_cli test_ydb_impex.py.TestImpex.test_big_dataset*
104+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestArrayValueBackend]
105+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestBinaryByteSliceToInt]
106+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestBinaryByteSlicetoUUID]
107+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestBindError]
108+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestCommit]
109+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestConnListen]
110+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestConnPing]
111+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestConnUnlistenAll]
112+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestConnUnlisten]
113+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestConnectorWithNoticeHandler_Simple]
114+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestConnectorWithNotificationHandler_Simple]
115+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestContextCancelBegin]
116+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestContextCancelQuery]
117+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestCopyFromError]
118+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestCopyInBinaryError]
119+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestCopyInMultipleValues]
120+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestCopyInRaiseStmtTrigger]
121+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestCopyInStmtAffectedRows]
122+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestCopyInTypes]
123+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestCopyInWrongType]
124+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestCopyRespLoopConnectionError]
125+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestCopySyntaxError]
126+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestEmptyQuery]
127+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestEncodeAndParseTs]
128+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestEncodeDecode]
129+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestErrorClass]
130+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestErrorDuringStartup]
131+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestErrorOnExec]
132+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestErrorOnQueryRowSimpleQuery]
133+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestErrorOnQuery]
134+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestExec]
135+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestFormatTsBackend]
136+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestHasCorrectRootGroupPermissions]
137+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestInfinityTimestamp]
138+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestIssue1046]
139+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestIssue1062]
140+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestIssue186]
141+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestListenerFailedQuery]
142+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestListenerListen]
143+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestListenerPing]
144+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestListenerReconnect]
145+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestListenerUnlistenAll]
146+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestListenerUnlisten]
147+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestNewConnector_Connect]
148+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestNewConnector_Driver]
149+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestNewConnector_WorksWithOpenDB]
150+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestNotifyExtra]
151+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestNullAfterNonNull]
152+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestParseErrorInExtendedQuery]
153+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestPing]
154+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestQueryCancelledReused]
155+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestQueryRowBugWorkaround]
156+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestReconnect]
157+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestReturning]
158+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestRowsResultTag]
159+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestRuntimeParameters]
160+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestStmtExecContext/context.Background]
161+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestStmtExecContext/context.WithTimeout]
162+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestStmtExecContext/context.WithTimeout_exceeded]
163+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestStmtExecContext]
164+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestStmtQueryContext/context.Background]
165+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestStmtQueryContext/context.WithTimeout]
166+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestStmtQueryContext/context.WithTimeout_exceeded]
167+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestStmtQueryContext]
168+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestStringWithNul]
169+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestTimeWithTimezone/24:00-04:00_=>_0000-01-02T00:00:00-04:00]
170+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestTimeWithTimezone/24:00:00+00_=>_0000-01-02T00:00:00Z]
171+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestTimeWithTimezone/24:00:00.0+00_=>_0000-01-02T00:00:00Z]
172+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestTimeWithTimezone/24:00:00.000000+00_=>_0000-01-02T00:00:00Z]
173+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestTimeWithTimezone/24:00Z_=>_0000-01-02T00:00:00Z]
174+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestTimeWithTimezone]
175+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestTimestampWithTimeZone]
176+
ydb/tests/postgres_integrations/go-libpq docker_wrapper_test.py.test_pg_generated[TestTxOptions]
104177
ydb/tests/tools/pq_read/test test_timeout.py.TestTimeout.test_timeout
105178
ydb/core/kqp/ut/query KqpStats.SysViewClientLost

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
!*/
88
# Unignore all files inside canondata dir
99
!**/canondata/**
10+
# Allow docker files
11+
!Dockerfile
1012

1113
/canonization_show_res.log
1214

ydb/tests/library/harness/kikimr_runner.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,7 @@ def __make_run_command(self):
178178
"--grpc-port=%s" % self.grpc_port,
179179
"--mon-port=%d" % self.mon_port,
180180
"--ic-port=%d" % self.ic_port,
181+
"--pgwire-port=%d" % self.pgwire_port,
181182
]
182183
)
183184

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import ydb.tests.postgres_integrations.library
2+
import pytest
3+
4+
5+
def pytest_collection_finish(session: pytest.Session):
6+
ydb.tests.postgres_integrations.library.pytest_collection_finish(session)
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
/exchange/
2+
/sources/
3+
/test-result/
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# For docker context at root git directory
2+
3+
FROM golang:1.20
4+
5+
WORKDIR /project/sources/
6+
7+
COPY patch.diff /patch.diff
8+
COPY docker-init.bash /docker-init.bash
9+
RUN /docker-init.bash
10+
11+
COPY common-go-scripts/go-run-separate-tests.bash /go-run-separate-tests.bash
12+
13+
COPY docker-start.bash /docker-start.bash
14+
15+
CMD [ "/docker-start.bash" ]
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#!/bin/bash
2+
3+
set -eu
4+
5+
ONE_TEST_TIMEOUT=5s
6+
TEST_BINARY=./test.binary
7+
8+
echo "Get test list"
9+
TESTS=$($TEST_BINARY --test.list "^Test" | sort)
10+
11+
12+
echo "Shell $SHELL"
13+
14+
rm -f /test-result/raw/result.txt
15+
for TEST_NAME in $TESTS; do
16+
echo -n "Test: $TEST_NAME "
17+
if echo "$TEST_NAME" | grep -Eq "$YDB_PG_TESTFILTER"; then
18+
echo start
19+
else
20+
echo skip
21+
continue
22+
fi
23+
CMD="$TEST_BINARY --test.run '^$TEST_NAME\$' --test.v --test.timeout='$ONE_TEST_TIMEOUT'"
24+
echo "$CMD"
25+
bash -c "$CMD" >> /test-result/raw/result.txt 2>&1 || true
26+
done
27+
28+
go-junit-report < /test-result/raw/result.txt > /test-result/raw/result.xml
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
version: "3"
2+
services:
3+
project:
4+
network_mode: host
5+
6+
image: ydb-test/go-pqlib
7+
build:
8+
context: ../../..
9+
dockerfile: languages/go/libpq/Dockerfile
10+
network: host
11+
environment:
12+
- PGUSER=${YDB_PG_USER:-root}
13+
- PGPASSWORD=${YDB_PG_PASSWORD:-1234}
14+
- PGHOST=${YDB_PG_HOST:-ydb}
15+
- PGPORT=${YDB_PG_PORT:-5432}
16+
- PGDATABASE=${YDB_PG_DATABASE:-local}
17+
- PQGOSSLTESTS=0
18+
- PQSSLCERTTEST_PATH=certs
19+
- YDB_PG_TESTNAME=${YDB_PG_TESTNAME:-}
20+
volumes:
21+
- ./exchange:/exchange
22+
- ./test-result/:/test-result
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
version: "3"
2+
services:
3+
ydb:
4+
image: ghcr.io/ydb-platform/local-ydb:nightly
5+
environment:
6+
- "YDB_DEFAULT_LOG_LEVEL=DEBUG"
7+
- "GRPC_TLS_PORT=2135"
8+
- "GRPC_PORT=2136"
9+
- "MON_PORT=8765"
10+
- "YDB_USE_IN_MEMORY_PDISKS=true"
11+
- "POSTGRES_USER=${YDB_PG_USER:-root}"
12+
- "POSTGRES_PASSWORD=${YDB_PG_PASSWORD:-1234}"
13+
- "YDB_FEATURE_FLAGS=enable_temp_tables"
14+
- "YDB_TABLE_ENABLE_PREPARED_DDL=true"
15+
healthcheck:
16+
test: "/bin/sh /health_check"
17+
interval: 1s
18+
start_period: 1m
19+
project:
20+
depends_on:
21+
ydb:
22+
condition: service_healthy
23+
24+
image: ydb-test/go-pqlib
25+
build:
26+
context: ../../..
27+
dockerfile: languages/go/libpq/Dockerfile
28+
network: host
29+
environment:
30+
- PGUSER=${YDB_PG_USER:-root}
31+
- PGPASSWORD=${YDB_PG_PASSWORD:-1234}
32+
- PGHOST=${YDB_PG_HOST:-ydb}
33+
- PGPORT=${YDB_PG_PORT:-5432}
34+
- PGDATABASE=${YDB_PG_DATABASE:-/local}
35+
- PQGOSSLTESTS=0
36+
- PQSSLCERTTEST_PATH=certs
37+
- YDB_PG_TESTNAME=${YDB_PG_TESTNAME:-}
38+
volumes:
39+
- ./exchange:/exchange
40+
- ./test-result/:/test-result
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#!/bin/bash
2+
3+
set -eu
4+
5+
apt-get update && apt-get install -y patch
6+
7+
go install github.com/jstemmer/go-junit-report/v2@v2.0.0
8+
9+
mkdir -p /original-sources
10+
cd /original-sources
11+
12+
wget https://github.com/lib/pq/archive/refs/tags/v1.10.9.tar.gz -O libpq.tar.gz
13+
tar --strip-components=1 -zxvf libpq.tar.gz
14+
rm -f libpq.tar.gz
15+
16+
mkdir -p /project/sources/
17+
cp -R /original-sources/. /project/sources/
18+
19+
cd /project/sources/
20+
[ -e /patch.diff ] && patch -s -p0 < /patch.diff
21+
22+
# cache binary
23+
echo "Build test binary"
24+
go test -c -o ./test.binary

0 commit comments

Comments
 (0)