The dbm module should use bytes for keys.  This makes test_shelve pass.
diff --git a/Lib/test/test_dbm.py b/Lib/test/test_dbm.py
index ebe37b4..88b0bf6 100755
--- a/Lib/test/test_dbm.py
+++ b/Lib/test/test_dbm.py
@@ -26,10 +26,10 @@
 def test_keys():
     d = dbm.open(filename, 'c')
     verify(d.keys() == [])
-    d['a'] = 'b'
-    d['12345678910'] = '019237410982340912840198242'
+    d[b'a'] = b'b'
+    d[b'12345678910'] = b'019237410982340912840198242'
     d.keys()
-    if 'a' in d:
+    if b'a' in d:
         if verbose:
             print('Test dbm keys: ', d.keys())