view tests/_tsetup.py @ 56:661461fb4dfc

Make the "py-name" rules parameterized: allow to provide the token type. For this to work the implemting function must be global, because the access to the class is not yet possible at construction time. So consistently make some previons LexBase members module globals. Make some LexBase members module globals consistently.
author Franz Glasner <fzglas.hg@dom66.de>
date Mon, 27 Apr 2026 12:37:27 +0200
parents 39151225fb84
children a4317957148b
line wrap: on
line source

# -*- coding: utf-8 -*-
# :-
# SPDX-FileCopyrightText: © 2026 Franz Glasner
# SPDX-License-Identifier: MIT
r"""Automatic unittest context configuration.

Side-effects of import configure the test environment!

"""

__all__ = [
    "PROJECTDIR",
    "ALGLEXERCLASS",
    "ALGLEXERFILENAME",
    "FRLEXERCLASS",
    "FRLEXERFILENAME",
    "TESTSNIPPETSDIR",
]


import logging
import os
import sys


PROJECTDIR = os.path.abspath(
        os.path.normpath(os.path.join(os.path.dirname(__file__), "..")))
sys.path.insert(0, PROJECTDIR)
FRLEXERFILENAME = os.path.join(PROJECTDIR,
                               "pygments_lexer_pseudocode2",
                               "fr_pseudocode.py")
FRLEXERCLASS = "FrPseudocodeLexer"
ALGLEXERFILENAME = os.path.join(PROJECTDIR,
                                "pygments_lexer_pseudocode2",
                                "algpseudocode.py")
ALGLEXERCLASS = "AlgPseudocodeLexer"
TESTSNIPPETSDIR = os.path.join(
    os.path.abspath(os.path.dirname(__file__)),
    "snippets")


# Setup logging for the unittests: use a known fixed format w/o time
logging.captureWarnings(True)
logging.basicConfig(
    level=logging.DEBUG,
    style='%',
    format="[%(name)s][%(filename)s:%(lineno)d:%(funcName)s][%(levelname)s] %(message)s")        # noqa: E501 (line too long)