Skip to content

feat: multiprocess launch for core tests ~x4.64 faster#621

Open
dimmarvel wants to merge 30 commits intohyle-team:developfrom
dimmarvel:parallel_launch_of_core_tests
Open

feat: multiprocess launch for core tests ~x4.64 faster#621
dimmarvel wants to merge 30 commits intohyle-team:developfrom
dimmarvel:parallel_launch_of_core_tests

Conversation

@dimmarvel
Copy link
Collaborator

~4.64× faster, or ~78.5% reduction

Before: Total time: 10078s. (22247ms per test in average)
With multiprocess: Total time: 2165 s. (4790 ms per test in average)

Run example

# Default run with 8 process
./coretests --multiprocess-run 8 

Example of output:

REPORT (aggregated):
  Workers:          8
  Worker failures:  3
  Unique tests run: 452
  Total tests run:  452
  Failures:         3 (postponed failures: 0)
  Postponed:        12
  Total time:       2165 s. (4790 ms per test in average)
FAILED/POSTPONED TESTS:
  FAILED:    hard_fork_6_intrinsic_payment_id_rpc_test
  FAILED:    wallet_true_rpc_pos_mining @ HF 5
  FAILED:    zarcanum_pos_block_math


FAILURE REASONS (workers):
    report: C:\git_repos\zano\build_msvc2022_64\tests\Release\chaingen_runs\w0\coretests_report.json
    logs dir: C:\git_repos\zano\build_msvc2022_64\tests\Release\chaingen_runs\w0
    log file: C:\git_repos\zano\build_msvc2022_64\tests\Release\chaingen_runs\w0\worker.log
    failed tests:
      - hard_fork_6_intrinsic_payment_id_rpc_test
    report: C:\git_repos\zano\build_msvc2022_64\tests\Release\chaingen_runs\w3\coretests_report.json
    logs dir: C:\git_repos\zano\build_msvc2022_64\tests\Release\chaingen_runs\w3
    log file: C:\git_repos\zano\build_msvc2022_64\tests\Release\chaingen_runs\w3\worker.log
    failed tests:
      - zarcanum_pos_block_math
    report: C:\git_repos\zano\build_msvc2022_64\tests\Release\chaingen_runs\w4\coretests_report.json
    logs dir: C:\git_repos\zano\build_msvc2022_64\tests\Release\chaingen_runs\w4
    log file: C:\git_repos\zano\build_msvc2022_64\tests\Release\chaingen_runs\w4\worker.log
    failed tests:
      - wallet_true_rpc_pos_mining @ HF 5

Example of coretests_report.json for worker 0:

{
    "worker_id": "0",
    "processes": "1",
    "tests_count": "27",
    "unique_tests_count": "27",
    "total_time_ms": "2152828",
    "skip_all_till_the_end": "false",
    "exit_code": "1",
    "failed_tests": [
        "hard_fork_6_intrinsic_payment_id_rpc_test"
    ],
    "tests_running_time": [
        {
            "name": "pos_minting_tx_packing",
            "ms": "12469"
        },
        {
            "name": "multisig_unconfirmed_transfer_and_multiple_scan_pool_calls",
            "ms": "6937"
        },
        {
            "name": "escrow_w_and_fake_outputs",
            "ms": "38203"
        },
//...
        {
            "name": "asset_operations_and_chain_switching @ HF 4",
            "ms": "40265"
        },
        {
            "name": "wallet_reorganize_and_trim_test @ HF 6",
            "ms": "28938"
        }
    ]
}

Example of worker 4 worker.log

//...
15# BaseThreadInitThunk in KERNEL32
16# RtlUserThreadStart in ntdll

 Message:

blocks_fetched != top_height because 0 != 13
2026-Jan-23 17:53:36.226787 Mining has been stopped, 0 finished
2026-Jan-23 17:53:36.252388 Storing market...
2026-Jan-23 17:53:36.252388 Market stored OK
2026-Jan-23 17:53:36.252388 Mining has been stopped, 0 finished
2026-Jan-23 17:53:36.253388 ========================================================================
#TEST# >>>> wallet_true_rpc_pos_mining @ HF 5 <<<< FAILED
====================================================================================================
//...

@dimmarvel dimmarvel self-assigned this Jan 27, 2026
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