Add more tests
diff --git a/Lib/test/test_queue.py b/Lib/test/test_queue.py
index 17c1def..4f8d8ba 100644
--- a/Lib/test/test_queue.py
+++ b/Lib/test/test_queue.py
@@ -246,11 +246,22 @@
         q.put(i)
     q.join()
     verify(cum==sum(range(100)), "q.join() did not block until all tasks were done")
+    q.join()        # Make sure you can join more than once
+
+def QueueTaskDoneTest(q)
+    try:
+        q.task_done()
+    except ValueError:
+        pass
+    else:
+        raise TestFailed("Did not detect task count going negative")
 
 def test():
-    q = Queue.Queue()
+    q = Queue.Queue(20)
+    QueueTaskDoneTest(q)
     QueueJoinTest(q)
     QueueJoinTest(q)
+    QueueTaskDoneTest(q)
 
     q = Queue.Queue(QUEUE_SIZE)
     # Do it a couple of times on the same queue