[libc++] Refactor test components into modules.
I've moved the bulk of lit.cfg into test/libcxx/testconfig.py and
test/libcxx/testformat.py. All that remains in lit.cfg is the
logic to discover lit.site.cfg if lit.cfg was run directly, and the
logic for loading configuration variants.
The configuration variant flow has changed with this patch. Rather
than instantiating an object of type <VARIANT>Configuration, we now
instatiate an object of type Configuration that was loaded from the
This has to be done on a per-project basis rather than in LIT itself
because LIT doesn't actually know where the real test directory is,
only where the site configuration is (which is usually in the output
directory). It's simple enough to do though, so it's fine to require
each project to do it themselves.
I also cleaned up all the pylint issues while I was here, which was
mostly just a matter of fixing long lines.
Reviewers: mclow.lists, jroelofs, EricWF
Reviewed By: EricWF
Differential Revision: http://reviews.llvm.org/D6881