The difficulty is not really 1.
testnet has a "20-minute rule": if no block is successfully mined within 20 minutes, the difficulty drops to 1 until a block is mined. Then it reverts to its previous value. However, it appears that getdifficulty returns 1 whenever the most recent block was difficulty 1, even if it was accepted under the 20-minute rule; this doesn't necessarily match the "real" difficulty.
I've asked a new question about how to find the real difficulty. But by browsing blocks on http://blockexplorer.com/testnet, the most recent block which was less than 20 minutes newer than its predecessor is 153337, which has a difficulty of 11512. So most likely the real difficulty right now is 11512, unless it has adjusted very recently.
Thus there are two possible ways for you to mine a block:
Find a block at difficulty 11512. If your computation was right, this will happen on average once every 2 years with your current machine.
Wait until it has been 20 minutes since the last block, and find a block at difficulty 1 before anyone else does. Looking at recent timestamps, it appears that difficulty 1 blocks are typically submitted about 20 minutes and 4 seconds after the previous block. Thus, you have about a 4 second window to find a difficulty 1 block (probably even less due to propagation delays). Based on your computation, your probability of successfully doing this on any given block is at most about 0.0007, suggesting that you would succeed roughly once every 3 weeks on average (this is probably very optimistic as noted). Even if you do mine a block within this time, another miner may find a block at roughly the same time; if the next miner to find a block decides to accept his instead of yours, yours will be orphaned and excluded from the chain.
So it is not surprising that you have not successfully generated a block.
I don't think the difficulty is really 1; see my question here.
– Nate Eldredge – 2013-12-11T23:34:13.843As far as I know,
./bitcoind getdifficultyis the actual difficulty. Also,./bitcoind getmininginforeports the same difficulty. – BenjiWiebe – 2013-12-11T23:44:05.577I don't think that's true. If you browse on http://blockexplorer.com/testnet, you'll see that all the difficulty 1 blocks are just over 20 minutes apart. If the real difficulty were 1, we should see blocks being mined much more often. The most recent block submitted less than 20 minutes after its predecessor is 153337 which has a difficulty of 11512. So I think the "real" difficulty on testnet is 11512, unless it has adjusted very recently.
– Nate Eldredge – 2013-12-11T23:49:58.017Oh...are you saying that within seconds of the diff being set to 1, a block is found? And I should have to mine for 1.5 hours avg AFTER the diff reset to get a block. Correct? – BenjiWiebe – 2013-12-11T23:57:04.653
Exactly. I've elaborated in an answer. – Nate Eldredge – 2013-12-12T00:00:42.070