{"id":638,"date":"2008-11-23T20:15:40","date_gmt":"2008-11-24T04:15:40","guid":{"rendered":"http:\/\/multimedia.cx\/eggs\/?p=638"},"modified":"2020-07-25T23:15:23","modified_gmt":"2020-07-26T06:15:23","slug":"new-fate-database-format","status":"publish","type":"post","link":"https:\/\/multimedia.cx\/eggs\/new-fate-database-format\/","title":{"rendered":"New FATE Database Format"},"content":{"rendered":"<p>First, I should announce that I finally fixed the the problem I introduced during last month&#8217;s big FATE rework in which the stdout\/stderr blobs were not making it all the way into the MySQL database. I don&#8217;t know how that escaped notice during my initial testing. It works again, and after only 3 evenings of analysis and debugging.<\/p>\n<p>Moving right along, I have also made good on <a href=\"http:\/\/multimedia.cx\/eggs\/sqlite-ultimate-serialization\/\">my intention to move FATE&#8217;s test database format<\/a> from a <a href=\"http:\/\/www.python.org\/doc\/2.5.2\/lib\/module-pickle.html\">pickled Python blob<\/a> to an <a href=\"http:\/\/sqlite.org\/\">SQLite database<\/a>. You can download the current database of test specs at:<\/p>\n<p><a href=\"http:\/\/fate.multimedia.cx\/fate-tests.sqlite.bz2\">http:\/\/fate.multimedia.cx\/fate-tests.sqlite.bz2<\/a><\/p>\n<p>Run the file through bunzip2, install SQLite, either through your system&#8217;s package manager or from <a href=\"http:\/\/sqlite.org\/\">sqlite.org<\/a>, and run:<\/p>\n<pre>\r\n  $ sqlite3 fate-tests.sqlite\r\n<\/pre>\n<p>Be sure to use &#8216;sqlite3&#8217; vs. &#8216;sqlite&#8217;; the latter invokes v2 of the program.<\/p>\n<p>First things first, study the schema:<\/p>\n<pre>\r\nsqlite> .schema\r\nCREATE TABLE test_spec\r\n        (\r\n          id INTEGER,\r\n          short_name TEXT,\r\n          command TEXT,\r\n          description TEXT,\r\n          expected_status INTEGER,\r\n          expected_stdout TEXT,\r\n          timeout_seconds INTEGER,\r\n          active INTEGER\r\n        );\r\n<\/pre>\n<p>And then formulate queries. As an example, get a list of all the tests (short name and command) that are presently disabled:<\/p>\n<pre>\r\nsqlite>\r\n  SELECT short_name, command \r\n  FROM test_spec \r\n  WHERE active=0;\r\n<\/pre>\n<p>You should find that the list matches up with the red boxes in the <a href=\"http:\/\/fate.multimedia.cx\/index.php?list_test_specs=1\">master FATE test list<\/a>.<\/p>\n<p>I hope some people find this useful.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>First, I should announce that I finally fixed the the problem I introduced during last month&#8217;s big FATE rework in which the stdout\/stderr blobs were not making it all the way into the MySQL database. I don&#8217;t know how that escaped notice during my initial testing. It works again, and after only 3 evenings of [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[101],"tags":[],"class_list":["post-638","post","type-post","status-publish","format-standard","hentry","category-fate-server"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/posts\/638","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/comments?post=638"}],"version-history":[{"count":12,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/posts\/638\/revisions"}],"predecessor-version":[{"id":4618,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/posts\/638\/revisions\/4618"}],"wp:attachment":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/media?parent=638"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/categories?post=638"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/tags?post=638"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}