Files @ bfd7fc9a814e
Branch filter:

Location: kallithea/kallithea/tests/vcs/conf.py

Lars Kruse
py3: replace list comprehension with for-loop due to scope

The scope of the list comprehension variable 'x' will be limited to the list
comprehension in python3. Thus switching to a full loop (without this
scope restriction) in preparation for python3.
"""
Unit tests configuration module for vcs.
"""
import os
import time
import hashlib
import tempfile
import datetime
import shutil
import uuid

__all__ = (
    'TEST_HG_REPO', 'TEST_GIT_REPO', 'HG_REMOTE_REPO', 'GIT_REMOTE_REPO',
    'SCM_TESTS',
)

SCM_TESTS = ['hg', 'git']

THIS = os.path.abspath(os.path.dirname(__file__))

GIT_REMOTE_REPO = 'git://github.com/codeinn/vcs.git'

# Note: TEST_TMP_PATH, not TESTS_TMP_PATH
TEST_TMP_PATH = os.environ.get('VCS_TEST_ROOT', tempfile.gettempdir())

TEST_GIT_REPO = os.environ.get('VCS_TEST_GIT_REPO',
                               os.path.join(TEST_TMP_PATH, 'vcs-git'))
TEST_GIT_REPO_CLONE = os.environ.get('VCS_TEST_GIT_REPO_CLONE',
                                     os.path.join(TEST_TMP_PATH, 'vcs-git-clone'))
TEST_GIT_REPO_PULL = os.environ.get('VCS_TEST_GIT_REPO_PULL',
                                    os.path.join(TEST_TMP_PATH, 'vcs-git-pull'))

HG_REMOTE_REPO = 'http://bitbucket.org/marcinkuzminski/vcs'
TEST_HG_REPO = os.environ.get('VCS_TEST_HG_REPO',
                              os.path.join(TEST_TMP_PATH, 'vcs-hg'))
TEST_HG_REPO_CLONE = os.environ.get('VCS_TEST_HG_REPO_CLONE',
                                    os.path.join(TEST_TMP_PATH, 'vcs-hg-clone'))
TEST_HG_REPO_PULL = os.environ.get('VCS_TEST_HG_REPO_PULL',
                                   os.path.join(TEST_TMP_PATH, 'vcs-hg-pull'))

TEST_REPO_PREFIX = 'vcs-test'


def get_new_dir(title=None):
    """
    Calculates a path for a new, non-existant, unique sub-directory in TEST_TMP_PATH.

    Resulting directory name will have format:

    prefix-[title-]hexuuid

    Prefix is equal to value of variable TEST_REPO_PREFIX. The "hexuuid" is a
    hexadecimal value of a randomly generated UUID. Title will be added if
    specified.

    Args:
        title: Custom title to include as part of the resulting sub-directory
            name. Can be useful for debugging to identify destination. Defaults
            to None.

    Returns:
        Path to the new directory as a string.
    """

    if title:
        name = "%s-%s" % (TEST_REPO_PREFIX, title)
    else:
        name = TEST_REPO_PREFIX

    path = os.path.join(TEST_TMP_PATH, name)

    # Generate new hexes until we get a unique name (just in case).
    hex_uuid = uuid.uuid4().hex
    while os.path.exists("%s-%s" % (path, hex_uuid)):
        hex_uuid = uuid.uuid4().hex

    return "%s-%s" % (path, hex_uuid)


PACKAGE_DIR = os.path.abspath(os.path.join(
    os.path.dirname(__file__), '..'))
_dest = os.path.join(TEST_TMP_PATH, 'aconfig')
shutil.copy(os.path.join(THIS, 'aconfig'), _dest)
TEST_USER_CONFIG_FILE = _dest

#overide default configurations with kallithea ones
from kallithea.tests.base import *