Thursday, March 5, 2009

Deadwood snapshot update

I have made quite a bit of progress with Deadwood today. First of all, I have taken the meta-script that runs all of the tests and updated it to make sure we're correctly off of a MaraDNS directory to run the tests. The script then compiles MaraDNS and Deadwood before running the tests; this is just one less step needed to set up the SQA regressions.

It then runs all of the tests. Next, it recompiles Deadwood to correctly run the hash_magic_number test, and runs that test (which I have revised to be a test one can automate).

Finally, the test cleans up after itself, removing the compiled Deadwood and MaraDNS files.

In addition, I have added a test for the num_retries parameter; to run this test, I took a simple DNS-over-UDP server written for one of MaraDNS' sqa regressions, and modified the server to be a DNS server that always gives the IP "10.11.12.13" to any DNS query it receives (echoing the query ID and marking the answer as an answer), but only answers one in three queries.

The only parameters I need to test now is resurrections; in addition, I have three other tests I want to make before releasing Deadwood 2.1.01:
  • A test to make sure we can still resolve all queries when one of the upstream servers is non-responsive.
  • Revive the ipv6 test and make sure this test works and can run on CentOS 5
  • Make sure both the name and the ID agree for incoming DNS queries.
Deadwood can be downloaded at the usual place
OS News had an interesting pointer to an interview with Steve Bourne, the writer of the original sh that *NIX systems have. This inspired me to make a very small almost-featureless *NIX shell called Yet another shell, which compiles in to a binary under 4k in size when compiled with -Os and stripped.

Very basic, but this might become something the Busybox project ends up wanting to have; they want to have it so one can very easily customize the features one wants in their /bin/sh, all the way down to what Yash currently is up to something that is a fully POSIX-compatible shell with arrow history and full tab expansion.