I am aiming to build a set of unit and regression tests for Metacity for 2.24. The idea is to run Metacity in a sandbox X server (Xnest at first, and Xvfb when things have settled down) and run a test on it in a simple harness. This would be run automatically after every checkin, or every night, or both.
The usual way to do this would be using something like dogtail, but that’s not an option because Metacity’s menu and buttons are not accessible. (Should they be? That’s another question, but one I’d like an answer to.)
Perhaps the answer is to have a special window property called _METACITY_TEST or something which holds a ton of test information unless it’s compiled out (which it would be by default). We’d still need to find a way to simulate clicking certain buttons or whatever, unless maybe we could query the dimensions of a button and fake up a click message somehow.
I have a bunch of ideas about how to do this, but if anyone would like to hand me some clues, now’s a great time…