Mike (mwester) wrote: > Some wiki topics that might help out could include the correct and > supported ways to:
I think we should take this one step further: instead of relying on Wiki pages that are always at risk of becoming stale and misleading people, we should have programs/scripts that exercise the interfaces. This would be somewhat similar to regression tests, but not quite the same thing. First, regression tests are a lot more work, because you want to cover as much of the program's state space as possible, and that can be huge. Second, regression tests usually make poor documentation. However, executable scripts that demonstrate how an interface is used could be written quite cleanly and it would be easy to run them to verify that the interface is still the same. They may not catch a conversion from yards to meters, but a renamed sysfs file would certainly show up. What I'm thinking of are scripts/small programs in the style of the ones in http://svn.openmoko.org/developers/werner/ahrt/host/tmc/demo/ (These don't exercise system interfaces but my test automation tools, but the concept is the same.) For asynchronous interfaces, also small example daemons would be useful, e.g., like my neodog. Maybe a good way to get this started is if we'd write such an interface documentation script/program for each component that we consider ready for upstream submission. That way, it's one item at a time, and we need to test that code anyway, so the added burden should be low. How does that sound ? - Werner
