-
Notifications
You must be signed in to change notification settings - Fork 247
Only do local sealing self-healing-open #7568
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
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR modifies the self-healing-open test functions to enforce that they only run with local sealing enabled, as per the intended use case. The removed run_self_healing_open_local_unsealing function is consolidated into the main run_self_healing_open test, and all three self-healing-open tests are moved to run only in the SNP test suite (which has local sealing available).
Changes:
- Added
enable_local_sealing = Truetorun_self_healing_openfunction and updated its label - Simplified test assertions by removing redundant recovery share submission and network opening checks
- Removed the duplicate
run_self_healing_open_local_unsealingfunction (75 lines) - Moved all three self-healing-open tests from
run()torun_snp_tests()to ensure they only execute in environments with local sealing
Comments suppressed due to low confidence (2)
tests/e2e_operations.py:1813
- The function
run_self_healing_open_timeout_pathis missingargs.enable_local_sealing = Truelike the other self-healing-open functions. According to the PR description, all self-healing-open tests should run with local sealing enabled.
args.label += "_self_healing_open_timeout"
tests/e2e_operations.py:1871
- The function
run_self_healing_open_multiple_timeoutis missingargs.enable_local_sealing = Truelikerun_self_healing_open. According to the PR description, all self-healing-open tests should run with local sealing enabled.
args.label += "_self_healing_open_multiple_timeout"
| args = copy.deepcopy(const_args) | ||
| args.nodes = infra.e2e_args.min_nodes(args, f=1) | ||
| args.label += "_self_healing" | ||
| args.label += "_self_healing_open" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am confused as to why we are prefixing labels that way, and only doing it in this one file.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As best I can tell, this is because the traditional style of test looked like this:
def toplevel(args):
with network() as network:
network.start_and_open()
test1(network)
test2(network)
...
And so having common under infra.network.get_common_folder_name(args.workspace, args.label) was plausibly fine, because each toplevel would get its own label/CMake name.
Then the ConcurrentRunners came, and they started prefixing, partly to avoid collisions, but mostly to make it easier to find output: args_.label = f"{prefix}_{self.args.label}".
But e2e_operations starts a lot of networks, almost as many as all other tests combined, and so this isn't granular enough.
Two thoughts:
- We could introduce an extra directory label, probably the current CMake testname/label before it gets tampered with, to cut down on crowding.
- Inside there, use
{runner}.{module}.{function}as a prefix, and keep the rest identical.
For example:
operations_schema_test_self_healing_open_multiple_timeout_0
would become:
schema_test/operations.e2e_operations.run_self_healing_open_multiple_timeout
I am not sure if the CR name is useful to be honest, I think this might be fine:
schema_test/e2e_operations.run_self_healing_open_multiple_timeout
That tells you easily which tests did this and where to find the code that created the network. For functions that start multiple networks, we can suffix further:
schema_test/e2e_operations.run_self_healing_open_multiple_timeout[B]
We could also decide to create common, 0, 1 etc as sub-directories of that rather than _suffix them.
We only intend to use self-healing-open when local sealing is available, so we should run all of our tests in that environment.