Created
April 28, 2026 23:21
-
-
Save amoeba/ff2d0f001e6a1e1dae14f7cacb39181f to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| diff --git a/go/validation/pytest.ini b/go/validation/pytest.ini | |
| index 49b4b9d..becdba0 100644 | |
| --- a/go/validation/pytest.ini | |
| +++ b/go/validation/pytest.ini | |
| @@ -19,6 +19,7 @@ xfail_strict = true | |
| markers = | |
| feature: test for a driver-specific feature | |
| + requires_features: skip test if driver does not support the listed features | |
| filterwarnings = | |
| error | |
| diff --git a/go/validation/tests/conftest.py b/go/validation/tests/conftest.py | |
| index bf53fc9..c44b51b 100644 | |
| --- a/go/validation/tests/conftest.py | |
| +++ b/go/validation/tests/conftest.py | |
| @@ -28,7 +28,6 @@ from adbc_drivers_validation.tests.conftest import ( # noqa: F401 | |
| from . import mysql | |
| - | |
| def pytest_addoption(parser): | |
| adbc_drivers_validation.tests.conftest.pytest_addoption(parser) | |
| parser.addoption("--vendor-version", action="store", default="9.4") | |
| @@ -36,9 +35,9 @@ def pytest_addoption(parser): | |
| @pytest.fixture(scope="session") | |
| def driver(request, pytestconfig) -> adbc_drivers_validation.model.DriverQuirks: | |
| - driver = request.param | |
| - assert driver.startswith("mysql:") | |
| - return mysql.get_quirks(pytestconfig.getoption("vendor_version")) | |
| + param = request.param | |
| + vendor, _, version = param.partition(":") | |
| + return mysql.get_quirks(version, vendor=vendor) | |
| @pytest.fixture(scope="session") | |
| diff --git a/go/validation/tests/generate_documentation.py b/go/validation/tests/generate_documentation.py | |
| index 6b6a9fd..266e79d 100644 | |
| --- a/go/validation/tests/generate_documentation.py | |
| +++ b/go/validation/tests/generate_documentation.py | |
| @@ -29,6 +29,7 @@ if __name__ == "__main__": | |
| reports = [report.resolve() for report in Path(".").glob("validation-report*.xml")] | |
| generate_documentation.generate( | |
| + "mysql", | |
| mysql.get_quirks, | |
| reports, | |
| template, | |
| diff --git a/go/validation/tests/mysql.py b/go/validation/tests/mysql.py | |
| index c48edd4..f9d3ce8 100644 | |
| --- a/go/validation/tests/mysql.py | |
| +++ b/go/validation/tests/mysql.py | |
| @@ -86,9 +86,17 @@ class MySQLQuirks(model.DriverQuirks): | |
| return name | |
| +class MariaDBQuirks(MySQLQuirks): | |
| + name = "mariadb" | |
| + vendor_name = "MariaDB" | |
| + vendor_version = "11.4.0 (MariaDB Community Server)" | |
| + short_version = "11.4" | |
| + | |
| + | |
| @functools.cache | |
| -def get_quirks(version: str) -> model.DriverQuirks: | |
| +def get_quirks(version: str, *, vendor: str = "mysql") -> model.DriverQuirks: | |
| + if vendor == "mariadb": | |
| + return MariaDBQuirks() | |
| if version == "9.4": | |
| return MySQLQuirks() | |
| - else: | |
| - raise ValueError(f"unsupported MySQL version: {version}") | |
| + raise ValueError(f"unsupported MySQL version: {version}") | |
| diff --git a/go/validation/tests/test_connection.py b/go/validation/tests/test_connection.py | |
| index d49d25c..91343cf 100644 | |
| --- a/go/validation/tests/test_connection.py | |
| +++ b/go/validation/tests/test_connection.py | |
| @@ -21,5 +21,8 @@ from . import mysql | |
| def pytest_generate_tests(metafunc) -> None: | |
| - quirks = [mysql.get_quirks(metafunc.config.getoption("vendor_version"))] | |
| + quirks = [ | |
| + mysql.get_quirks("9.4", vendor="mysql"), | |
| + mysql.get_quirks("11.4", vendor="mariadb"), | |
| + ] | |
| return adbc_drivers_validation.tests.connection.generate_tests(quirks, metafunc) | |
| diff --git a/go/validation/tests/test_ingest.py b/go/validation/tests/test_ingest.py | |
| index 896c7f9..b75616f 100644 | |
| --- a/go/validation/tests/test_ingest.py | |
| +++ b/go/validation/tests/test_ingest.py | |
| @@ -18,7 +18,10 @@ from . import mysql | |
| def pytest_generate_tests(metafunc) -> None: | |
| - quirks = [mysql.get_quirks(metafunc.config.getoption("vendor_version"))] | |
| + quirks = [ | |
| + mysql.get_quirks("9.4", vendor="mysql"), | |
| + mysql.get_quirks("11.4", vendor="mariadb"), | |
| + ] | |
| return adbc_drivers_validation.tests.ingest.generate_tests(quirks, metafunc) | |
| diff --git a/go/validation/tests/test_query.py b/go/validation/tests/test_query.py | |
| index 240d5ed..c8a01d2 100644 | |
| --- a/go/validation/tests/test_query.py | |
| +++ b/go/validation/tests/test_query.py | |
| @@ -21,5 +21,8 @@ from . import mysql | |
| def pytest_generate_tests(metafunc) -> None: | |
| - quirks = [mysql.get_quirks(metafunc.config.getoption("vendor_version"))] | |
| + quirks = [ | |
| + mysql.get_quirks("9.4", vendor="mysql"), | |
| + mysql.get_quirks("11.4", vendor="mariadb"), | |
| + ] | |
| return adbc_drivers_validation.tests.query.generate_tests(quirks, metafunc) | |
| diff --git a/go/validation/tests/test_statement.py b/go/validation/tests/test_statement.py | |
| index f5f7576..df02345 100644 | |
| --- a/go/validation/tests/test_statement.py | |
| +++ b/go/validation/tests/test_statement.py | |
| @@ -21,5 +21,8 @@ from . import mysql | |
| def pytest_generate_tests(metafunc) -> None: | |
| - quirks = [mysql.get_quirks(metafunc.config.getoption("vendor_version"))] | |
| + quirks = [ | |
| + mysql.get_quirks("9.4", vendor="mysql"), | |
| + mysql.get_quirks("11.4", vendor="mariadb"), | |
| + ] | |
| return adbc_drivers_validation.tests.statement.generate_tests(quirks, metafunc) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment