Update: it's complaining about bitcoin.conf not existing... yet it does exist:
[jgarzik@bd bitcoin.hacks]$ nice -n19 /spare/repo/bitcoin.hacks/bitcoind -testnet -gen -datadir=/garz/bitcoin/test/data -server
bitcoin server starting
Warning: To use the "-server" option, you must set rpcpassword=<password>
in the configuration file: /garz/bitcoin/test/data/testnet/bitcoin.conf
If the file does not exist, create it with owner-readable-only file permissions.
and yet...
[jgarzik@bd bitcoin.hacks]$ ls -l /garz/bitcoin/test/data/testnet/bitcoin.conf
-rw------- 1 jgarzik jgarzik 35 Nov 22 01:04 /garz/bitcoin/test/data/testnet/bitcoin.conf
Update2: Using the command line -rpcuser and -rpcpassword works around this bug, and starts the test network successfully.