In conftest.py
:
Add function xdist_worker_number
. It converts str(worker_id)
into int
.
It serves as a substitute for session_data_mutex
for parallel test runs.
Change normalize_net_box_result
. Replace a function with a decorator. Also,
handle typical kinds of picodata responses. Extensively test it in
test_basics.py::test_eval/call_normalization
.
Add dataclass RaftStatus
. It shouldn't be used outside conftest.py
. It only makes
assertions more brief in logs and understndable in code.
Add all raft stuff into the Instance
class. This implies raft_propose_eval
,
assert_raft_status
all promote_or_fail
moved from util.py
.
Change fixture compile
. No need in extra logics since commit 59c31cb8.
Preserve fixture binary_path
.
Remove fixtures session_data_mutex
and run_id
. Superseded with xdist_worker_number
.
Remove fixtures run_cluster
and run_instance
. Superseded with cluster.deploy(...)
.
Remove function wait_tcp_port
. It's never enough to check raw socket. Superseded with
instance.wait_ready()
.
In test_basics.py
:
Add test_xdist_worker_number
.
Add test_call_normalization
and test_eval_normalization
.
Add test_process_management
. It's brand new, never implemented in luatest before.
Rename test_single_instance_raft_eval
to test_propose_eval
and extend it with additional
assertion from single_test.lua
.
Remove test_instance
. A part of its logics is moved to test_call/eval_normalization
. The
other part is rewritten and extended in test_process_management
.
Remove test_cluster
. It was completely useless because of inappropriate synchronization and
no valuable assertions.
Remove test_propose_eval
. It wasn't that useful, but failed because of inappropriate
synchronization.
In test_couple.py
:
test_follower_proposal
and test_failover
. Just slightly refactor according to the
new conftest.py
API.In util.py
(completely removed):
Remove decorator retry
. Needless.
Remove decorator retry_on_network_errors
. Inappropriate predicate didn't catch Lua errors.
Remove everything related to raft. Move it into conftest.py
.
Part of #59 (closed)