r19339: Merge my 4.0-unittest branch. This adds an API for more fine-grained