view test/test_instance.py @ 8570:16e8bacb8f90

test: strftime formats; Runtime v Parsing error config.ini windows python strftime formats like "%2d" are not supported by windows python. So limit testing to non-win32 platform. In tests RuntimeError (not ParsingError) was returned for an invalid config.ini parse error with 3.12 and newer. Windows Python 3.11.4 returns RuntimeError as well. Changed guard that chooses RuntimeError to 3.11.4 or newer.
author John Rouillard <rouilj@ieee.org>
date Mon, 13 Apr 2026 13:28:58 -0400
parents 9c3ec0a5c7fc
children
line wrap: on
line source

#
# Copyright (C) 2020 John Rouillard
# All rights reserved.
# For license terms see the file COPYING.txt.
#

import unittest, os, shutil, errno, sys, difflib

from roundup import instance
from roundup.instance import TrackerError

try:
  # python2
  import pathlib2 as pathlib
except ImportError:
  # python3
  import pathlib

from . import db_test_base

class InstanceTest(unittest.TestCase):

    backend = 'anydbm'

    def setUp(self):
        self.dirname = '_test_instance'
        # set up and open a tracker
        self.instance = db_test_base.setupTracker(self.dirname, self.backend)

        # open the database
        self.db = self.instance.open('admin')

        self.db.commit()
        self.db.close()

    def tearDown(self):
        if self.db:
            self.db.close()
        try:
            shutil.rmtree(self.dirname)
        except OSError as error:
            if error.errno not in (errno.ENOENT, errno.ESRCH): raise


    def testOpenOldStyle(self):
        pathlib.Path(os.path.join(self.dirname, "dbinit.py")).touch()
        # no longer support old style tracker configs
        self.assertRaises(TrackerError, instance.open, self.dirname)


Roundup Issue Tracker: http://roundup-tracker.org/