fix rate test
This commit is contained in:
		
							parent
							
								
									4d47ef30ae
								
							
						
					
					
						commit
						be0be759ec
					
				
					 1 changed files with 13 additions and 13 deletions
				
			
		| 
						 | 
					@ -39,9 +39,9 @@ TEST(TestRate, rate_basics) {
 | 
				
			||||||
  rclcpp::utilities::sleep_for(offset);
 | 
					  rclcpp::utilities::sleep_for(offset);
 | 
				
			||||||
  ASSERT_TRUE(r.sleep());
 | 
					  ASSERT_TRUE(r.sleep());
 | 
				
			||||||
  auto two = std::chrono::system_clock::now();
 | 
					  auto two = std::chrono::system_clock::now();
 | 
				
			||||||
  delta = two - one;
 | 
					  delta = two - start;
 | 
				
			||||||
  ASSERT_TRUE(period < delta + epsilon);
 | 
					  ASSERT_TRUE(2 * period < delta);
 | 
				
			||||||
  ASSERT_TRUE(period * overrun_ratio > delta);
 | 
					  ASSERT_TRUE(2 * period * overrun_ratio > delta);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  rclcpp::utilities::sleep_for(offset);
 | 
					  rclcpp::utilities::sleep_for(offset);
 | 
				
			||||||
  auto two_offset = std::chrono::system_clock::now();
 | 
					  auto two_offset = std::chrono::system_clock::now();
 | 
				
			||||||
| 
						 | 
					@ -66,35 +66,35 @@ TEST(TestRate, wall_rate_basics) {
 | 
				
			||||||
  auto epsilon = std::chrono::milliseconds(1);
 | 
					  auto epsilon = std::chrono::milliseconds(1);
 | 
				
			||||||
  double overrun_ratio = 1.5;
 | 
					  double overrun_ratio = 1.5;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  auto start = std::chrono::system_clock::now();
 | 
					  auto start = std::chrono::steady_clock::now();
 | 
				
			||||||
  rclcpp::rate::WallRate r(period);
 | 
					  rclcpp::rate::WallRate r(period);
 | 
				
			||||||
  ASSERT_TRUE(r.is_steady());
 | 
					  ASSERT_TRUE(r.is_steady());
 | 
				
			||||||
  ASSERT_TRUE(r.sleep());
 | 
					  ASSERT_TRUE(r.sleep());
 | 
				
			||||||
  auto one = std::chrono::system_clock::now();
 | 
					  auto one = std::chrono::steady_clock::now();
 | 
				
			||||||
  auto delta = one - start;
 | 
					  auto delta = one - start;
 | 
				
			||||||
  ASSERT_TRUE(period < delta);
 | 
					  ASSERT_TRUE(period < delta);
 | 
				
			||||||
  ASSERT_TRUE(period * overrun_ratio > delta);
 | 
					  ASSERT_TRUE(period * overrun_ratio > delta);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  rclcpp::utilities::sleep_for(offset);
 | 
					  rclcpp::utilities::sleep_for(offset);
 | 
				
			||||||
  ASSERT_TRUE(r.sleep());
 | 
					  ASSERT_TRUE(r.sleep());
 | 
				
			||||||
  auto two = std::chrono::system_clock::now();
 | 
					  auto two = std::chrono::steady_clock::now();
 | 
				
			||||||
  delta = two - one;
 | 
					  delta = two - start;
 | 
				
			||||||
  ASSERT_TRUE(period < delta + epsilon);
 | 
					  ASSERT_TRUE(2 * period < delta + epsilon);
 | 
				
			||||||
  ASSERT_TRUE(period * overrun_ratio > delta);
 | 
					  ASSERT_TRUE(2 * period * overrun_ratio > delta);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  rclcpp::utilities::sleep_for(offset);
 | 
					  rclcpp::utilities::sleep_for(offset);
 | 
				
			||||||
  auto two_offset = std::chrono::system_clock::now();
 | 
					  auto two_offset = std::chrono::steady_clock::now();
 | 
				
			||||||
  r.reset();
 | 
					  r.reset();
 | 
				
			||||||
  ASSERT_TRUE(r.sleep());
 | 
					  ASSERT_TRUE(r.sleep());
 | 
				
			||||||
  auto three = std::chrono::system_clock::now();
 | 
					  auto three = std::chrono::steady_clock::now();
 | 
				
			||||||
  delta = three - two_offset;
 | 
					  delta = three - two_offset;
 | 
				
			||||||
  ASSERT_TRUE(period < delta);
 | 
					  ASSERT_TRUE(period < delta);
 | 
				
			||||||
  ASSERT_TRUE(period * overrun_ratio > delta);
 | 
					  ASSERT_TRUE(period * overrun_ratio > delta);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  rclcpp::utilities::sleep_for(offset + period);
 | 
					  rclcpp::utilities::sleep_for(offset + period);
 | 
				
			||||||
  auto four = std::chrono::system_clock::now();
 | 
					  auto four = std::chrono::steady_clock::now();
 | 
				
			||||||
  ASSERT_FALSE(r.sleep());
 | 
					  ASSERT_FALSE(r.sleep());
 | 
				
			||||||
  auto five = std::chrono::system_clock::now();
 | 
					  auto five = std::chrono::steady_clock::now();
 | 
				
			||||||
  delta = five - four;
 | 
					  delta = five - four;
 | 
				
			||||||
  ASSERT_TRUE(epsilon > delta);
 | 
					  ASSERT_TRUE(epsilon > delta);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue