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

Test versions mismatch #9167

Open
wants to merge 19 commits into
base: main
Choose a base branch
from
Open

Conversation

a-masterov
Copy link
Contributor

@a-masterov a-masterov commented Sep 26, 2024

Problem

We faced the problem of incompatibility of the different components of different versions.
This should be detected automatically to prevent production bugs.

Summary of changes

The test for this situation was implemented

Checklist before requesting a review

  • I have performed a self-review of my code.
  • If it is a core feature, I have added thorough tests.
  • Do we need to implement analytics? if so did you add the relevant metrics to the dashboard?
  • If this PR requires public announcement, mark it with /release-notes label and add several sentences in this section.

Checklist before merging

  • Do not forget to reformat commit message to not include the above checklist

@a-masterov a-masterov force-pushed the amasterov/test-versions-mismatch branch from c151c53 to 535a8fd Compare September 26, 2024 14:16
Copy link

github-actions bot commented Sep 26, 2024

2810 tests run: 2715 passed, 0 failed, 95 skipped (full report)


Flaky tests (1)

Postgres 17

Test coverage report is not available

The comment gets automatically updated with the latest test results
3d570a3 at 2024-09-30T16:24:28.866Z :recycle:

test_runner/regress/test_compatibility.py Outdated Show resolved Hide resolved
test_runner/regress/test_compatibility.py Outdated Show resolved Hide resolved
test_runner/regress/test_compatibility.py Outdated Show resolved Hide resolved

@check_ondisk_data_compatibility_if_enabled
@pytest.mark.xdist_group("compatibility")
@pytest.mark.parametrize("combination", [0x15, 0x02, 0x0C, 0x09, 0x1A])
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be nice to have a comment explaining what we are testing and why only these combinations.

Also let's use ids to make test names a bit more verbose (currently it's test_versions_mismatch[release-pg14-12]), I'm thinking about test_versions_mismatch[release-pg14-combination12], or maybe even test_versions_mismatch[release-pg14-combination01100]

compatibility_neon_bin = Path(compatibility_neon_bin_env).resolve()

target_dir = test_output_dir / "neon" / "bin"
os.makedirs(target_dir)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd try not to mix pathlib's API with os' counterparts, let's use pathlib.Path.mkdir instead, it should be something like:

target_dir.mkdir(parents=True)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants