Gitaly comparison tests
Closes #35 (closed).
This is a new test harness for HGitaly, complete with a fixture based on the GitLab mirroring capability of py-heptapod. It is complemnetary to the existing integration tests and isn't supposed to replace them.
It assumes that HGitaly is part of a HDK workspace or preinstalled in CI. At this point, this is all that we need, but it can be improved later on if needed.
The CI setup runs the Gitaly tests only for the "current" Mercurial version, as can be found
in the heptapod-base
CI image. We won't have appropriate base images for other versions.
Coverage policy stays the same. The Gitaly comparison tests themselves are skipped if
a Gitaly installation is not available, for example in the compat
pipeline stage.
The README grows a big section about the different kinds of tests and the testing policy. It comes with a hints subsection, to make it nicer than rules, rules and more rules.
Merge request reports
Activity
- Resolved by Georges Racinet
@khanchi97 couldn't resist. What do you think of this?
added 4 commits
- 65069c2d72c2 - Moved tests with Gitaly outside of the hgitaly package
- 776510b6f631 - Tests with Gitaly: running only if Gitaly is present
- ebb9f309ad40 - run-all-tests: cover tests with Gitaly when needed
- 26e23156586f - Heptapod CI: running tests with Gitaly
Toggle commit listadded 1 commit
- 970b6d2e3420 - Documented dev rules and role of different test types [skip ci]
added 1 commit
- 1c5733a47b06 - Documented dev rules and role of different test types [skip ci]
- Resolved by Georges Racinet
- Resolved by Georges Racinet
added 6 commits
- 5b11fc1e996d - WIP: separate GitalyServer class
- ec145c599791 - Providing gitaly_channel fixture
- 3cb0a4750cb8 - Gitaly tests: basic Gitaly server test
- 888578571505 - Gitaly comparison tests: separation of POC and test_ref
- 5a844fbb061d - Gitaly comparison tests: putting the fixtures in conftest.py
- 04a96bcebf3e - WIP less obscure skipping if Gitaly not installed
Toggle commit listmarked as a Work In Progress from 5b11fc1e996d
added 20 commits
-
04a96bce...d77851c3 - 13 commits from branch
branch/default
- d953bcb86aa3 - Using mercurial_testhelpers 0.4
- 7731f6bf120f - Tests: requiring pytest>=3.0.0
- 5eb4d846d1ef - Gitaly comparison tests: discovery of Gitaly installation
- 4976c8e27b9b - Gitaly comparison tests: GitalyServer and gitaly_channel fixture
- 05f67bb48852 - Gitaly comparison tests: complete fixture and example
- edfbb0f4303f - Heptapod CI: running tests with Gitaly
- 394fc878a5b1 - Documented dev rules and role of different test types [skip ci]
Toggle commit list-
04a96bce...d77851c3 - 13 commits from branch
added internal label
added 4 commits
- 8036245902ad - Gitaly comparison tests: GitalyServer and gitaly_channel fixture
- 260fa60f7455 - Gitaly comparison tests: complete fixture and example
- 7f1ff1acc71f - Heptapod CI: running tests with Gitaly
- 348c3219081b - Documented dev rules and role of different test types [skip ci]
Toggle commit listadded 1 commit
- 12aafe22bc5a - Documented dev rules and role of different test types
added 5 commits
- 231e85a92ef1 - Gitaly comparison tests: discovery of Gitaly installation
- 4f4837f2fe81 - Gitaly comparison tests: GitalyServer and gitaly_channel fixture
- 463423ecd52e - Gitaly comparison tests: complete fixture and example
- bc21d5012eda - Heptapod CI: running tests with Gitaly
- 7c01a4d67a1b - Documented dev rules and role of different test types
Toggle commit listadded 5 commits
- 024370a05311 - Gitaly comparison tests: discovery of Gitaly installation
- 49d6e778792d - Gitaly comparison tests: GitalyServer and gitaly_channel fixture
- 80edfd87965c - Gitaly comparison tests: complete fixture and example
- e99c640a1949 - Heptapod CI: running tests with Gitaly
- 84c3b1da2c60 - Documented dev rules and role of different test types
Toggle commit list- Resolved by Georges Racinet
of course, with the Gitaly comparison tests not themselves covered, it was easy to overlook their coverage :-) (fixed).
@khanchi97 hope you'll like this version. I think this is ready for actual usage, and hope it is the final form.
Please tell me what you think of the new dev documentation in README.
Don't hesitate to merge if you wanna use it.