diff --git a/tests/basics/dict1.py b/tests/basics/dict1.py
index 20fa9def31851793d347417a0105d8269c52fa03..0cec51173ac1897a2ca4df7bd04d8591cb6e8b98 100644
--- a/tests/basics/dict1.py
+++ b/tests/basics/dict1.py
@@ -27,7 +27,7 @@ print({1:1} == {2:1})
 try:
     {}[0]
 except KeyError as er:
-    print('KeyError', er, repr(er), er.args)
+    print('KeyError', er, er.args)
 
 # unsupported unary op
 try:
diff --git a/tests/basics/exception1.py b/tests/basics/exception1.py
index 739dd327537a17cafdc81d17bf7a28d76c303b56..d83764cb939ccaa116e173a9ab7afed7f9ab293d 100644
--- a/tests/basics/exception1.py
+++ b/tests/basics/exception1.py
@@ -1,7 +1,6 @@
 print(repr(IndexError()))
 print(str(IndexError()))
 
-print(repr(IndexError("foo")))
 print(str(IndexError("foo")))
 
 a = IndexError(1, "test", [100, 200])
diff --git a/tests/basics/generator_return.py b/tests/basics/generator_return.py
index a3ac88575ef66eef4232ff327e1919c9fdfaa734..5814ce8379cbb5d3be150ad7f91df9171f13001c 100644
--- a/tests/basics/generator_return.py
+++ b/tests/basics/generator_return.py
@@ -7,4 +7,4 @@ print(next(g))
 try:
     print(next(g))
 except StopIteration as e:
-    print(repr(e))
+    print(type(e), e.args)
diff --git a/tests/basics/python34.py b/tests/basics/python34.py
index 36531f11cf49a76c48e1ac114dadb6aa7fcda9ca..4030db143c4d7ced3b89925d4e16c43fb1224b01 100644
--- a/tests/basics/python34.py
+++ b/tests/basics/python34.py
@@ -1,4 +1,4 @@
-# tests that differ when running under Python 3.4 vs 3.5/3.6
+# tests that differ when running under Python 3.4 vs 3.5/3.6/3.7
 
 try:
     exec
@@ -36,3 +36,7 @@ test_syntax("del ()") # can't delete empty tuple (in 3.6 we can)
 import sys
 print(sys.version[:3])
 print(sys.version_info[0], sys.version_info[1])
+
+# from basics/exception1.py
+# in 3.7 no comma is printed if there is only 1 arg (in 3.4-3.6 one is printed)
+print(repr(IndexError("foo")))
diff --git a/tests/basics/python34.py.exp b/tests/basics/python34.py.exp
index 590fc364f4028b956376f7743b916f3e94a7ce0f..8480171307d14e5cbf48b21c17fd0a707a5f93cb 100644
--- a/tests/basics/python34.py.exp
+++ b/tests/basics/python34.py.exp
@@ -11,3 +11,4 @@ SyntaxError
 SyntaxError
 3.4
 3 4
+IndexError('foo',)
diff --git a/tests/basics/subclass_native3.py b/tests/basics/subclass_native3.py
index bd99ab0d6a6791de7f5304fe21b09d8c3af3bafc..6745b77bb28366d96278396dc461d436f60603bd 100644
--- a/tests/basics/subclass_native3.py
+++ b/tests/basics/subclass_native3.py
@@ -7,12 +7,12 @@ print(repr(e))
 print(e.args)
 
 try:
-    raise MyExc("Some error")
+    raise MyExc("Some error", 1)
 except MyExc as e:
     print("Caught exception:", repr(e))
 
 try:
-    raise MyExc("Some error2")
+    raise MyExc("Some error2", 2)
 except Exception as e:
     print("Caught exception:", repr(e))
 
diff --git a/tests/basics/try_as_var.py b/tests/basics/try_as_var.py
index 0a92f1caeeae97d0ec169b69df473a399355a36a..4f02f9c1061bb74737ab104154757d8963f1ddfc 100644
--- a/tests/basics/try_as_var.py
+++ b/tests/basics/try_as_var.py
@@ -1,7 +1,7 @@
 try:
     raise ValueError(534)
 except ValueError as e:
-    print(repr(e))
+    print(type(e), e.args)
 
 # Var bound in except block is automatically deleted
 try:
diff --git a/tests/misc/sys_exc_info.py b/tests/misc/sys_exc_info.py
index 4bb2c61e8923635e35dbad0c0a99085d29468a73..bf9438e462bac17ddeae9211406fac05de715fb9 100644
--- a/tests/misc/sys_exc_info.py
+++ b/tests/misc/sys_exc_info.py
@@ -9,7 +9,7 @@ def f():
     print(sys.exc_info()[0:2])
 
 try:
-    1/0
+    raise ValueError('value', 123)
 except:
     print(sys.exc_info()[0:2])
     f()