Looks ok. Could you re-order the commits so that the tests come first (with added `todo_wine`s on the tests that'll fail). Then follow with the implementation changes, removing `todo_wine`s as appropriate. That way it's clear that your changes do indeed fix the tests that you're claiming they do.
Also, it's no long necessary to add `Signed-off-by` tags.