mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-13 04:41:02 +00:00
remove retry from backers on failed candidate validation (#2182)
Hey guys, as discussed I've changed the name to a more general one `PvfExecKind`, is this good or too general? Creating this as a draft, I still have to fix the tests. Closes #1585 Kusama address: FkB6QEo8VnV3oifugNj5NeVG3Mvq1zFbrUu4P5YwRoe5mQN --------- Co-authored-by: command-bot <> Co-authored-by: Marcin S <marcin@realemail.net>
This commit is contained in:
@@ -33,7 +33,7 @@ use polkadot_node_subsystem::{
|
||||
};
|
||||
use polkadot_node_subsystem_test_helpers as test_helpers;
|
||||
use polkadot_primitives::{
|
||||
CandidateDescriptor, GroupRotationInfo, HeadData, PersistedValidationData, PvfExecTimeoutKind,
|
||||
CandidateDescriptor, GroupRotationInfo, HeadData, PersistedValidationData, PvfExecKind,
|
||||
ScheduledCore, SessionIndex, LEGACY_MIN_BACKING_VOTES,
|
||||
};
|
||||
use sp_application_crypto::AppCrypto;
|
||||
@@ -344,14 +344,14 @@ async fn assert_validate_from_exhaustive(
|
||||
validation_data,
|
||||
validation_code,
|
||||
candidate_receipt,
|
||||
exec_timeout_kind,
|
||||
exec_kind,
|
||||
response_sender,
|
||||
..
|
||||
},
|
||||
) if validation_data == *assert_pvd &&
|
||||
validation_code == *assert_validation_code &&
|
||||
*pov == *assert_pov && &candidate_receipt.descriptor == assert_candidate.descriptor() &&
|
||||
exec_timeout_kind == PvfExecTimeoutKind::Backing &&
|
||||
exec_kind == PvfExecKind::Backing &&
|
||||
candidate_receipt.commitments_hash == assert_candidate.commitments.hash() =>
|
||||
{
|
||||
response_sender.send(Ok(ValidationResult::Valid(
|
||||
@@ -550,14 +550,14 @@ fn backing_works() {
|
||||
validation_code,
|
||||
candidate_receipt,
|
||||
pov,
|
||||
exec_timeout_kind,
|
||||
exec_kind,
|
||||
response_sender,
|
||||
..
|
||||
},
|
||||
) if validation_data == pvd_ab &&
|
||||
validation_code == validation_code_ab &&
|
||||
*pov == pov_ab && &candidate_receipt.descriptor == candidate_a.descriptor() &&
|
||||
exec_timeout_kind == PvfExecTimeoutKind::Backing &&
|
||||
exec_kind == PvfExecKind::Backing &&
|
||||
candidate_receipt.commitments_hash == candidate_a_commitments_hash =>
|
||||
{
|
||||
response_sender.send(Ok(
|
||||
@@ -729,14 +729,14 @@ fn backing_works_while_validation_ongoing() {
|
||||
validation_code,
|
||||
candidate_receipt,
|
||||
pov,
|
||||
exec_timeout_kind,
|
||||
exec_kind,
|
||||
response_sender,
|
||||
..
|
||||
},
|
||||
) if validation_data == pvd_abc &&
|
||||
validation_code == validation_code_abc &&
|
||||
*pov == pov_abc && &candidate_receipt.descriptor == candidate_a.descriptor() &&
|
||||
exec_timeout_kind == PvfExecTimeoutKind::Backing &&
|
||||
exec_kind == PvfExecKind::Backing &&
|
||||
candidate_a_commitments_hash == candidate_receipt.commitments_hash =>
|
||||
{
|
||||
// we never validate the candidate. our local node
|
||||
@@ -890,14 +890,14 @@ fn backing_misbehavior_works() {
|
||||
validation_code,
|
||||
candidate_receipt,
|
||||
pov,
|
||||
exec_timeout_kind,
|
||||
exec_kind,
|
||||
response_sender,
|
||||
..
|
||||
},
|
||||
) if validation_data == pvd_a &&
|
||||
validation_code == validation_code_a &&
|
||||
*pov == pov_a && &candidate_receipt.descriptor == candidate_a.descriptor() &&
|
||||
exec_timeout_kind == PvfExecTimeoutKind::Backing &&
|
||||
exec_kind == PvfExecKind::Backing &&
|
||||
candidate_a_commitments_hash == candidate_receipt.commitments_hash =>
|
||||
{
|
||||
response_sender.send(Ok(
|
||||
@@ -1057,14 +1057,14 @@ fn backing_dont_second_invalid() {
|
||||
validation_code,
|
||||
candidate_receipt,
|
||||
pov,
|
||||
exec_timeout_kind,
|
||||
exec_kind,
|
||||
response_sender,
|
||||
..
|
||||
},
|
||||
) if validation_data == pvd_a &&
|
||||
validation_code == validation_code_a &&
|
||||
*pov == pov_block_a && &candidate_receipt.descriptor == candidate_a.descriptor() &&
|
||||
exec_timeout_kind == PvfExecTimeoutKind::Backing &&
|
||||
exec_kind == PvfExecKind::Backing &&
|
||||
candidate_a.commitments.hash() == candidate_receipt.commitments_hash =>
|
||||
{
|
||||
response_sender.send(Ok(ValidationResult::Invalid(InvalidCandidate::BadReturn))).unwrap();
|
||||
@@ -1097,14 +1097,14 @@ fn backing_dont_second_invalid() {
|
||||
validation_code,
|
||||
candidate_receipt,
|
||||
pov,
|
||||
exec_timeout_kind,
|
||||
exec_kind,
|
||||
response_sender,
|
||||
..
|
||||
},
|
||||
) if validation_data == pvd_b &&
|
||||
validation_code == validation_code_b &&
|
||||
*pov == pov_block_b && &candidate_receipt.descriptor == candidate_b.descriptor() &&
|
||||
exec_timeout_kind == PvfExecTimeoutKind::Backing &&
|
||||
exec_kind == PvfExecKind::Backing &&
|
||||
candidate_b.commitments.hash() == candidate_receipt.commitments_hash =>
|
||||
{
|
||||
response_sender.send(Ok(
|
||||
@@ -1224,14 +1224,14 @@ fn backing_second_after_first_fails_works() {
|
||||
validation_code,
|
||||
candidate_receipt,
|
||||
pov,
|
||||
exec_timeout_kind,
|
||||
exec_kind,
|
||||
response_sender,
|
||||
..
|
||||
},
|
||||
) if validation_data == pvd_a &&
|
||||
validation_code == validation_code_a &&
|
||||
*pov == pov_a && &candidate_receipt.descriptor == candidate.descriptor() &&
|
||||
exec_timeout_kind == PvfExecTimeoutKind::Backing &&
|
||||
exec_kind == PvfExecKind::Backing &&
|
||||
candidate.commitments.hash() == candidate_receipt.commitments_hash =>
|
||||
{
|
||||
response_sender.send(Ok(ValidationResult::Invalid(InvalidCandidate::BadReturn))).unwrap();
|
||||
@@ -1368,14 +1368,14 @@ fn backing_works_after_failed_validation() {
|
||||
validation_code,
|
||||
candidate_receipt,
|
||||
pov,
|
||||
exec_timeout_kind,
|
||||
exec_kind,
|
||||
response_sender,
|
||||
..
|
||||
},
|
||||
) if validation_data == pvd_a &&
|
||||
validation_code == validation_code_a &&
|
||||
*pov == pov_a && &candidate_receipt.descriptor == candidate.descriptor() &&
|
||||
exec_timeout_kind == PvfExecTimeoutKind::Backing &&
|
||||
exec_kind == PvfExecKind::Backing &&
|
||||
candidate.commitments.hash() == candidate_receipt.commitments_hash =>
|
||||
{
|
||||
response_sender.send(Err(ValidationFailed("Internal test error".into()))).unwrap();
|
||||
@@ -1634,13 +1634,13 @@ fn retry_works() {
|
||||
validation_code,
|
||||
candidate_receipt,
|
||||
pov,
|
||||
exec_timeout_kind,
|
||||
exec_kind,
|
||||
..
|
||||
},
|
||||
) if validation_data == pvd_a &&
|
||||
validation_code == validation_code_a &&
|
||||
*pov == pov_a && &candidate_receipt.descriptor == candidate.descriptor() &&
|
||||
exec_timeout_kind == PvfExecTimeoutKind::Backing &&
|
||||
exec_kind == PvfExecKind::Backing &&
|
||||
candidate.commitments.hash() == candidate_receipt.commitments_hash
|
||||
);
|
||||
virtual_overseer
|
||||
|
||||
@@ -232,14 +232,14 @@ async fn assert_validate_seconded_candidate(
|
||||
validation_code,
|
||||
candidate_receipt,
|
||||
pov,
|
||||
exec_timeout_kind,
|
||||
exec_kind,
|
||||
response_sender,
|
||||
..
|
||||
}) if &validation_data == assert_pvd &&
|
||||
&validation_code == assert_validation_code &&
|
||||
&*pov == assert_pov &&
|
||||
&candidate_receipt.descriptor == candidate.descriptor() &&
|
||||
exec_timeout_kind == PvfExecTimeoutKind::Backing &&
|
||||
exec_kind == PvfExecKind::Backing &&
|
||||
candidate.commitments.hash() == candidate_receipt.commitments_hash =>
|
||||
{
|
||||
response_sender.send(Ok(ValidationResult::Valid(
|
||||
|
||||
Reference in New Issue
Block a user