Fix tests
This commit is contained in:
		
					parent
					
						
							
								5b9a106909
							
						
					
				
			
			
				commit
				
					
						ef63c23b6e
					
				
			
		
					 4 changed files with 37 additions and 12 deletions
				
			
		| 
						 | 
				
			
			@ -2783,9 +2783,8 @@ TEST (node, rollback_vote_self)
 | 
			
		|||
		system.wallet (0)->insert_adhoc (nano::dev::genesis_key.prv);
 | 
			
		||||
 | 
			
		||||
		// Without the rollback being finished, the aggregator should not reply with any vote
 | 
			
		||||
		auto channel = std::make_shared<nano::transport::fake::channel> (node);
 | 
			
		||||
		node.aggregator.request ({ { send2->hash (), send2->root () } }, channel);
 | 
			
		||||
		ASSERT_ALWAYS_EQ (1s, node.stats.count (nano::stat::type::request_aggregator_replies), 0);
 | 
			
		||||
		node.aggregator.request ({ { send2->hash (), send2->root () } }, node.loopback_channel);
 | 
			
		||||
		ASSERT_ALWAYS (1s, !election->votes ().contains (nano::dev::genesis_key.pub));
 | 
			
		||||
 | 
			
		||||
		// Going out of the scope allows the rollback to complete
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -28,7 +28,9 @@ TEST (request_aggregator, one)
 | 
			
		|||
	nano::test::system system;
 | 
			
		||||
	nano::node_config node_config = system.default_config ();
 | 
			
		||||
	node_config.backlog_scan.enable = false;
 | 
			
		||||
	auto & node (*system.add_node (node_config));
 | 
			
		||||
	nano::node_flags node_flags;
 | 
			
		||||
	node_flags.disable_rep_crawler = true;
 | 
			
		||||
	auto & node (*system.add_node (node_config, node_flags));
 | 
			
		||||
	system.wallet (0)->insert_adhoc (nano::dev::genesis_key.prv);
 | 
			
		||||
	nano::block_builder builder;
 | 
			
		||||
	auto send1 = builder
 | 
			
		||||
| 
						 | 
				
			
			@ -77,7 +79,9 @@ TEST (request_aggregator, one_update)
 | 
			
		|||
	nano::test::system system;
 | 
			
		||||
	nano::node_config node_config = system.default_config ();
 | 
			
		||||
	node_config.backlog_scan.enable = false;
 | 
			
		||||
	auto & node (*system.add_node (node_config));
 | 
			
		||||
	nano::node_flags node_flags;
 | 
			
		||||
	node_flags.disable_rep_crawler = true;
 | 
			
		||||
	auto & node (*system.add_node (node_config, node_flags));
 | 
			
		||||
	system.wallet (0)->insert_adhoc (nano::dev::genesis_key.prv);
 | 
			
		||||
	nano::keypair key1;
 | 
			
		||||
	auto send1 = nano::state_block_builder ()
 | 
			
		||||
| 
						 | 
				
			
			@ -143,7 +147,9 @@ TEST (request_aggregator, two)
 | 
			
		|||
	nano::test::system system;
 | 
			
		||||
	nano::node_config node_config = system.default_config ();
 | 
			
		||||
	node_config.backlog_scan.enable = false;
 | 
			
		||||
	auto & node (*system.add_node (node_config));
 | 
			
		||||
	nano::node_flags node_flags;
 | 
			
		||||
	node_flags.disable_rep_crawler = true;
 | 
			
		||||
	auto & node (*system.add_node (node_config, node_flags));
 | 
			
		||||
	system.wallet (0)->insert_adhoc (nano::dev::genesis_key.prv);
 | 
			
		||||
	nano::keypair key1;
 | 
			
		||||
	nano::state_block_builder builder;
 | 
			
		||||
| 
						 | 
				
			
			@ -273,7 +279,9 @@ TEST (request_aggregator, split)
 | 
			
		|||
	nano::test::system system;
 | 
			
		||||
	nano::node_config node_config = system.default_config ();
 | 
			
		||||
	node_config.backlog_scan.enable = false;
 | 
			
		||||
	auto & node (*system.add_node (node_config));
 | 
			
		||||
	nano::node_flags node_flags;
 | 
			
		||||
	node_flags.disable_rep_crawler = true;
 | 
			
		||||
	auto & node (*system.add_node (node_config, node_flags));
 | 
			
		||||
	system.wallet (0)->insert_adhoc (nano::dev::genesis_key.prv);
 | 
			
		||||
	std::vector<std::pair<nano::block_hash, nano::root>> request;
 | 
			
		||||
	std::vector<std::shared_ptr<nano::block>> blocks;
 | 
			
		||||
| 
						 | 
				
			
			@ -328,7 +336,9 @@ TEST (request_aggregator, channel_max_queue)
 | 
			
		|||
	nano::node_config node_config = system.default_config ();
 | 
			
		||||
	node_config.backlog_scan.enable = false;
 | 
			
		||||
	node_config.request_aggregator.max_queue = 0;
 | 
			
		||||
	auto & node (*system.add_node (node_config));
 | 
			
		||||
	nano::node_flags node_flags;
 | 
			
		||||
	node_flags.disable_rep_crawler = true;
 | 
			
		||||
	auto & node (*system.add_node (node_config, node_flags));
 | 
			
		||||
	system.wallet (0)->insert_adhoc (nano::dev::genesis_key.prv);
 | 
			
		||||
	nano::block_builder builder;
 | 
			
		||||
	auto send1 = builder
 | 
			
		||||
| 
						 | 
				
			
			@ -390,6 +400,7 @@ TEST (request_aggregator, cannot_vote)
 | 
			
		|||
	nano::test::system system;
 | 
			
		||||
	nano::node_flags flags;
 | 
			
		||||
	flags.disable_request_loop = true;
 | 
			
		||||
	flags.disable_rep_crawler = true;
 | 
			
		||||
	auto & node (*system.add_node (flags));
 | 
			
		||||
	nano::state_block_builder builder;
 | 
			
		||||
	auto send1 = builder.make_block ()
 | 
			
		||||
| 
						 | 
				
			
			@ -548,7 +559,12 @@ TEST (request_aggregator, forked_open)
 | 
			
		|||
TEST (request_aggregator, epoch_conflict)
 | 
			
		||||
{
 | 
			
		||||
	nano::test::system system;
 | 
			
		||||
	auto & node = *system.add_node ();
 | 
			
		||||
 | 
			
		||||
	nano::node_flags node_flags;
 | 
			
		||||
	// Workaround for vote spacing dropping requests with the same root
 | 
			
		||||
	// FIXME: Vote spacing should use full qualified root
 | 
			
		||||
	node_flags.disable_rep_crawler = true;
 | 
			
		||||
	auto & node = *system.add_node (node_flags);
 | 
			
		||||
 | 
			
		||||
	// Voting needs a rep key set up on the node
 | 
			
		||||
	system.wallet (0)->insert_adhoc (nano::dev::genesis_key.prv);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -114,7 +114,7 @@ TEST (vote_processor, weights)
 | 
			
		|||
	auto & node (*system.nodes[0]);
 | 
			
		||||
 | 
			
		||||
	// Create representatives of different weight levels
 | 
			
		||||
	auto const stake = node.config.online_weight_minimum.number ();
 | 
			
		||||
	auto const stake = nano::dev::genesis->balance ().number ();
 | 
			
		||||
	auto const level0 = stake / 5000; // 0.02%
 | 
			
		||||
	auto const level1 = stake / 500; // 0.2%
 | 
			
		||||
	auto const level2 = stake / 50; // 2%
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -38,6 +38,11 @@ void nano::rep_crawler::start ()
 | 
			
		|||
{
 | 
			
		||||
	debug_assert (!thread.joinable ());
 | 
			
		||||
 | 
			
		||||
	if (node.flags.disable_rep_crawler)
 | 
			
		||||
	{
 | 
			
		||||
		return;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	thread = std::thread{ [this] () {
 | 
			
		||||
		nano::thread_role::set (nano::thread_role::name::rep_crawler);
 | 
			
		||||
		run ();
 | 
			
		||||
| 
						 | 
				
			
			@ -130,11 +135,16 @@ void nano::rep_crawler::validate_and_process (nano::unique_lock<nano::mutex> & l
 | 
			
		|||
 | 
			
		||||
		if (inserted)
 | 
			
		||||
		{
 | 
			
		||||
			logger.info (nano::log::type::rep_crawler, "Found representative: {} at: {}", vote->account.to_account (), channel->to_string ());
 | 
			
		||||
			logger.info (nano::log::type::rep_crawler, "Found representative: {} at: {}",
 | 
			
		||||
			vote->account.to_account (),
 | 
			
		||||
			channel->to_string ());
 | 
			
		||||
		}
 | 
			
		||||
		if (updated)
 | 
			
		||||
		{
 | 
			
		||||
			logger.warn (nano::log::type::rep_crawler, "Updated representative: {} at: {} (was at: {})", vote->account.to_account (), channel->to_string (), prev_channel->to_string ());
 | 
			
		||||
			logger.warn (nano::log::type::rep_crawler, "Updated representative: {} at: {} (was at: {})",
 | 
			
		||||
			vote->account.to_account (),
 | 
			
		||||
			channel->to_string (),
 | 
			
		||||
			prev_channel->to_string ());
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue