I smell lack of knowledge about TDD. The purpose of Test-Driven Development is to write tests BEFORE writing the program. If you write a program before tests, it's not TDD.
"Maybe we want Wayland, but we'll need to write an input stack, patch the Mesa EGL platform, and redo the WM handling in all the toolkits." - isn't that enough?