Skip to content
Snippets Groups Projects
  1. Oct 06, 2022
  2. Sep 02, 2022
  3. Aug 28, 2022
  4. Aug 16, 2022
  5. Jul 27, 2022
  6. Jul 07, 2022
  7. Jul 01, 2022
  8. Jun 30, 2022
  9. Jun 27, 2022
  10. Jun 23, 2022
  11. Jun 06, 2022
    • Georgy Moshkin's avatar
      fix(discovery): don't fail if raft node is ready but leader_id is not · 31bf1bc2
      Georgy Moshkin authored
      If proc_discover is invoked after raft node was initialized but before
      raft leader was elected, it would return an error before this commit.
      Because of that it was impossible to restart the whole cluster at once.
      
      This commit change proc_discover such that in case leader_id is not
      ready, the normal discovery algorithm takes place.
      
      Closes #93
      31bf1bc2
  12. Jun 01, 2022
  13. May 12, 2022
  14. May 11, 2022
    • Yaroslav Dynnikov's avatar
      test: almost entirely refactor pytest · 1a3b5233
      Yaroslav Dynnikov authored
      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()`.
      
        - Give the instances clean names `i1, i2, ...`, and simple addresses `127.7.0.1:3301`.
          For the parallel test run use different IPs `127.7.N.1` etc.
      
      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`:
      
        - *Preserve* `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 https://git.picodata.io/picodata/picodata/picodata/-/issues/59
      1a3b5233
  15. Apr 28, 2022
Loading