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

Add a script to enable running tests locally in the exact same way as in the CI #4665

Open
muXxer opened this issue Jan 6, 2025 · 1 comment · May be fixed by #4818
Open

Add a script to enable running tests locally in the exact same way as in the CI #4665

muXxer opened this issue Jan 6, 2025 · 1 comment · May be fixed by #4818
Assignees
Labels
node Issues related to the Core Node team

Comments

@muXxer
Copy link
Contributor

muXxer commented Jan 6, 2025

No description provided.

@muXxer muXxer added the node Issues related to the Core Node team label Jan 6, 2025
@muXxer muXxer added this to the Post-Testnet Launch v0.8.x-rc milestone Jan 6, 2025
@nmrshll
Copy link

nmrshll commented Jan 16, 2025

progress update

got a first version of the script to run tests like in CI
but quite a lot of tests failed (usually around 17-19)

Reasons seemed to be:

  • contention / deadlocks (tests never finishing)
  • contention over shared OS resource (for instance “port already in use”, …)
  • timeouts
  • tests rely on time but time not simulated with tokio -> time -> start_paused
    • test relies on time passing and logic getting processed fast enough, asserts on end state
    • my (remote) machine might not process this fast enough

Tried:

  • looking into actual CI runs’ logs, seeing if the tests that fail on my machine run/pass in CI
    • same tests seem to pass in CI
  • splitting failing tests into simtests / non-sim tests
    • better pass rate but still some tests usually still failing / flaky
  • running problematic (both simtests and nonsim-tests) tests with zero concurrency
    • this seems to give the best pass rate so far

Left to do:

  • keep configuring nextest to run this test with no concurrency/ no other test threads interfering
  • remove now-useless parts of the script

Other smaller side problems:
CI scripts rely on cargo +nightly … which only works when installed via rustup.
-> solution: emulate it without rustup via a cargo subcommand

@nmrshll nmrshll linked a pull request Jan 16, 2025 that will close this issue
4 tasks
@nmrshll nmrshll linked a pull request Jan 16, 2025 that will close this issue
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
node Issues related to the Core Node team
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants