From d3f83517448ab073334a97e28c823ae3955f312b Mon Sep 17 00:00:00 2001 From: Kenneth Reitz <me@kennethreitz.com> Date: Tue, 15 Jul 2014 10:56:04 -0400 Subject: [PATCH] no tests --- test/distutils/envoy.py | 210 ------------------ test/distutils/setup.py | 43 ---- test/django-1.3-skeleton/haystack/__init__.py | 0 test/django-1.3-skeleton/haystack/manage.py | 14 -- test/django-1.3-skeleton/haystack/settings.py | 145 ------------ test/django-1.3-skeleton/haystack/urls.py | 17 -- test/django-1.3-skeleton/requirements.txt | 1 - test/django-1.4-skeleton/haystack/.DS_Store | Bin 6148 -> 0 bytes test/django-1.4-skeleton/haystack/__init__.py | 0 test/django-1.4-skeleton/haystack/settings.py | 154 ------------- test/django-1.4-skeleton/haystack/urls.py | 17 -- test/django-1.4-skeleton/haystack/wsgi.py | 28 --- test/django-1.4-skeleton/manage.py | 10 - test/django-1.4-skeleton/requirements.txt | 1 - test/django-1.5-skeleton/haystack/__init__.py | 0 test/django-1.5-skeleton/haystack/settings.py | 156 ------------- test/django-1.5-skeleton/haystack/urls.py | 17 -- test/django-1.5-skeleton/haystack/wsgi.py | 32 --- test/django-1.5-skeleton/manage.py | 10 - test/django-1.5-skeleton/requirements.txt | 1 - test/django-1.6-skeleton/haystack/__init__.py | 1 - test/django-1.6-skeleton/haystack/settings.py | 156 ------------- test/django-1.6-skeleton/haystack/urls.py | 17 -- test/django-1.6-skeleton/haystack/wsgi.py | 32 --- test/django-1.6-skeleton/manage.py | 10 - test/django-1.6-skeleton/requirements.txt | 1 - test/empty-requirements/requirements.txt | 0 test/no-requirements/setup.py | 30 --- test/not-django/haystack/settings.py | 0 test/not-django/manage.py | 0 test/not-django/requirements.txt | 1 - test/not-python/Gemfile | 0 test/pylibmc/requirements.txt | 2 - test/simple-requirements/requirements.txt | 2 - test/simple-runtime-pypy2/requirements.txt | 1 - test/simple-runtime-pypy2/runtime.txt | 1 - test/simple-runtime-python2/requirements.txt | 1 - test/simple-runtime-python2/runtime.txt | 1 - test/simple-runtime/requirements.txt | 1 - test/simple-runtime/runtime.txt | 1 - 40 files changed, 1114 deletions(-) delete mode 100644 test/distutils/envoy.py delete mode 100644 test/distutils/setup.py delete mode 100644 test/django-1.3-skeleton/haystack/__init__.py delete mode 100644 test/django-1.3-skeleton/haystack/manage.py delete mode 100644 test/django-1.3-skeleton/haystack/settings.py delete mode 100644 test/django-1.3-skeleton/haystack/urls.py delete mode 100644 test/django-1.3-skeleton/requirements.txt delete mode 100644 test/django-1.4-skeleton/haystack/.DS_Store delete mode 100644 test/django-1.4-skeleton/haystack/__init__.py delete mode 100644 test/django-1.4-skeleton/haystack/settings.py delete mode 100644 test/django-1.4-skeleton/haystack/urls.py delete mode 100644 test/django-1.4-skeleton/haystack/wsgi.py delete mode 100644 test/django-1.4-skeleton/manage.py delete mode 100644 test/django-1.4-skeleton/requirements.txt delete mode 100644 test/django-1.5-skeleton/haystack/__init__.py delete mode 100644 test/django-1.5-skeleton/haystack/settings.py delete mode 100644 test/django-1.5-skeleton/haystack/urls.py delete mode 100644 test/django-1.5-skeleton/haystack/wsgi.py delete mode 100644 test/django-1.5-skeleton/manage.py delete mode 100644 test/django-1.5-skeleton/requirements.txt delete mode 100644 test/django-1.6-skeleton/haystack/__init__.py delete mode 100644 test/django-1.6-skeleton/haystack/settings.py delete mode 100644 test/django-1.6-skeleton/haystack/urls.py delete mode 100644 test/django-1.6-skeleton/haystack/wsgi.py delete mode 100644 test/django-1.6-skeleton/manage.py delete mode 100644 test/django-1.6-skeleton/requirements.txt delete mode 100644 test/empty-requirements/requirements.txt delete mode 100644 test/no-requirements/setup.py delete mode 100644 test/not-django/haystack/settings.py delete mode 100644 test/not-django/manage.py delete mode 100644 test/not-django/requirements.txt delete mode 100644 test/not-python/Gemfile delete mode 100644 test/pylibmc/requirements.txt delete mode 100644 test/simple-requirements/requirements.txt delete mode 100644 test/simple-runtime-pypy2/requirements.txt delete mode 100644 test/simple-runtime-pypy2/runtime.txt delete mode 100644 test/simple-runtime-python2/requirements.txt delete mode 100644 test/simple-runtime-python2/runtime.txt delete mode 100644 test/simple-runtime/requirements.txt delete mode 100644 test/simple-runtime/runtime.txt diff --git a/test/distutils/envoy.py b/test/distutils/envoy.py deleted file mode 100644 index 3a654156..00000000 --- a/test/distutils/envoy.py +++ /dev/null @@ -1,210 +0,0 @@ -# -*- coding: utf-8 -*- -""" -envoy.core -~~~~~~~~~~ - -This module provides envoy awesomeness. - -Copyright 2012, Kenneth Reitz. -MIT Licensed. - -""" - -import os -import shlex -import subprocess -import threading - - -__version__ = '0.0.2' -__license__ = 'MIT' -__author__ = 'Kenneth Reitz' - - -class Command(object): - def __init__(self, cmd): - self.cmd = cmd - self.process = None - self.out = None - self.err = None - self.returncode = None - self.data = None - - def run(self, data, timeout, env): - self.data = data - environ = dict(os.environ).update(env or {}) - - def target(): - - self.process = subprocess.Popen(self.cmd, - universal_newlines=True, - shell=False, - env=environ, - stdin=subprocess.PIPE, - stdout=subprocess.PIPE, - stderr=subprocess.PIPE, - bufsize=0, - ) - - self.out, self.err = self.process.communicate(self.data) - - thread = threading.Thread(target=target) - thread.start() - - thread.join(timeout) - if thread.is_alive(): - self.process.terminate() - thread.join() - self.returncode = self.process.returncode - return self.out, self.err - - -class ConnectedCommand(object): - def __init__(self, - process=None, - std_in=None, - std_out=None, - std_err=None): - - self._process = process - self.std_in = std_in - self.std_out = std_out - self.std_err = std_out - - def __enter__(self): - return self - - def __exit__(self, type, value, traceback): - self.kill() - - @property - def status_code(self): - """The status code of the process. - If the code is None, assume that it's still running. - """ - if self._status_code is not None: - return self._status_code - - # investigate - return None - - @property - def pid(self): - """The process' PID.""" - return self._process.pid - - def kill(self): - """Kills the process.""" - return self._process.kill() - - def expect(self, bytes, stream=None): - """Block until given bytes appear in the stream.""" - if stream is None: - stream = self.std_out - pass - - def send(self, end='\n'): - """Sends a line to std_in.""" - #TODO: Y U LINE BUFFER - pass - - def block(self): - """Blocks until command finishes. Returns Response instance.""" - self._status_code = self._process.wait() - - - -class Response(object): - """A command's response""" - - def __init__(self, process=None): - super(Response, self).__init__() - - self._process = process - self.command = None - self.std_err = None - self.std_out = None - self.status_code = None - self.history = [] - - - def __repr__(self): - if len(self.command): - return '<Response [{0}]>'.format(self.command[0]) - else: - return '<Response>' - - -def expand_args(command): - """Parses command strings and returns a Popen-ready list.""" - - # Prepare arguments. - if isinstance(command, basestring): - splitter = shlex.shlex(command, posix=True) - splitter.whitespace = '|' - splitter.whitespace_split = True - command = [] - - while True: - token = splitter.get_token() - if token: - command.append(token) - else: - break - - command = map(shlex.split, command) - - return command - - -def run(command, data=None, timeout=None, env=None): - """Executes a given commmand and returns Response. - - Blocks until process is complete, or timeout is reached. - """ - - command = expand_args(command) - - history = [] - for c in command: - - if history: - # due to broken pipe problems pass only first 10MB - data = history[-1].std_out[0:10*1024] - - cmd = Command(c) - out, err = cmd.run(data, timeout, env) - - r = Response(process=cmd) - - r.command = c - r.std_out = out - r.std_err = err - r.status_code = cmd.returncode - - history.append(r) - - r = history.pop() - r.history = history - - return r - - -def connect(command, data=None, env=None): - """Spawns a new process from the given command.""" - - # TODO: support piped commands - command_str = expand_args(command).pop() - environ = dict(os.environ).update(env or {}) - - process = subprocess.Popen(command_str, - universal_newlines=True, - shell=False, - env=environ, - stdin=subprocess.PIPE, - stdout=subprocess.PIPE, - stderr=subprocess.PIPE, - bufsize=0, - ) - - return ConnectedCommand(process=process) diff --git a/test/distutils/setup.py b/test/distutils/setup.py deleted file mode 100644 index 853f967e..00000000 --- a/test/distutils/setup.py +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -import os -import sys -import envoy - -try: - from setuptools import setup -except ImportError: - from distutils.core import setup - - - -if sys.argv[-1] == "publish": - os.system("python setup.py sdist upload") - sys.exit() - -required = [] - -setup( - name='envoy', - version=envoy.__version__, - description='Simple API for running external processes.', - author='Kenneth Reitz', - author_email='me@kennethreitz.com', - url='https://github.com/kennethreitz/envoy', - py_modules= ['envoy'], - install_requires=required, - license='MIT', - classifiers=( - 'Development Status :: 5 - Production/Stable', - 'Intended Audience :: Developers', - 'Natural Language :: English', - 'License :: OSI Approved :: MIT License', - 'Programming Language :: Python', - 'Programming Language :: Python :: 2.5', - 'Programming Language :: Python :: 2.6', - 'Programming Language :: Python :: 2.7', - # 'Programming Language :: Python :: 3.0', - # 'Programming Language :: Python :: 3.1', - ), -) diff --git a/test/django-1.3-skeleton/haystack/__init__.py b/test/django-1.3-skeleton/haystack/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/test/django-1.3-skeleton/haystack/manage.py b/test/django-1.3-skeleton/haystack/manage.py deleted file mode 100644 index 3e4eedc9..00000000 --- a/test/django-1.3-skeleton/haystack/manage.py +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env python -from django.core.management import execute_manager -import imp -try: - imp.find_module('settings') # Assumed to be in the same directory. -except ImportError: - import sys - sys.stderr.write("Error: Can't find the file 'settings.py' in the directory containing %r. It appears you've customized things.\nYou'll have to run django-admin.py, passing it your settings module.\n" % __file__) - sys.exit(1) - -import settings - -if __name__ == "__main__": - execute_manager(settings) diff --git a/test/django-1.3-skeleton/haystack/settings.py b/test/django-1.3-skeleton/haystack/settings.py deleted file mode 100644 index 7fa39cd4..00000000 --- a/test/django-1.3-skeleton/haystack/settings.py +++ /dev/null @@ -1,145 +0,0 @@ -# Django settings for haystack project. - -DEBUG = True -TEMPLATE_DEBUG = DEBUG - -ADMINS = ( - # ('Your Name', 'your_email@example.com'), -) - -MANAGERS = ADMINS - -DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'. - 'NAME': '', # Or path to database file if using sqlite3. - 'USER': '', # Not used with sqlite3. - 'PASSWORD': '', # Not used with sqlite3. - 'HOST': '', # Set to empty string for localhost. Not used with sqlite3. - 'PORT': '', # Set to empty string for default. Not used with sqlite3. - } -} - -# Local time zone for this installation. Choices can be found here: -# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name -# although not all choices may be available on all operating systems. -# On Unix systems, a value of None will cause Django to use the same -# timezone as the operating system. -# If running in a Windows environment this must be set to the same as your -# system time zone. -TIME_ZONE = 'America/Chicago' - -# Language code for this installation. All choices can be found here: -# http://www.i18nguy.com/unicode/language-identifiers.html -LANGUAGE_CODE = 'en-us' - -SITE_ID = 1 - -# If you set this to False, Django will make some optimizations so as not -# to load the internationalization machinery. -USE_I18N = True - -# If you set this to False, Django will not format dates, numbers and -# calendars according to the current locale -USE_L10N = True - -# Absolute filesystem path to the directory that will hold user-uploaded files. -# Example: "/home/media/media.lawrence.com/media/" -MEDIA_ROOT = '' - -# URL that handles the media served from MEDIA_ROOT. Make sure to use a -# trailing slash. -# Examples: "http://media.lawrence.com/media/", "http://example.com/media/" -MEDIA_URL = '' - -# Absolute path to the directory static files should be collected to. -# Don't put anything in this directory yourself; store your static files -# in apps' "static/" subdirectories and in STATICFILES_DIRS. -# Example: "/home/media/media.lawrence.com/static/" -STATIC_ROOT = '' - -# URL prefix for static files. -# Example: "http://media.lawrence.com/static/" -STATIC_URL = '/static/' - -# URL prefix for admin static files -- CSS, JavaScript and images. -# Make sure to use a trailing slash. -# Examples: "http://foo.com/static/admin/", "/static/admin/". -ADMIN_MEDIA_PREFIX = '/static/admin/' - -# Additional locations of static files -STATICFILES_DIRS = ( - # Put strings here, like "/home/html/static" or "C:/www/django/static". - # Always use forward slashes, even on Windows. - # Don't forget to use absolute paths, not relative paths. -) - -# List of finder classes that know how to find static files in -# various locations. -STATICFILES_FINDERS = ( - 'django.contrib.staticfiles.finders.FileSystemFinder', - 'django.contrib.staticfiles.finders.AppDirectoriesFinder', -# 'django.contrib.staticfiles.finders.DefaultStorageFinder', -) - -# Make this unique, and don't share it with anybody. -SECRET_KEY = '@$87s&royz$nvav^3*$4u6^htybq*o=ge504rqp7r2)@ec*g(3' - -# List of callables that know how to import templates from various sources. -TEMPLATE_LOADERS = ( - 'django.template.loaders.filesystem.Loader', - 'django.template.loaders.app_directories.Loader', -# 'django.template.loaders.eggs.Loader', -) - -MIDDLEWARE_CLASSES = ( - 'django.middleware.common.CommonMiddleware', - 'django.contrib.sessions.middleware.SessionMiddleware', - 'django.middleware.csrf.CsrfViewMiddleware', - 'django.contrib.auth.middleware.AuthenticationMiddleware', - 'django.contrib.messages.middleware.MessageMiddleware', -) - -ROOT_URLCONF = 'haystack.urls' - -TEMPLATE_DIRS = ( - # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates". - # Always use forward slashes, even on Windows. - # Don't forget to use absolute paths, not relative paths. -) - -INSTALLED_APPS = ( - 'django.contrib.auth', - 'django.contrib.contenttypes', - 'django.contrib.sessions', - 'django.contrib.sites', - 'django.contrib.messages', - 'django.contrib.staticfiles', - # Uncomment the next line to enable the admin: - # 'django.contrib.admin', - # Uncomment the next line to enable admin documentation: - # 'django.contrib.admindocs', -) - -# A sample logging configuration. The only tangible logging -# performed by this configuration is to send an email to -# the site admins on every HTTP 500 error. -# See http://docs.djangoproject.com/en/dev/topics/logging for -# more details on how to customize your logging configuration. -LOGGING = { - 'version': 1, - 'disable_existing_loggers': False, - 'handlers': { - 'mail_admins': { - 'level': 'ERROR', - 'class': 'django.utils.log.AdminEmailHandler' - } - }, - 'loggers': { - 'django.request': { - 'handlers': ['mail_admins'], - 'level': 'ERROR', - 'propagate': True, - }, - } -} diff --git a/test/django-1.3-skeleton/haystack/urls.py b/test/django-1.3-skeleton/haystack/urls.py deleted file mode 100644 index a6a070bf..00000000 --- a/test/django-1.3-skeleton/haystack/urls.py +++ /dev/null @@ -1,17 +0,0 @@ -from django.conf.urls.defaults import patterns, include, url - -# Uncomment the next two lines to enable the admin: -# from django.contrib import admin -# admin.autodiscover() - -urlpatterns = patterns('', - # Examples: - # url(r'^$', 'haystack.views.home', name='home'), - # url(r'^haystack/', include('haystack.foo.urls')), - - # Uncomment the admin/doc line below to enable admin documentation: - # url(r'^admin/doc/', include('django.contrib.admindocs.urls')), - - # Uncomment the next line to enable the admin: - # url(r'^admin/', include(admin.site.urls)), -) diff --git a/test/django-1.3-skeleton/requirements.txt b/test/django-1.3-skeleton/requirements.txt deleted file mode 100644 index b1531dc7..00000000 --- a/test/django-1.3-skeleton/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -django==1.3 \ No newline at end of file diff --git a/test/django-1.4-skeleton/haystack/.DS_Store b/test/django-1.4-skeleton/haystack/.DS_Store deleted file mode 100644 index 5008ddfcf53c02e82d7eee2e57c38e5672ef89f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**<q8>++&mCkOWA81W14cNZ<zv;LbK1Poaz?KmsK2CSc!( z0ynLxE!0092;Krf2c+FF_Fe*7ECH>lEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0<F0fCPF1$Cyrb|F7^5{eNG?83~ZUUlGt@xh*qZDeu<Z%US-OSsOPv j)R!Z4KLME7ReXlK;d!wEw5GODWMKRea10D2@KpjYNUI8I diff --git a/test/django-1.4-skeleton/haystack/__init__.py b/test/django-1.4-skeleton/haystack/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/test/django-1.4-skeleton/haystack/settings.py b/test/django-1.4-skeleton/haystack/settings.py deleted file mode 100644 index 5ca2450e..00000000 --- a/test/django-1.4-skeleton/haystack/settings.py +++ /dev/null @@ -1,154 +0,0 @@ -# Django settings for haystack project. - -DEBUG = True -TEMPLATE_DEBUG = DEBUG - -ADMINS = ( - # ('Your Name', 'your_email@example.com'), -) - -MANAGERS = ADMINS - -DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. - 'NAME': '', # Or path to database file if using sqlite3. - 'USER': '', # Not used with sqlite3. - 'PASSWORD': '', # Not used with sqlite3. - 'HOST': '', # Set to empty string for localhost. Not used with sqlite3. - 'PORT': '', # Set to empty string for default. Not used with sqlite3. - } -} - -# Local time zone for this installation. Choices can be found here: -# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name -# although not all choices may be available on all operating systems. -# On Unix systems, a value of None will cause Django to use the same -# timezone as the operating system. -# If running in a Windows environment this must be set to the same as your -# system time zone. -TIME_ZONE = 'America/Chicago' - -# Language code for this installation. All choices can be found here: -# http://www.i18nguy.com/unicode/language-identifiers.html -LANGUAGE_CODE = 'en-us' - -SITE_ID = 1 - -# If you set this to False, Django will make some optimizations so as not -# to load the internationalization machinery. -USE_I18N = True - -# If you set this to False, Django will not format dates, numbers and -# calendars according to the current locale. -USE_L10N = True - -# If you set this to False, Django will not use timezone-aware datetimes. -USE_TZ = True - -# Absolute filesystem path to the directory that will hold user-uploaded files. -# Example: "/home/media/media.lawrence.com/media/" -MEDIA_ROOT = '' - -# URL that handles the media served from MEDIA_ROOT. Make sure to use a -# trailing slash. -# Examples: "http://media.lawrence.com/media/", "http://example.com/media/" -MEDIA_URL = '' - -# Absolute path to the directory static files should be collected to. -# Don't put anything in this directory yourself; store your static files -# in apps' "static/" subdirectories and in STATICFILES_DIRS. -# Example: "/home/media/media.lawrence.com/static/" -STATIC_ROOT = '' - -# URL prefix for static files. -# Example: "http://media.lawrence.com/static/" -STATIC_URL = '/static/' - -# Additional locations of static files -STATICFILES_DIRS = ( - # Put strings here, like "/home/html/static" or "C:/www/django/static". - # Always use forward slashes, even on Windows. - # Don't forget to use absolute paths, not relative paths. -) - -# List of finder classes that know how to find static files in -# various locations. -STATICFILES_FINDERS = ( - 'django.contrib.staticfiles.finders.FileSystemFinder', - 'django.contrib.staticfiles.finders.AppDirectoriesFinder', -# 'django.contrib.staticfiles.finders.DefaultStorageFinder', -) - -# Make this unique, and don't share it with anybody. -SECRET_KEY = '633$+yuh67kvt_v8gpi9zmkvqb*m5nts6&a=q^dwhi+e#^j_ki' - -# List of callables that know how to import templates from various sources. -TEMPLATE_LOADERS = ( - 'django.template.loaders.filesystem.Loader', - 'django.template.loaders.app_directories.Loader', -# 'django.template.loaders.eggs.Loader', -) - -MIDDLEWARE_CLASSES = ( - 'django.middleware.common.CommonMiddleware', - 'django.contrib.sessions.middleware.SessionMiddleware', - 'django.middleware.csrf.CsrfViewMiddleware', - 'django.contrib.auth.middleware.AuthenticationMiddleware', - 'django.contrib.messages.middleware.MessageMiddleware', - # Uncomment the next line for simple clickjacking protection: - # 'django.middleware.clickjacking.XFrameOptionsMiddleware', -) - -ROOT_URLCONF = 'haystack.urls' - -# Python dotted path to the WSGI application used by Django's runserver. -WSGI_APPLICATION = 'haystack.wsgi.application' - -TEMPLATE_DIRS = ( - # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates". - # Always use forward slashes, even on Windows. - # Don't forget to use absolute paths, not relative paths. -) - -INSTALLED_APPS = ( - 'django.contrib.auth', - 'django.contrib.contenttypes', - 'django.contrib.sessions', - 'django.contrib.sites', - 'django.contrib.messages', - 'django.contrib.staticfiles', - # Uncomment the next line to enable the admin: - # 'django.contrib.admin', - # Uncomment the next line to enable admin documentation: - # 'django.contrib.admindocs', -) - -# A sample logging configuration. The only tangible logging -# performed by this configuration is to send an email to -# the site admins on every HTTP 500 error when DEBUG=False. -# See http://docs.djangoproject.com/en/dev/topics/logging for -# more details on how to customize your logging configuration. -LOGGING = { - 'version': 1, - 'disable_existing_loggers': False, - 'filters': { - 'require_debug_false': { - '()': 'django.utils.log.RequireDebugFalse' - } - }, - 'handlers': { - 'mail_admins': { - 'level': 'ERROR', - 'filters': ['require_debug_false'], - 'class': 'django.utils.log.AdminEmailHandler' - } - }, - 'loggers': { - 'django.request': { - 'handlers': ['mail_admins'], - 'level': 'ERROR', - 'propagate': True, - }, - } -} diff --git a/test/django-1.4-skeleton/haystack/urls.py b/test/django-1.4-skeleton/haystack/urls.py deleted file mode 100644 index 57034321..00000000 --- a/test/django-1.4-skeleton/haystack/urls.py +++ /dev/null @@ -1,17 +0,0 @@ -from django.conf.urls import patterns, include, url - -# Uncomment the next two lines to enable the admin: -# from django.contrib import admin -# admin.autodiscover() - -urlpatterns = patterns('', - # Examples: - # url(r'^$', 'haystack.views.home', name='home'), - # url(r'^haystack/', include('haystack.foo.urls')), - - # Uncomment the admin/doc line below to enable admin documentation: - # url(r'^admin/doc/', include('django.contrib.admindocs.urls')), - - # Uncomment the next line to enable the admin: - # url(r'^admin/', include(admin.site.urls)), -) diff --git a/test/django-1.4-skeleton/haystack/wsgi.py b/test/django-1.4-skeleton/haystack/wsgi.py deleted file mode 100644 index e7e1a77f..00000000 --- a/test/django-1.4-skeleton/haystack/wsgi.py +++ /dev/null @@ -1,28 +0,0 @@ -""" -WSGI config for haystack project. - -This module contains the WSGI application used by Django's development server -and any production WSGI deployments. It should expose a module-level variable -named ``application``. Django's ``runserver`` and ``runfcgi`` commands discover -this application via the ``WSGI_APPLICATION`` setting. - -Usually you will have the standard Django WSGI application here, but it also -might make sense to replace the whole Django WSGI application with a custom one -that later delegates to the Django one. For example, you could introduce WSGI -middleware here, or combine a Django application with an application of another -framework. - -""" -import os - -os.environ.setdefault("DJANGO_SETTINGS_MODULE", "haystack.settings") - -# This application object is used by any WSGI server configured to use this -# file. This includes Django's development server, if the WSGI_APPLICATION -# setting points here. -from django.core.wsgi import get_wsgi_application -application = get_wsgi_application() - -# Apply WSGI middleware here. -# from helloworld.wsgi import HelloWorldApplication -# application = HelloWorldApplication(application) diff --git a/test/django-1.4-skeleton/manage.py b/test/django-1.4-skeleton/manage.py deleted file mode 100644 index cf7427b1..00000000 --- a/test/django-1.4-skeleton/manage.py +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env python -import os -import sys - -if __name__ == "__main__": - os.environ.setdefault("DJANGO_SETTINGS_MODULE", "haystack.settings") - - from django.core.management import execute_from_command_line - - execute_from_command_line(sys.argv) diff --git a/test/django-1.4-skeleton/requirements.txt b/test/django-1.4-skeleton/requirements.txt deleted file mode 100644 index 23b57dcf..00000000 --- a/test/django-1.4-skeleton/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -Django==1.4 \ No newline at end of file diff --git a/test/django-1.5-skeleton/haystack/__init__.py b/test/django-1.5-skeleton/haystack/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/test/django-1.5-skeleton/haystack/settings.py b/test/django-1.5-skeleton/haystack/settings.py deleted file mode 100644 index 55aa0f1a..00000000 --- a/test/django-1.5-skeleton/haystack/settings.py +++ /dev/null @@ -1,156 +0,0 @@ -# Django settings for haystack project. - -DEBUG = True -TEMPLATE_DEBUG = DEBUG - -ADMINS = ( - # ('Your Name', 'your_email@example.com'), -) - -MANAGERS = ADMINS - -DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. - 'NAME': '', # Or path to database file if using sqlite3. - # The following settings are not used with sqlite3: - 'USER': '', - 'PASSWORD': '', - 'HOST': '', # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP. - 'PORT': '', # Set to empty string for default. - } -} - -# Hosts/domain names that are valid for this site; required if DEBUG is False -# See https://docs.djangoproject.com/en/1.5/ref/settings/#allowed-hosts -ALLOWED_HOSTS = [] - -# Local time zone for this installation. Choices can be found here: -# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name -# although not all choices may be available on all operating systems. -# In a Windows environment this must be set to your system time zone. -TIME_ZONE = 'America/Chicago' - -# Language code for this installation. All choices can be found here: -# http://www.i18nguy.com/unicode/language-identifiers.html -LANGUAGE_CODE = 'en-us' - -SITE_ID = 1 - -# If you set this to False, Django will make some optimizations so as not -# to load the internationalization machinery. -USE_I18N = True - -# If you set this to False, Django will not format dates, numbers and -# calendars according to the current locale. -USE_L10N = True - -# If you set this to False, Django will not use timezone-aware datetimes. -USE_TZ = True - -# Absolute filesystem path to the directory that will hold user-uploaded files. -# Example: "/var/www/example.com/media/" -MEDIA_ROOT = '' - -# URL that handles the media served from MEDIA_ROOT. Make sure to use a -# trailing slash. -# Examples: "http://example.com/media/", "http://media.example.com/" -MEDIA_URL = '' - -# Absolute path to the directory static files should be collected to. -# Don't put anything in this directory yourself; store your static files -# in apps' "static/" subdirectories and in STATICFILES_DIRS. -# Example: "/var/www/example.com/static/" -STATIC_ROOT = '' - -# URL prefix for static files. -# Example: "http://example.com/static/", "http://static.example.com/" -STATIC_URL = '/static/' - -# Additional locations of static files -STATICFILES_DIRS = ( - # Put strings here, like "/home/html/static" or "C:/www/django/static". - # Always use forward slashes, even on Windows. - # Don't forget to use absolute paths, not relative paths. -) - -# List of finder classes that know how to find static files in -# various locations. -STATICFILES_FINDERS = ( - 'django.contrib.staticfiles.finders.FileSystemFinder', - 'django.contrib.staticfiles.finders.AppDirectoriesFinder', -# 'django.contrib.staticfiles.finders.DefaultStorageFinder', -) - -# Make this unique, and don't share it with anybody. -SECRET_KEY = '@w-1$9#jh05!qvbh#1k)c4=w9llcq116f$5(4&s_c)n4@%n=pc' - -# List of callables that know how to import templates from various sources. -TEMPLATE_LOADERS = ( - 'django.template.loaders.filesystem.Loader', - 'django.template.loaders.app_directories.Loader', -# 'django.template.loaders.eggs.Loader', -) - -MIDDLEWARE_CLASSES = ( - 'django.middleware.common.CommonMiddleware', - 'django.contrib.sessions.middleware.SessionMiddleware', - 'django.middleware.csrf.CsrfViewMiddleware', - 'django.contrib.auth.middleware.AuthenticationMiddleware', - 'django.contrib.messages.middleware.MessageMiddleware', - # Uncomment the next line for simple clickjacking protection: - # 'django.middleware.clickjacking.XFrameOptionsMiddleware', -) - -ROOT_URLCONF = 'haystack.urls' - -# Python dotted path to the WSGI application used by Django's runserver. -WSGI_APPLICATION = 'haystack.wsgi.application' - -TEMPLATE_DIRS = ( - # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates". - # Always use forward slashes, even on Windows. - # Don't forget to use absolute paths, not relative paths. -) - -INSTALLED_APPS = ( - 'django.contrib.auth', - 'django.contrib.contenttypes', - 'django.contrib.sessions', - 'django.contrib.sites', - 'django.contrib.messages', - 'django.contrib.staticfiles', - # Uncomment the next line to enable the admin: - # 'django.contrib.admin', - # Uncomment the next line to enable admin documentation: - # 'django.contrib.admindocs', -) - -# A sample logging configuration. The only tangible logging -# performed by this configuration is to send an email to -# the site admins on every HTTP 500 error when DEBUG=False. -# See http://docs.djangoproject.com/en/dev/topics/logging for -# more details on how to customize your logging configuration. -LOGGING = { - 'version': 1, - 'disable_existing_loggers': False, - 'filters': { - 'require_debug_false': { - '()': 'django.utils.log.RequireDebugFalse' - } - }, - 'handlers': { - 'mail_admins': { - 'level': 'ERROR', - 'filters': ['require_debug_false'], - 'class': 'django.utils.log.AdminEmailHandler' - } - }, - 'loggers': { - 'django.request': { - 'handlers': ['mail_admins'], - 'level': 'ERROR', - 'propagate': True, - }, - } -} diff --git a/test/django-1.5-skeleton/haystack/urls.py b/test/django-1.5-skeleton/haystack/urls.py deleted file mode 100644 index 57034321..00000000 --- a/test/django-1.5-skeleton/haystack/urls.py +++ /dev/null @@ -1,17 +0,0 @@ -from django.conf.urls import patterns, include, url - -# Uncomment the next two lines to enable the admin: -# from django.contrib import admin -# admin.autodiscover() - -urlpatterns = patterns('', - # Examples: - # url(r'^$', 'haystack.views.home', name='home'), - # url(r'^haystack/', include('haystack.foo.urls')), - - # Uncomment the admin/doc line below to enable admin documentation: - # url(r'^admin/doc/', include('django.contrib.admindocs.urls')), - - # Uncomment the next line to enable the admin: - # url(r'^admin/', include(admin.site.urls)), -) diff --git a/test/django-1.5-skeleton/haystack/wsgi.py b/test/django-1.5-skeleton/haystack/wsgi.py deleted file mode 100644 index 1508ff6a..00000000 --- a/test/django-1.5-skeleton/haystack/wsgi.py +++ /dev/null @@ -1,32 +0,0 @@ -""" -WSGI config for haystack project. - -This module contains the WSGI application used by Django's development server -and any production WSGI deployments. It should expose a module-level variable -named ``application``. Django's ``runserver`` and ``runfcgi`` commands discover -this application via the ``WSGI_APPLICATION`` setting. - -Usually you will have the standard Django WSGI application here, but it also -might make sense to replace the whole Django WSGI application with a custom one -that later delegates to the Django one. For example, you could introduce WSGI -middleware here, or combine a Django application with an application of another -framework. - -""" -import os - -# We defer to a DJANGO_SETTINGS_MODULE already in the environment. This breaks -# if running multiple sites in the same mod_wsgi process. To fix this, use -# mod_wsgi daemon mode with each site in its own daemon process, or use -# os.environ["DJANGO_SETTINGS_MODULE"] = "haystack.settings" -os.environ.setdefault("DJANGO_SETTINGS_MODULE", "haystack.settings") - -# This application object is used by any WSGI server configured to use this -# file. This includes Django's development server, if the WSGI_APPLICATION -# setting points here. -from django.core.wsgi import get_wsgi_application -application = get_wsgi_application() - -# Apply WSGI middleware here. -# from helloworld.wsgi import HelloWorldApplication -# application = HelloWorldApplication(application) diff --git a/test/django-1.5-skeleton/manage.py b/test/django-1.5-skeleton/manage.py deleted file mode 100644 index cf7427b1..00000000 --- a/test/django-1.5-skeleton/manage.py +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env python -import os -import sys - -if __name__ == "__main__": - os.environ.setdefault("DJANGO_SETTINGS_MODULE", "haystack.settings") - - from django.core.management import execute_from_command_line - - execute_from_command_line(sys.argv) diff --git a/test/django-1.5-skeleton/requirements.txt b/test/django-1.5-skeleton/requirements.txt deleted file mode 100644 index b967a37c..00000000 --- a/test/django-1.5-skeleton/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -django==1.5 diff --git a/test/django-1.6-skeleton/haystack/__init__.py b/test/django-1.6-skeleton/haystack/__init__.py deleted file mode 100644 index 8d1c8b69..00000000 --- a/test/django-1.6-skeleton/haystack/__init__.py +++ /dev/null @@ -1 +0,0 @@ - diff --git a/test/django-1.6-skeleton/haystack/settings.py b/test/django-1.6-skeleton/haystack/settings.py deleted file mode 100644 index 957e66ba..00000000 --- a/test/django-1.6-skeleton/haystack/settings.py +++ /dev/null @@ -1,156 +0,0 @@ -# Django settings for haystack project. - -DEBUG = True -TEMPLATE_DEBUG = DEBUG - -ADMINS = ( - # ('Your Name', 'your_email@example.com'), -) - -MANAGERS = ADMINS - -DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. - 'NAME': '', # Or path to database file if using sqlite3. - # The following settings are not used with sqlite3: - 'USER': '', - 'PASSWORD': '', - 'HOST': '', # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP. - 'PORT': '', # Set to empty string for default. - } -} - -# Hosts/domain names that are valid for this site; required if DEBUG is False -# See https://docs.djangoproject.com/en/1.5/ref/settings/#allowed-hosts -ALLOWED_HOSTS = [] - -# Local time zone for this installation. Choices can be found here: -# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name -# although not all choices may be available on all operating systems. -# In a Windows environment this must be set to your system time zone. -TIME_ZONE = 'America/Chicago' - -# Language code for this installation. All choices can be found here: -# http://www.i18nguy.com/unicode/language-identifiers.html -LANGUAGE_CODE = 'en-us' - -SITE_ID = 1 - -# If you set this to False, Django will make some optimizations so as not -# to load the internationalization machinery. -USE_I18N = True - -# If you set this to False, Django will not format dates, numbers and -# calendars according to the current locale. -USE_L10N = True - -# If you set this to False, Django will not use timezone-aware datetimes. -USE_TZ = True - -# Absolute filesystem path to the directory that will hold user-uploaded files. -# Example: "/var/www/example.com/media/" -MEDIA_ROOT = '' - -# URL that handles the media served from MEDIA_ROOT. Make sure to use a -# trailing slash. -# Examples: "http://example.com/media/", "http://media.example.com/" -MEDIA_URL = '' - -# Absolute path to the directory static files should be collected to. -# Don't put anything in this directory yourself; store your static files -# in apps' "static/" subdirectories and in STATICFILES_DIRS. -# Example: "/var/www/example.com/static/" -STATIC_ROOT = '' - -# URL prefix for static files. -# Example: "http://example.com/static/", "http://static.example.com/" -STATIC_URL = '/static/' - -# Additional locations of static files -STATICFILES_DIRS = ( - # Put strings here, like "/home/html/static" or "C:/www/django/static". - # Always use forward slashes, even on Windows. - # Don't forget to use absolute paths, not relative paths. -) - -# List of finder classes that know how to find static files in -# various locations. -STATICFILES_FINDERS = ( - 'django.contrib.staticfiles.finders.FileSystemFinder', - 'django.contrib.staticfiles.finders.AppDirectoriesFinder', -# 'django.contrib.staticfiles.finders.DefaultStorageFinder', -) - -# Make this unique, and don't share it with anybody. -SECRET_KEY = '@w-1$9#jh05!qvbh#1k)c4=w9llcq116f$5(4&s_c)n4@%n=pc' - -# List of callables that know how to import templates from various sources. -TEMPLATE_LOADERS = ( - 'django.template.loaders.filesystem.Loader', - 'django.template.loaders.app_directories.Loader', -# 'django.template.loaders.eggs.Loader', -) - -MIDDLEWARE_CLASSES = ( - 'django.middleware.common.CommonMiddleware', - 'django.contrib.sessions.middleware.SessionMiddleware', - 'django.middleware.csrf.CsrfViewMiddleware', - 'django.contrib.auth.middleware.AuthenticationMiddleware', - 'django.contrib.messages.middleware.MessageMiddleware', - # Uncomment the next line for simple clickjacking protection: - # 'django.middleware.clickjacking.XFrameOptionsMiddleware', -) - -ROOT_URLCONF = 'haystack.urls' - -# Python dotted path to the WSGI application used by Django's runserver. -WSGI_APPLICATION = 'haystack.wsgi.application' - -TEMPLATE_DIRS = ( - # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates". - # Always use forward slashes, even on Windows. - # Don't forget to use absolute paths, not relative paths. -) - -INSTALLED_APPS = ( - 'django.contrib.auth', - 'django.contrib.contenttypes', - 'django.contrib.sessions', - 'django.contrib.sites', - 'django.contrib.messages', - 'django.contrib.staticfiles', - # Uncomment the next line to enable the admin: - # 'django.contrib.admin', - # Uncomment the next line to enable admin documentation: - # 'django.contrib.admindocs', -) - -# A sample logging configuration. The only tangible logging -# performed by this configuration is to send an email to -# the site admins on every HTTP 500 error when DEBUG=False. -# See http://docs.djangoproject.com/en/dev/topics/logging for -# more details on how to customize your logging configuration. -LOGGING = { - 'version': 1, - 'disable_existing_loggers': False, - 'filters': { - 'require_debug_false': { - '()': 'django.utils.log.RequireDebugFalse' - } - }, - 'handlers': { - 'mail_admins': { - 'level': 'ERROR', - 'filters': ['require_debug_false'], - 'class': 'django.utils.log.AdminEmailHandler' - } - }, - 'loggers': { - 'django.request': { - 'handlers': ['mail_admins'], - 'level': 'ERROR', - 'propagate': True, - }, - } -} diff --git a/test/django-1.6-skeleton/haystack/urls.py b/test/django-1.6-skeleton/haystack/urls.py deleted file mode 100644 index 57034321..00000000 --- a/test/django-1.6-skeleton/haystack/urls.py +++ /dev/null @@ -1,17 +0,0 @@ -from django.conf.urls import patterns, include, url - -# Uncomment the next two lines to enable the admin: -# from django.contrib import admin -# admin.autodiscover() - -urlpatterns = patterns('', - # Examples: - # url(r'^$', 'haystack.views.home', name='home'), - # url(r'^haystack/', include('haystack.foo.urls')), - - # Uncomment the admin/doc line below to enable admin documentation: - # url(r'^admin/doc/', include('django.contrib.admindocs.urls')), - - # Uncomment the next line to enable the admin: - # url(r'^admin/', include(admin.site.urls)), -) diff --git a/test/django-1.6-skeleton/haystack/wsgi.py b/test/django-1.6-skeleton/haystack/wsgi.py deleted file mode 100644 index 1508ff6a..00000000 --- a/test/django-1.6-skeleton/haystack/wsgi.py +++ /dev/null @@ -1,32 +0,0 @@ -""" -WSGI config for haystack project. - -This module contains the WSGI application used by Django's development server -and any production WSGI deployments. It should expose a module-level variable -named ``application``. Django's ``runserver`` and ``runfcgi`` commands discover -this application via the ``WSGI_APPLICATION`` setting. - -Usually you will have the standard Django WSGI application here, but it also -might make sense to replace the whole Django WSGI application with a custom one -that later delegates to the Django one. For example, you could introduce WSGI -middleware here, or combine a Django application with an application of another -framework. - -""" -import os - -# We defer to a DJANGO_SETTINGS_MODULE already in the environment. This breaks -# if running multiple sites in the same mod_wsgi process. To fix this, use -# mod_wsgi daemon mode with each site in its own daemon process, or use -# os.environ["DJANGO_SETTINGS_MODULE"] = "haystack.settings" -os.environ.setdefault("DJANGO_SETTINGS_MODULE", "haystack.settings") - -# This application object is used by any WSGI server configured to use this -# file. This includes Django's development server, if the WSGI_APPLICATION -# setting points here. -from django.core.wsgi import get_wsgi_application -application = get_wsgi_application() - -# Apply WSGI middleware here. -# from helloworld.wsgi import HelloWorldApplication -# application = HelloWorldApplication(application) diff --git a/test/django-1.6-skeleton/manage.py b/test/django-1.6-skeleton/manage.py deleted file mode 100644 index cf7427b1..00000000 --- a/test/django-1.6-skeleton/manage.py +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env python -import os -import sys - -if __name__ == "__main__": - os.environ.setdefault("DJANGO_SETTINGS_MODULE", "haystack.settings") - - from django.core.management import execute_from_command_line - - execute_from_command_line(sys.argv) diff --git a/test/django-1.6-skeleton/requirements.txt b/test/django-1.6-skeleton/requirements.txt deleted file mode 100644 index e093146a..00000000 --- a/test/django-1.6-skeleton/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -django==1.6 diff --git a/test/empty-requirements/requirements.txt b/test/empty-requirements/requirements.txt deleted file mode 100644 index e69de29b..00000000 diff --git a/test/no-requirements/setup.py b/test/no-requirements/setup.py deleted file mode 100644 index 231a07bf..00000000 --- a/test/no-requirements/setup.py +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -try: - from setuptools import setup -except ImportError: - from distutils.core import setup - -required = ['httpbin'] - -setup( - name='haystack', - version='0.0.1', - description='Simple API for running external processes.', - author='Kenneth Reitz', - author_email='me@kennethreitz.com', - install_requires=required, - license='MIT', - classifiers=( - 'Development Status :: 5 - Production/Stable', - 'Intended Audience :: Developers', - 'Natural Language :: English', - 'License :: OSI Approved :: MIT License', - 'Programming Language :: Python', - 'Programming Language :: Python :: 2.5', - 'Programming Language :: Python :: 2.6', - 'Programming Language :: Python :: 2.7', - # 'Programming Language :: Python :: 3.0', - # 'Programming Language :: Python :: 3.1', - ), -) diff --git a/test/not-django/haystack/settings.py b/test/not-django/haystack/settings.py deleted file mode 100644 index e69de29b..00000000 diff --git a/test/not-django/manage.py b/test/not-django/manage.py deleted file mode 100644 index e69de29b..00000000 diff --git a/test/not-django/requirements.txt b/test/not-django/requirements.txt deleted file mode 100644 index 82cd9556..00000000 --- a/test/not-django/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -flask==0.8 \ No newline at end of file diff --git a/test/not-python/Gemfile b/test/not-python/Gemfile deleted file mode 100644 index e69de29b..00000000 diff --git a/test/pylibmc/requirements.txt b/test/pylibmc/requirements.txt deleted file mode 100644 index f9951b47..00000000 --- a/test/pylibmc/requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -pylibmc -psycopg2 \ No newline at end of file diff --git a/test/simple-requirements/requirements.txt b/test/simple-requirements/requirements.txt deleted file mode 100644 index d38249a3..00000000 --- a/test/simple-requirements/requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -requests -distribute==0.6.49 \ No newline at end of file diff --git a/test/simple-runtime-pypy2/requirements.txt b/test/simple-runtime-pypy2/requirements.txt deleted file mode 100644 index 8f2f47b5..00000000 --- a/test/simple-runtime-pypy2/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -requests==2.2.1 diff --git a/test/simple-runtime-pypy2/runtime.txt b/test/simple-runtime-pypy2/runtime.txt deleted file mode 100644 index 493a930e..00000000 --- a/test/simple-runtime-pypy2/runtime.txt +++ /dev/null @@ -1 +0,0 @@ -pypy-2.3 diff --git a/test/simple-runtime-python2/requirements.txt b/test/simple-runtime-python2/requirements.txt deleted file mode 100644 index 8f2f47b5..00000000 --- a/test/simple-runtime-python2/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -requests==2.2.1 diff --git a/test/simple-runtime-python2/runtime.txt b/test/simple-runtime-python2/runtime.txt deleted file mode 100644 index f9204139..00000000 --- a/test/simple-runtime-python2/runtime.txt +++ /dev/null @@ -1 +0,0 @@ -python-2.7.6 diff --git a/test/simple-runtime/requirements.txt b/test/simple-runtime/requirements.txt deleted file mode 100644 index 8f2f47b5..00000000 --- a/test/simple-runtime/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -requests==2.2.1 diff --git a/test/simple-runtime/runtime.txt b/test/simple-runtime/runtime.txt deleted file mode 100644 index fe5dcf7a..00000000 --- a/test/simple-runtime/runtime.txt +++ /dev/null @@ -1 +0,0 @@ -python-3.4.0 -- GitLab