Skip to content

Commit

Permalink
Add function tests for tpcds and clickbench (ydb-platform#13461)
Browse files Browse the repository at this point in the history
  • Loading branch information
iddqdex authored Jan 17, 2025
1 parent bbc4ec0 commit 3712773
Show file tree
Hide file tree
Showing 9 changed files with 108 additions and 38 deletions.
13 changes: 13 additions & 0 deletions ydb/tests/functional/tpc/large/test_tpcds.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import ydb.tests.olap.load.lib.tpcds as tpcds
from ydb.tests.functional.tpc.lib.conftest import FunctionalTestBase


class TestTpcdsS1(tpcds.TestTpcds1, FunctionalTestBase):
iterations: int = 1

@classmethod
def setup_class(cls) -> None:
cls.setup_cluster()
cls.run_cli(['workload', 'tpcds', '-p', 'olap_yatests/tpcds/s1', 'init', '--store=column'])
cls.run_cli(['workload', 'tpcds', '-p', 'olap_yatests/tpcds/s1', 'import', 'generator', '--scale=1'])
tpcds.TestTpcds1.setup_class()
29 changes: 29 additions & 0 deletions ydb/tests/functional/tpc/large/ya.make
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
PY3TEST()
ENV(YDB_HARD_MEMORY_LIMIT_BYTES="107374182400")

TEST_SRCS(
test_tpcds.py
)

SIZE(LARGE)
TAG(ya:fat)


REQUIREMENTS(ram:16)

ENV(YDB_ENABLE_COLUMN_TABLES="true")
ENV(YDB_DRIVER_BINARY="ydb/apps/ydbd/ydbd")
ENV(NO_KUBER_LOGS="yes")

PEERDIR(
ydb/tests/functional/tpc/lib
)

DEPENDS(
ydb/apps/ydb
ydb/apps/ydbd
)

FORK_TEST_FILES()

END()
File renamed without changes.
12 changes: 12 additions & 0 deletions ydb/tests/functional/tpc/lib/ya.make
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
PY3_LIBRARY()

PY_SRCS (
conftest.py
)

PEERDIR(
ydb/tests/library
ydb/tests/olap/load/lib
)

END()
16 changes: 16 additions & 0 deletions ydb/tests/functional/tpc/medium/test_clickbench.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import os
import ydb.tests.olap.load.lib.clickbench as clickbench
import yatest.common
from ydb.tests.functional.tpc.lib.conftest import FunctionalTestBase


class TestClickbench(clickbench.TestClickbench, FunctionalTestBase):
iterations: int = 1

@classmethod
def setup_class(cls) -> None:
cls.setup_cluster()
cls.run_cli(['workload', 'clickbench', '-p', 'olap_yatests/clickbench/hits', 'init', '--store=column'])
cls.run_cli(['workload', 'clickbench', '-p', 'olap_yatests/clickbench/hits', 'import', 'files', '--input', yatest.common.source_path("ydb/tests/functional/clickbench/data/hits.csv")])
os.environ['NO_VERIFY_DATA_CLICKBENCH'] = '1'
clickbench.TestClickbench.setup_class()
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import ydb.tests.olap.load.lib.tpch as tpch
from conftest import FunctionalTestBase
from ydb.tests.functional.tpc.lib.conftest import FunctionalTestBase


class TestTpchS1(tpch.TestTpch1, FunctionalTestBase):
Expand Down
32 changes: 32 additions & 0 deletions ydb/tests/functional/tpc/medium/ya.make
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
PY3TEST()
ENV(YDB_HARD_MEMORY_LIMIT_BYTES="107374182400")

TEST_SRCS(
test_clickbench.py
test_tpch.py
)

SIZE(MEDIUM)

REQUIREMENTS(ram:16)

ENV(YDB_ENABLE_COLUMN_TABLES="true")
ENV(YDB_DRIVER_BINARY="ydb/apps/ydbd/ydbd")
ENV(NO_KUBER_LOGS="yes")

PEERDIR(
ydb/tests/functional/tpc/lib
)

DEPENDS(
ydb/apps/ydb
ydb/apps/ydbd
)

DATA(
arcadia/ydb/tests/functional/clickbench/data/hits.csv
)

FORK_TEST_FILES()

END()
39 changes: 4 additions & 35 deletions ydb/tests/functional/tpc/ya.make
Original file line number Diff line number Diff line change
@@ -1,36 +1,5 @@
IF (NOT SANITIZER_TYPE)

PY3TEST()
ENV(YDB_HARD_MEMORY_LIMIT_BYTES="107374182400")

PY_SRCS(
conftest.py
RECURSE(
large
lib
medium
)

TEST_SRCS(
test_tpch.py
)

SIZE(MEDIUM)

REQUIREMENTS(ram:16)

ENV(YDB_ENABLE_COLUMN_TABLES="true")
ENV(YDB_DRIVER_BINARY="ydb/apps/ydbd/ydbd")
ENV(NO_KUBER_LOGS="yes")

PEERDIR(
ydb/tests/library
ydb/tests/olap/load/lib
)

DEPENDS(
ydb/apps/ydb
ydb/apps/ydbd
)

FORK_TEST_FILES()

END()

ENDIF()
3 changes: 1 addition & 2 deletions ydb/tests/olap/lib/ydb_cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,7 @@ def get_cli_command() -> list[str]:
if cli == 'git':
return [yatest.common.work_path('ydb')] + args
elif cli == 'main':
path = os.path.join(yatest.common.context.project_path, '../../../apps/ydb/ydb')
return [yatest.common.binary_path(path)] + args
return [yatest.common.binary_path('ydb/apps/ydb/ydb')] + args
else:
return [cli] + args

Expand Down

0 comments on commit 3712773

Please sign in to comment.