Additional coverage tests by Neil Norwitz.
(SF patch #491418, #491420, #491421.)
diff --git a/Lib/test/test_b1.py b/Lib/test/test_b1.py
index 978f674..b328b38 100644
--- a/Lib/test/test_b1.py
+++ b/Lib/test/test_b1.py
@@ -23,6 +23,10 @@
 if abs(1234L) != 1234L: raise TestFailed, 'abs(1234L)'
 if abs(-1234L) != 1234L: raise TestFailed, 'abs(-1234L)'
 
+try: abs('a')
+except TypeError: pass
+else: raise TestFailed, 'abs("a")'
+
 print 'apply'
 def f0(*args):
     if args != (): raise TestFailed, 'f0 called with ' + `args`
@@ -416,6 +420,10 @@
 if x >> 1 != x//2:
     raise TestFailed("x >> 1 != x/2 when x == -1-sys.maxint")
 
+try: int('123\0')
+except ValueError: pass
+else: raise TestFailed("int('123\0') didn't raise exception")
+
 print 'isinstance'
 class C:
     pass
@@ -504,6 +512,10 @@
             except ValueError, e:
                 raise TestFailed, "long(%s) raised ValueError: %s" % (`ss`, e)
 
+try: long('123\0')
+except ValueError: pass
+else: raise TestFailed("long('123\0') didn't raise exception")
+
 print 'map'
 if map(None, 'hello world') != ['h','e','l','l','o',' ','w','o','r','l','d']:
     raise TestFailed, 'map(None, \'hello world\')'
diff --git a/Lib/test/test_descr.py b/Lib/test/test_descr.py
index a0958df..1ec7c19 100644
--- a/Lib/test/test_descr.py
+++ b/Lib/test/test_descr.py
@@ -768,6 +768,12 @@
     vereq(type(a), C)
     vereq(T.counter, 1)
 
+    class C(object): pass
+    c = C()
+    try: c()
+    except TypeError: pass
+    else: raise TestError, "calling object w/o call method should raise TypeError"
+
 def pymods():
     if verbose: print "Testing Python subclass of module..."
     log = []
@@ -2607,6 +2613,12 @@
     del c
     vereq(log, [1])
 
+    class D(object): pass
+    d = D()
+    try: del d[0]
+    except TypeError: pass
+    else: raise TestFailed, "invalid del() didn't raise TypeError"
+
 def hashinherit():
     if verbose: print "Testing hash of mutable subclasses..."
 
@@ -2630,6 +2642,59 @@
     else:
         raise TestFailed, "hash() of list subclass should fail"
 
+def strops():
+    try: 'a' + 5
+    except TypeError: pass
+    else: raise TestFailed, "'' + 5 doesn't raise TypeError"
+
+    try: ''.split('')
+    except ValueError: pass
+    else: raise TestFailed, "''.split('') doesn't raise ValueError"
+
+    try: ''.join([0])
+    except TypeError: pass
+    else: raise TestFailed, "''.join([0]) doesn't raise TypeError"
+
+    try: ''.rindex('5')
+    except ValueError: pass
+    else: raise TestFailed, "''.rindex('5') doesn't raise ValueError"
+
+    try: ''.replace('', '')
+    except ValueError: pass
+    else: raise TestFailed, "''.replace('', '') doesn't raise ValueError"
+
+    try: '%(n)s' % None
+    except TypeError: pass
+    else: raise TestFailed, "'%(n)s' % None doesn't raise TypeError"
+
+    try: '%(n' % {}
+    except ValueError: pass
+    else: raise TestFailed, "'%(n' % {} '' doesn't raise ValueError"
+
+    try: '%*s' % ('abc')
+    except TypeError: pass
+    else: raise TestFailed, "'%*s' % ('abc') doesn't raise TypeError"
+
+    try: '%*.*s' % ('abc', 5)
+    except TypeError: pass
+    else: raise TestFailed, "'%*.*s' % ('abc', 5) doesn't raise TypeError"
+
+    try: '%s' % (1, 2)
+    except TypeError: pass
+    else: raise TestFailed, "'%s' % (1, 2) doesn't raise TypeError"
+
+    try: '%' % None
+    except ValueError: pass
+    else: raise TestFailed, "'%' % None doesn't raise ValueError"
+
+    vereq('534253'.isdigit(), 1)
+    vereq('534253x'.isdigit(), 0)
+    vereq('%c' % 5, '\x05')
+    vereq('%c' % '5', '5')
+
+
+
+
 def test_main():
     class_docstrings()
     lists()
@@ -2683,6 +2748,7 @@
     kwdargs()
     delhook()
     hashinherit()
+    strops()
     if verbose: print "All OK"
 
 if __name__ == "__main__":
diff --git a/Lib/test/test_types.py b/Lib/test/test_types.py
index 2ea0c6b..e6f440f 100644
--- a/Lib/test/test_types.py
+++ b/Lib/test/test_types.py
@@ -389,3 +389,12 @@
                     str(ta), str(tb))
         if a: raise TestFailed, 'a not empty after popitems: %s' % str(a)
         if b: raise TestFailed, 'b not empty after popitems: %s' % str(b)
+
+try: type(1, 2)
+except TypeError: pass
+else: raise TestFailed, 'type(), w/2 args expected TypeError'
+
+try: type(1, 2, 3, 4)
+except TypeError: pass
+else: raise TestFailed, 'type(), w/4 args expected TypeError'
+