Hi Hangbin,
I don't know how interested in this I am. Splitting things into two files means more confusing maintenance, and categorizing sections strictly into functions means there's more overhead when adding tests (e.g. "where do they fit?"), because the categories you've chosen are fairly broad, rather than being functions for each specific test. I'd be more amenable to something _entirely_ granular, because that'd be consistent, or what we have now, which is just linear. Full granularity, though, has its own downsides, of increased clutter. Alternatively, if you'd like to add some comments around the different areas to better document what's happening, perhaps that'd accomplish the same thing as this patch.
Jason