First, I should announce that I finally fixed the the problem I introduced during last month’s big FATE rework in which the stdout/stderr blobs were not making it all the way into the MySQL database. I don’t know how that escaped notice during my initial testing. It works again, and after only 3 evenings of analysis and debugging.
Moving right along, I have also made good on my intention to move FATE’s test database format from a pickled Python blob to an SQLite database. You can download the current database of test specs at:
http://fate.multimedia.cx/fate-tests.sqlite.bz2
Run the file through bunzip2, install SQLite, either through your system’s package manager or from sqlite.org, and run:
$ sqlite3 fate-tests.sqlite
Be sure to use ‘sqlite3’ vs. ‘sqlite’; the latter invokes v2 of the program.
First things first, study the schema:
sqlite> .schema CREATE TABLE test_spec ( id INTEGER, short_name TEXT, command TEXT, description TEXT, expected_status INTEGER, expected_stdout TEXT, timeout_seconds INTEGER, active INTEGER );
And then formulate queries. As an example, get a list of all the tests (short name and command) that are presently disabled:
sqlite> SELECT short_name, command FROM test_spec WHERE active=0;
You should find that the list matches up with the red boxes in the master FATE test list.
I hope some people find this useful.