From c43098d5bd91b6af733cb19225ebaf29228c2c50 Mon Sep 17 00:00:00 2001 From: David Sklar <177495+davidsklar@users.noreply.github.com> Date: Thu, 29 Dec 2022 13:37:27 -0500 Subject: Python: test cleanups 1. Remove references to modules (exceptions, StringIO) no longer needed for Pythn3 2. Use assertEqual instead of assertEquals 3. Clear journal files with a close_journal_files() function that uses the then-current underlying python_session pointer. Calling session.close_journal_files() sometimes leads to segfaults because python_session has changed after it was injected into the python module (as "session") on module startup. --- src/py_session.cc | 5 +++++ test/python/JournalTest.py | 4 ++-- test/python/PostingTest.py | 4 +--- test/python/TransactionTest.py | 4 +--- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/py_session.cc b/src/py_session.cc index b948997c..167eb2a4 100644 --- a/src/py_session.cc +++ b/src/py_session.cc @@ -55,6 +55,9 @@ namespace { { return str_to_py_unicode(error_context()); } + void py_close_journal_files() { + python_session->close_journal_files(); + } } void export_session() @@ -74,6 +77,8 @@ void export_session() scope().attr("session") = object(ptr(static_cast(python_session.get()))); + scope().attr("close_journal_files") = + python::make_function(&py_close_journal_files); scope().attr("read_journal") = python::make_function(&py_read_journal, return_internal_reference<>()); diff --git a/test/python/JournalTest.py b/test/python/JournalTest.py index 2565ede8..84ad2f43 100644 --- a/test/python/JournalTest.py +++ b/test/python/JournalTest.py @@ -6,7 +6,7 @@ from ledger import * class JournalTestCase(unittest.TestCase): def tearDown(self): - session.close_journal_files() + close_journal_files() def testBasicRead(self): journal = read_journal_from_string(""" @@ -37,7 +37,7 @@ class JournalTestCase(unittest.TestCase): try: fun() except RuntimeError as e: - self.assertEquals(str(e).splitlines()[-1], + self.assertEqual(str(e).splitlines()[-1], "No quantity specified for amount") diff --git a/test/python/PostingTest.py b/test/python/PostingTest.py index f191253e..0dd18112 100644 --- a/test/python/PostingTest.py +++ b/test/python/PostingTest.py @@ -1,11 +1,9 @@ # -*- coding: utf-8 -*- import unittest -import exceptions import operator from ledger import * -from StringIO import * from datetime import * class PostingTestCase(unittest.TestCase): @@ -13,7 +11,7 @@ class PostingTestCase(unittest.TestCase): pass def tearDown(self): - pass + close_journal_files() def test_(self): pass diff --git a/test/python/TransactionTest.py b/test/python/TransactionTest.py index 66447f87..257eb377 100644 --- a/test/python/TransactionTest.py +++ b/test/python/TransactionTest.py @@ -1,11 +1,9 @@ # -*- coding: utf-8 -*- import unittest -import exceptions import operator from ledger import * -from StringIO import * from datetime import * class JournalTestCase(unittest.TestCase): @@ -13,7 +11,7 @@ class JournalTestCase(unittest.TestCase): pass def tearDown(self): - pass + close_journal_files() def test_(self): pass -- cgit v1.2.3