diff --git a/tests/misc/recursive_data.py b/tests/misc/recursive_data.py
new file mode 100644
index 0000000000000000000000000000000000000000..53fb30f9ffcdef5148a116755db4ea0e19e956c6
--- /dev/null
+++ b/tests/misc/recursive_data.py
@@ -0,0 +1,9 @@
+# This tests that printing recursive data structure doesn't lead to segfault.
+import _io as io
+
+l = [1, 2, 3, None]
+l[-1] = l
+try:
+    print(l, file=io.StringIO())
+except RuntimeError:
+    print("RuntimeError")
diff --git a/tests/misc/recursive_data.py.exp b/tests/misc/recursive_data.py.exp
new file mode 100644
index 0000000000000000000000000000000000000000..8a2b9bfdda5113fc576a267012bb358ce2010ca4
--- /dev/null
+++ b/tests/misc/recursive_data.py.exp
@@ -0,0 +1 @@
+RuntimeError
diff --git a/tests/misc/recursive_data.py_ b/tests/misc/recursive_data.py_
deleted file mode 100644
index 6a52a3c0e801f3966917cb1f39038c6155ad9bb9..0000000000000000000000000000000000000000
--- a/tests/misc/recursive_data.py_
+++ /dev/null
@@ -1,9 +0,0 @@
-# This tests that printing recursive data structure doesn't lead to segfault.
-# Unfortunately, print() so far doesn't support "file "kwarg, so variable-len
-# output of this test cannot be redirected, and this test cannot be validated.
-l = [1, 2, 3, None]
-l[-1] = l
-try:
-    print(l)
-except RuntimeError:
-    print("RuntimeError")