mirror of
https://github.com/moveit/moveit_task_constructor.git
synced 2025-11-04 14:49:57 +08:00
Fix leaking of failures into enumerated solutions
This commit is contained in:
parent
7b965863e3
commit
13264ba21d
@ -487,7 +487,8 @@ struct SolutionCollector
|
||||
solutions.emplace_back(std::make_pair(trace, prio));
|
||||
} else {
|
||||
for (SolutionBase* successor : next) {
|
||||
assert(!successor->isFailure()); // We shouldn't have invalid solutions
|
||||
if (successor->isFailure())
|
||||
continue; // skip failures
|
||||
trace.push_back(successor);
|
||||
traverse(*successor, prio + InterfaceState::Priority(1, successor->cost()));
|
||||
trace.pop_back();
|
||||
|
||||
@ -72,7 +72,6 @@ TEST_F(ConnectConnect, FailSucc) {
|
||||
|
||||
// https://github.com/ros-planning/moveit_task_constructor/issues/485#issuecomment-1760606116
|
||||
// TODO: Solutions are enumerated multiple times
|
||||
// TODO: invalid solutions leak into enumeration
|
||||
TEST_F(ConnectConnect, UniqueEnumeration) {
|
||||
add(t, new GeneratorMockup({ 1.0, 2.0, 3.0 }));
|
||||
auto con1 = add(t, new ConnectMockup());
|
||||
|
||||
Loading…
Reference in New Issue
Block a user