You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The #2 PR appears to have dredged up a bunch of problems. In mucking around with parallel I've realized that sequence and selectorleak child return values:
tree = owyl.sequence(owyl.succeed(),
owyl.succeed(),
owyl.fail(),
owyl.succeed())
v = owyl.visit(tree)
results = [x for x in v if x is not None]
self.assertEqual(results, [True, True, False, False])
See how the succeed()/succeed()/fail() leaks out to the results? The first three results are from the sequence children, while the 4th result is the sequence itself failing.
It's been a few years since I designed this library, but I can't think for the life of me why they would do that. Do any of you using owyl depend on this behavior?
The text was updated successfully, but these errors were encountered:
def testVisitSequenceSuccess(self):
"""Can we visit a successful sequence?
"""
tree = owyl.sequence(owyl.succeed(),
owyl.succeed(),
owyl.succeed())
v = owyl.visit(tree)
results = [x for x in v if x is not None]
self.assertEqual(results, [True, True, True, True])
I thought this was what owyl.visit was supposed to do, because it visits each node :) I think I can say the Hanson Robotics folk don't depend on visit's yield values.
The #2 PR appears to have dredged up a bunch of problems. In mucking around with
parallel
I've realized thatsequence
andselector
leak child return values:See how the
succeed()
/succeed()
/fail()
leaks out to the results? The first three results are from thesequence
children, while the 4th result is thesequence
itself failing.It's been a few years since I designed this library, but I can't think for the life of me why they would do that. Do any of you using owyl depend on this behavior?
The text was updated successfully, but these errors were encountered: