In the code os 2 { ok(1); ok(0); }, the whole block is currently (as of v0.0.8) skipped based on the skip of the ok(1). As a result, when you use T::OS::RerunFailed, the ok(0) will be skipped based on the ok(1)'s having succeeded. Is there a way to fix this?
Edit First improvement:
Other alternatives
Another way would be to take Block+ and require each Block to be one test. However, that complicates lexical scoping.
A third way would be to require special markers between the tests in a block, and transform the source accordingly.
A fourth way would be to support only specific test calls within the block, and transform the source.
In the code
os 2 { ok(1); ok(0); }, the whole block is currently (as of v0.0.8) skipped based on the skip of theok(1). As a result, when you useT::OS::RerunFailed, theok(0)will be skipped based on theok(1)'s having succeeded. Is there a way to fix this?Edit First improvement:
Other alternatives
Another way would be to take
Block+and require each Block to be one test. However, that complicates lexical scoping.A third way would be to require special markers between the tests in a block, and transform the source accordingly.
A fourth way would be to support only specific test calls within the block, and transform the source.