diff options
-rw-r--r-- | .gitignore | 12 | ||||
-rw-r--r-- | .travis.yml | 15 | ||||
-rw-r--r-- | Makefile | 66 | ||||
-rw-r--r-- | base.cfg | 17 | ||||
-rw-r--r-- | bootstrap.py | 210 | ||||
-rw-r--r-- | buildout.cfg | 30 | ||||
-rwxr-xr-x | manage.sh | 70 | ||||
-rw-r--r-- | minimal.cfg | 15 | ||||
-rw-r--r-- | production.cfg | 34 | ||||
-rw-r--r-- | requirements-dev.txt | 9 | ||||
-rw-r--r-- | searx/tests/test_engines.py | 45 | ||||
-rw-r--r-- | tests/__init__.py (renamed from searx/tests/__init__.py) | 0 | ||||
-rw-r--r-- | tests/robot/__init__.py (renamed from searx/tests/engines/__init__.py) | 0 | ||||
-rw-r--r-- | tests/robot/test_basic.robot (renamed from searx/tests/robot/test_basic.robot) | 0 | ||||
-rw-r--r-- | tests/test_robot.py (renamed from searx/tests/test_robot.py) | 0 | ||||
-rw-r--r-- | tests/unit/__init__.py (renamed from searx/tests/robot/__init__.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/__init__.py | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_bing.py (renamed from searx/tests/engines/test_bing.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_bing_images.py (renamed from searx/tests/engines/test_bing_images.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_bing_news.py (renamed from searx/tests/engines/test_bing_news.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_blekko_images.py (renamed from searx/tests/engines/test_blekko_images.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_btdigg.py (renamed from searx/tests/engines/test_btdigg.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_currency_convert.py (renamed from searx/tests/engines/test_currency_convert.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_dailymotion.py (renamed from searx/tests/engines/test_dailymotion.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_deezer.py (renamed from searx/tests/engines/test_deezer.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_deviantart.py (renamed from searx/tests/engines/test_deviantart.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_digg.py (renamed from searx/tests/engines/test_digg.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_duckduckgo.py (renamed from searx/tests/engines/test_duckduckgo.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_duckduckgo_definitions.py (renamed from searx/tests/engines/test_duckduckgo_definitions.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_dummy.py (renamed from searx/tests/engines/test_dummy.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_faroo.py (renamed from searx/tests/engines/test_faroo.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_flickr.py (renamed from searx/tests/engines/test_flickr.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_flickr_noapi.py (renamed from searx/tests/engines/test_flickr_noapi.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_gigablast.py (renamed from searx/tests/engines/test_gigablast.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_github.py (renamed from searx/tests/engines/test_github.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_google.py (renamed from searx/tests/engines/test_google.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_google_images.py (renamed from searx/tests/engines/test_google_images.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_google_news.py (renamed from searx/tests/engines/test_google_news.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_kickass.py (renamed from searx/tests/engines/test_kickass.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_mediawiki.py (renamed from searx/tests/engines/test_mediawiki.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_mixcloud.py (renamed from searx/tests/engines/test_mixcloud.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_openstreetmap.py (renamed from searx/tests/engines/test_openstreetmap.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_photon.py (renamed from searx/tests/engines/test_photon.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_piratebay.py (renamed from searx/tests/engines/test_piratebay.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_qwant.py (renamed from searx/tests/engines/test_qwant.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_searchcode_code.py (renamed from searx/tests/engines/test_searchcode_code.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_searchcode_doc.py (renamed from searx/tests/engines/test_searchcode_doc.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_soundcloud.py (renamed from searx/tests/engines/test_soundcloud.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_spotify.py (renamed from searx/tests/engines/test_spotify.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_stackoverflow.py (renamed from searx/tests/engines/test_stackoverflow.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_startpage.py (renamed from searx/tests/engines/test_startpage.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_subtitleseeker.py (renamed from searx/tests/engines/test_subtitleseeker.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_swisscows.py (renamed from searx/tests/engines/test_swisscows.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_twitter.py (renamed from searx/tests/engines/test_twitter.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_vimeo.py (renamed from searx/tests/engines/test_vimeo.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_www1x.py (renamed from searx/tests/engines/test_www1x.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_www500px.py (renamed from searx/tests/engines/test_www500px.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_yacy.py (renamed from searx/tests/engines/test_yacy.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_yahoo.py (renamed from searx/tests/engines/test_yahoo.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_yahoo_news.py (renamed from searx/tests/engines/test_yahoo_news.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_youtube_api.py (renamed from searx/tests/engines/test_youtube_api.py) | 0 | ||||
-rw-r--r-- | tests/unit/engines/test_youtube_noapi.py (renamed from searx/tests/engines/test_youtube_noapi.py) | 0 | ||||
-rw-r--r-- | tests/unit/test_plugins.py (renamed from searx/tests/test_plugins.py) | 0 | ||||
-rw-r--r-- | tests/unit/test_results.py (renamed from searx/tests/test_results.py) | 0 | ||||
-rw-r--r-- | tests/unit/test_search.py (renamed from searx/tests/test_search.py) | 0 | ||||
-rw-r--r-- | tests/unit/test_utils.py (renamed from searx/tests/test_utils.py) | 0 | ||||
-rw-r--r-- | tests/unit/test_webapp.py (renamed from searx/tests/test_webapp.py) | 0 | ||||
-rw-r--r-- | versions.cfg | 122 |
68 files changed, 87 insertions, 558 deletions
diff --git a/.gitignore b/.gitignore index 760b1a8f3..d29971645 100644 --- a/.gitignore +++ b/.gitignore @@ -11,18 +11,6 @@ setup.cfg */*.pyc *~ -bin/ -build/ -coverage/ -develop-eggs/ -dist/ -eggs/ -include/ -lib/ -local/ -parts/ -searx.egg-info/ -var/ node_modules/ .tx/ diff --git a/.travis.yml b/.travis.yml index be6683510..57d623060 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,16 +11,17 @@ before_install: - "export DISPLAY=:99.0" - "sh -e /etc/init.d/xvfb start" - npm install -g less grunt-cli - - ( cd searx/static/themes/oscar;npm install ) + - ( cd searx/static/themes/oscar;npm install; cd - ) install: - - "make" + - ./manage.sh update_packages + - ./manage.sh update_dev_packages - pip install coveralls script: - - "make flake8" - - "make robot" - - "make styles" - - "make grunt" - - make coverage + - ./manage.sh pep8_check + - ./manage.sh styles + - ./manage.sh grunt + - ./manage.sh coverage + - ./manage.sh robot after_success: coveralls notifications: diff --git a/Makefile b/Makefile deleted file mode 100644 index 5573e5447..000000000 --- a/Makefile +++ /dev/null @@ -1,66 +0,0 @@ -# convenience makefile to boostrap & run buildout -# use `make options=-v` to run buildout with extra options - -version = 2.7 -python = bin/python -options = - -all: .installed.cfg - -.installed.cfg: bin/buildout buildout.cfg setup.py - bin/buildout $(options) - -bin/buildout: $(python) buildout.cfg bootstrap.py - $(python) bootstrap.py - @touch $@ - -$(python): - virtualenv -p python$(version) --no-site-packages . - @touch $@ - -robot: .installed.cfg - @bin/robot - -flake8: .installed.cfg - @bin/flake8 setup.py - @bin/flake8 ./searx/ - -tests: .installed.cfg flake8 - @bin/test - @grunt test --gruntfile searx/static/themes/oscar/gruntfile.js - -coverage: .installed.cfg - @bin/coverage run bin/test - @bin/coverage report - @bin/coverage html - -production: bin/buildout production.cfg setup.py - bin/buildout -c production.cfg $(options) - @echo "* Please modify `readlink --canonicalize-missing ./searx/settings.py`" - @echo "* Hint 1: on production, disable debug mode and change secret_key" - @echo "* Hint 2: searx will be executed at server startup by crontab" - @echo "* Hint 3: to run immediatley, execute 'bin/supervisord'" - -minimal: bin/buildout minimal.cfg setup.py - bin/buildout -c minimal.cfg $(options) - -styles: - @lessc -x searx/static/themes/default/less/style.less > searx/static/themes/default/css/style.css - @lessc -x searx/static/themes/default/less/style-rtl.less > searx/static/themes/default/css/style-rtl.css - @lessc -x searx/static/themes/courgette/less/style.less > searx/static/themes/courgette/css/style.css - @lessc -x searx/static/themes/courgette/less/style-rtl.less > searx/static/themes/courgette/css/style-rtl.css - @lessc -x searx/static/less/bootstrap/bootstrap.less > searx/static/css/bootstrap.min.css - @lessc -x searx/static/themes/oscar/less/oscar/oscar.less > searx/static/themes/oscar/css/oscar.min.css - @lessc -x searx/static/themes/pix-art/less/style.less > searx/static/themes/pix-art/css/style.css - -grunt: - @grunt --gruntfile searx/static/themes/oscar/gruntfile.js - -locales: - @pybabel compile -d searx/translations - -clean: - @rm -rf .installed.cfg .mr.developer.cfg bin parts develop-eggs eggs \ - searx.egg-info lib include .coverage coverage - -.PHONY: all tests robot flake8 coverage production minimal styles locales clean diff --git a/base.cfg b/base.cfg deleted file mode 100644 index 6e46e9eb7..000000000 --- a/base.cfg +++ /dev/null @@ -1,17 +0,0 @@ -[buildout] -extends = versions.cfg -unzip = true -newest = false -prefer-final = true -develop = . - -eggs = - searx - -parts = - omelette - - -[omelette] -recipe = collective.recipe.omelette -eggs = ${buildout:eggs} diff --git a/bootstrap.py b/bootstrap.py deleted file mode 100644 index a4599211f..000000000 --- a/bootstrap.py +++ /dev/null @@ -1,210 +0,0 @@ -############################################################################## -# -# Copyright (c) 2006 Zope Foundation and Contributors. -# All Rights Reserved. -# -# This software is subject to the provisions of the Zope Public License, -# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED -# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS -# FOR A PARTICULAR PURPOSE. -# -############################################################################## -"""Bootstrap a buildout-based project - -Simply run this script in a directory containing a buildout.cfg. -The script accepts buildout command-line options, so you can -use the -c option to specify an alternate configuration file. -""" - -import os -import shutil -import sys -import tempfile - -from optparse import OptionParser - -__version__ = '2015-07-01' -# See zc.buildout's changelog if this version is up to date. - -tmpeggs = tempfile.mkdtemp(prefix='bootstrap-') - -usage = '''\ -[DESIRED PYTHON FOR BUILDOUT] bootstrap.py [options] - -Bootstraps a buildout-based project. - -Simply run this script in a directory containing a buildout.cfg, using the -Python that you want bin/buildout to use. - -Note that by using --find-links to point to local resources, you can keep -this script from going over the network. -''' - -parser = OptionParser(usage=usage) -parser.add_option("--version", - action="store_true", default=False, - help=("Return bootstrap.py version.")) -parser.add_option("-t", "--accept-buildout-test-releases", - dest='accept_buildout_test_releases', - action="store_true", default=False, - help=("Normally, if you do not specify a --version, the " - "bootstrap script and buildout gets the newest " - "*final* versions of zc.buildout and its recipes and " - "extensions for you. If you use this flag, " - "bootstrap and buildout will get the newest releases " - "even if they are alphas or betas.")) -parser.add_option("-c", "--config-file", - help=("Specify the path to the buildout configuration " - "file to be used.")) -parser.add_option("-f", "--find-links", - help=("Specify a URL to search for buildout releases")) -parser.add_option("--allow-site-packages", - action="store_true", default=False, - help=("Let bootstrap.py use existing site packages")) -parser.add_option("--buildout-version", - help="Use a specific zc.buildout version") -parser.add_option("--setuptools-version", - help="Use a specific setuptools version") -parser.add_option("--setuptools-to-dir", - help=("Allow for re-use of existing directory of " - "setuptools versions")) - -options, args = parser.parse_args() -if options.version: - print("bootstrap.py version %s" % __version__) - sys.exit(0) - - -###################################################################### -# load/install setuptools - -try: - from urllib.request import urlopen -except ImportError: - from urllib2 import urlopen - -ez = {} -if os.path.exists('ez_setup.py'): - exec(open('ez_setup.py').read(), ez) -else: - exec(urlopen('https://bootstrap.pypa.io/ez_setup.py').read(), ez) - -if not options.allow_site_packages: - # ez_setup imports site, which adds site packages - # this will remove them from the path to ensure that incompatible versions - # of setuptools are not in the path - import site - # inside a virtualenv, there is no 'getsitepackages'. - # We can't remove these reliably - if hasattr(site, 'getsitepackages'): - for sitepackage_path in site.getsitepackages(): - # Strip all site-packages directories from sys.path that - # are not sys.prefix; this is because on Windows - # sys.prefix is a site-package directory. - if sitepackage_path != sys.prefix: - sys.path[:] = [x for x in sys.path - if sitepackage_path not in x] - -setup_args = dict(to_dir=tmpeggs, download_delay=0) - -if options.setuptools_version is not None: - setup_args['version'] = options.setuptools_version -if options.setuptools_to_dir is not None: - setup_args['to_dir'] = options.setuptools_to_dir - -ez['use_setuptools'](**setup_args) -import setuptools -import pkg_resources - -# This does not (always?) update the default working set. We will -# do it. -for path in sys.path: - if path not in pkg_resources.working_set.entries: - pkg_resources.working_set.add_entry(path) - -###################################################################### -# Install buildout - -ws = pkg_resources.working_set - -setuptools_path = ws.find( - pkg_resources.Requirement.parse('setuptools')).location - -# Fix sys.path here as easy_install.pth added before PYTHONPATH -cmd = [sys.executable, '-c', - 'import sys; sys.path[0:0] = [%r]; ' % setuptools_path + - 'from setuptools.command.easy_install import main; main()', - '-mZqNxd', tmpeggs] - -find_links = os.environ.get( - 'bootstrap-testing-find-links', - options.find_links or - ('http://downloads.buildout.org/' - if options.accept_buildout_test_releases else None) - ) -if find_links: - cmd.extend(['-f', find_links]) - -requirement = 'zc.buildout' -version = options.buildout_version -if version is None and not options.accept_buildout_test_releases: - # Figure out the most recent final version of zc.buildout. - import setuptools.package_index - _final_parts = '*final-', '*final' - - def _final_version(parsed_version): - try: - return not parsed_version.is_prerelease - except AttributeError: - # Older setuptools - for part in parsed_version: - if (part[:1] == '*') and (part not in _final_parts): - return False - return True - - index = setuptools.package_index.PackageIndex( - search_path=[setuptools_path]) - if find_links: - index.add_find_links((find_links,)) - req = pkg_resources.Requirement.parse(requirement) - if index.obtain(req) is not None: - best = [] - bestv = None - for dist in index[req.project_name]: - distv = dist.parsed_version - if _final_version(distv): - if bestv is None or distv > bestv: - best = [dist] - bestv = distv - elif distv == bestv: - best.append(dist) - if best: - best.sort() - version = best[-1].version -if version: - requirement = '=='.join((requirement, version)) -cmd.append(requirement) - -import subprocess -if subprocess.call(cmd) != 0: - raise Exception( - "Failed to execute command:\n%s" % repr(cmd)[1:-1]) - -###################################################################### -# Import and run buildout - -ws.add_entry(tmpeggs) -ws.require(requirement) -import zc.buildout.buildout - -if not [a for a in args if '=' not in a]: - args.append('bootstrap') - -# if -c was provided, we push it back into args for buildout' main function -if options.config_file is not None: - args[0:0] = ['-c', options.config_file] - -zc.buildout.buildout.main(args) -shutil.rmtree(tmpeggs) diff --git a/buildout.cfg b/buildout.cfg deleted file mode 100644 index b9e6d24ed..000000000 --- a/buildout.cfg +++ /dev/null @@ -1,30 +0,0 @@ -[buildout] -extends = base.cfg -develop = . - -eggs = - searx [test] - -parts += - pyscripts - robot - test - - -[pyscripts] -recipe = zc.recipe.egg:script -eggs = ${buildout:eggs} -interpreter = py -dependent-scripts = true - - -[robot] -recipe = zc.recipe.testrunner -eggs = ${buildout:eggs} -defaults = ['--color', '--auto-progress', '--layer', 'SearxRobotLayer'] - - -[test] -recipe = zc.recipe.testrunner -eggs = ${buildout:eggs} -defaults = ['--color', '--auto-progress', '--layer', 'SearxTestLayer', '--layer', '!SearxRobotLayer'] diff --git a/manage.sh b/manage.sh new file mode 100755 index 000000000..39a8e27d3 --- /dev/null +++ b/manage.sh @@ -0,0 +1,70 @@ +#!/bin/sh + +BASE_DIR=$(dirname `readlink -f $0`) +PYTHONPATH=$BASE_DIR +SEARX_DIR="$BASE_DIR/searx" +ACTION=$1 + +update_packages() { + pip install --upgrade -r "$BASE_DIR/requirements.txt" +} + +update_dev_packages() { + pip install --upgrade -r "$BASE_DIR/requirements-dev.txt" +} + +pep8_check() { + echo '[!] Running pep8 check' + pep8 "$SEARX_DIR" "$BASE_DIR/tests" +} + +unit_tests() { + echo '[!] Running unit tests' + python -m nose2 -s "$BASE_DIR/tests/unit" +} + +py_test_coverage() { + echo '[!] Running python test coverage' + PYTHONPATH=`pwd` python -m nose2 -C --coverage "$SEARX_DIR" -s "$BASE_DIR/tests/unit" + coverage report + coverage html +} + +robot_tests() { + echo '[!] Running robot tests' + python -c "import zope.testrunner; import sys; sys.exit(zope.testrunner.run("\ +"['--color', '--auto-progress', '--layer', 'SearxRobotLayer', '--test-path', '$BASE_DIR']))" +} + +tests() { + set -e + pep8_check + unit_tests + robot_tests + set +e +} + +build_style() { + lessc -x "$BASE_DIR/searx/static/$1" "$BASE_DIR/searx/static/$2" +} + +styles() { + echo '[!] Building styles' + build_style themes/default/less/style.less themes/default/css/style.css + build_style themes/default/less/style-rtl.less themes/default/css/style-rtl.css + build_style themes/courgette/less/style.less themes/courgette/css/style.css + build_style themes/courgette/less/style-rtl.less themes/courgette/css/style-rtl.css + build_style less/bootstrap/bootstrap.less css/bootstrap.min.css + build_style themes/oscar/less/oscar/oscar.less themes/oscar/css/oscar.min.css + build_style themes/pix-art/less/style.less themes/pix-art/css/style.css +} + +grunt() { + grunt --gruntfile "$SEARX_DIR/static/themes/oscar/gruntfile.js" +} + +locales() { + pybabel compile -d "$SEARX_DIR/translations" +} + +$ACTION diff --git a/minimal.cfg b/minimal.cfg deleted file mode 100644 index 339a2939f..000000000 --- a/minimal.cfg +++ /dev/null @@ -1,15 +0,0 @@ -[buildout] -extends = base.cfg -develop = . - -eggs = - searx - -parts += - pyscripts - - -[pyscripts] -recipe = zc.recipe.egg:script -eggs = ${buildout:eggs} -interpreter = py diff --git a/production.cfg b/production.cfg deleted file mode 100644 index ea40682d8..000000000 --- a/production.cfg +++ /dev/null @@ -1,34 +0,0 @@ -[buildout] -extends = base.cfg -develop = . - -eggs = - searx - -parts += - pyscripts - supervisor - crontab_reboot - - -[pyscripts] -recipe = zc.recipe.egg:script -eggs = ${buildout:eggs} -interpreter = py - - -[supervisor] -recipe = collective.recipe.supervisor -http-socket = unix -user = searxer -password = ohpleasedochangeme -file = /tmp/supervisor.sock -chmod = 0700 -programs = - 50 searx ${buildout:bin-directory}/searx-run - - -[crontab_reboot] -recipe = z3c.recipe.usercrontab -times = @reboot -command = ${buildout:bin-directory}/supervisord diff --git a/requirements-dev.txt b/requirements-dev.txt new file mode 100644 index 000000000..d8c2395dd --- /dev/null +++ b/requirements-dev.txt @@ -0,0 +1,9 @@ +flake8==2.5.1 +mock==1.0.1 +nose2==0.4.7 +nose2[coverage-plugin] +plone.testing==4.0.15 +robotframework-selenium2library==1.7.4 +robotsuite==1.7.0 +unittest2==1.1.0 +zope.testrunner==4.4.10 diff --git a/searx/tests/test_engines.py b/searx/tests/test_engines.py deleted file mode 100644 index 793b77460..000000000 --- a/searx/tests/test_engines.py +++ /dev/null @@ -1,45 +0,0 @@ -from searx.tests.engines.test_bing import * # noqa -from searx.tests.engines.test_bing_images import * # noqa -from searx.tests.engines.test_bing_news import * # noqa -from searx.tests.engines.test_blekko_images import * # noqa -from searx.tests.engines.test_btdigg import * # noqa -from searx.tests.engines.test_currency_convert import * # noqa -from searx.tests.engines.test_dailymotion import * # noqa -from searx.tests.engines.test_deezer import * # noqa -from searx.tests.engines.test_deviantart import * # noqa -from searx.tests.engines.test_digg import * # noqa -from searx.tests.engines.test_duckduckgo import * # noqa -from searx.tests.engines.test_duckduckgo_definitions import * # noqa -from searx.tests.engines.test_dummy import * # noqa -from searx.tests.engines.test_faroo import * # noqa -from searx.tests.engines.test_flickr import * # noqa -from searx.tests.engines.test_flickr_noapi import * # noqa -from searx.tests.engines.test_gigablast import * # noqa -from searx.tests.engines.test_github import * # noqa -from searx.tests.engines.test_google import * # noqa -from searx.tests.engines.test_google_images import * # noqa -from searx.tests.engines.test_google_news import * # noqa -from searx.tests.engines.test_kickass import * # noqa -from searx.tests.engines.test_mediawiki import * # noqa -from searx.tests.engines.test_mixcloud import * # noqa -from searx.tests.engines.test_openstreetmap import * # noqa -from searx.tests.engines.test_photon import * # noqa -from searx.tests.engines.test_piratebay import * # noqa -from searx.tests.engines.test_qwant import * # noqa -from searx.tests.engines.test_searchcode_code import * # noqa -from searx.tests.engines.test_searchcode_doc import * # noqa -from searx.tests.engines.test_soundcloud import * # noqa -from searx.tests.engines.test_spotify import * # noqa -from searx.tests.engines.test_stackoverflow import * # noqa -from searx.tests.engines.test_startpage import * # noqa -from searx.tests.engines.test_subtitleseeker import * # noqa -from searx.tests.engines.test_swisscows import * # noqa -from searx.tests.engines.test_twitter import * # noqa -from searx.tests.engines.test_vimeo import * # noqa -from searx.tests.engines.test_www1x import * # noqa -from searx.tests.engines.test_www500px import * # noqa -from searx.tests.engines.test_yacy import * # noqa -from searx.tests.engines.test_yahoo import * # noqa -from searx.tests.engines.test_youtube_api import * # noqa -from searx.tests.engines.test_youtube_noapi import * # noqa -from searx.tests.engines.test_yahoo_news import * # noqa diff --git a/searx/tests/__init__.py b/tests/__init__.py index e69de29bb..e69de29bb 100644 --- a/searx/tests/__init__.py +++ b/tests/__init__.py diff --git a/searx/tests/engines/__init__.py b/tests/robot/__init__.py index e69de29bb..e69de29bb 100644 --- a/searx/tests/engines/__init__.py +++ b/tests/robot/__init__.py diff --git a/searx/tests/robot/test_basic.robot b/tests/robot/test_basic.robot index 1b8e78fff..1b8e78fff 100644 --- a/searx/tests/robot/test_basic.robot +++ b/tests/robot/test_basic.robot diff --git a/searx/tests/test_robot.py b/tests/test_robot.py index b48153fe4..b48153fe4 100644 --- a/searx/tests/test_robot.py +++ b/tests/test_robot.py diff --git a/searx/tests/robot/__init__.py b/tests/unit/__init__.py index e69de29bb..e69de29bb 100644 --- a/searx/tests/robot/__init__.py +++ b/tests/unit/__init__.py diff --git a/tests/unit/engines/__init__.py b/tests/unit/engines/__init__.py new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/tests/unit/engines/__init__.py diff --git a/searx/tests/engines/test_bing.py b/tests/unit/engines/test_bing.py index bce221440..bce221440 100644 --- a/searx/tests/engines/test_bing.py +++ b/tests/unit/engines/test_bing.py diff --git a/searx/tests/engines/test_bing_images.py b/tests/unit/engines/test_bing_images.py index f42dff7e8..f42dff7e8 100644 --- a/searx/tests/engines/test_bing_images.py +++ b/tests/unit/engines/test_bing_images.py diff --git a/searx/tests/engines/test_bing_news.py b/tests/unit/engines/test_bing_news.py index a64d59b7b..a64d59b7b 100644 --- a/searx/tests/engines/test_bing_news.py +++ b/tests/unit/engines/test_bing_news.py diff --git a/searx/tests/engines/test_blekko_images.py b/tests/unit/engines/test_blekko_images.py index beb0853e3..beb0853e3 100644 --- a/searx/tests/engines/test_blekko_images.py +++ b/tests/unit/engines/test_blekko_images.py diff --git a/searx/tests/engines/test_btdigg.py b/tests/unit/engines/test_btdigg.py index 2721f4e7c..2721f4e7c 100644 --- a/searx/tests/engines/test_btdigg.py +++ b/tests/unit/engines/test_btdigg.py diff --git a/searx/tests/engines/test_currency_convert.py b/tests/unit/engines/test_currency_convert.py index 84ec3b742..84ec3b742 100644 --- a/searx/tests/engines/test_currency_convert.py +++ b/tests/unit/engines/test_currency_convert.py diff --git a/searx/tests/engines/test_dailymotion.py b/tests/unit/engines/test_dailymotion.py index 4c31ff5d5..4c31ff5d5 100644 --- a/searx/tests/engines/test_dailymotion.py +++ b/tests/unit/engines/test_dailymotion.py diff --git a/searx/tests/engines/test_deezer.py b/tests/unit/engines/test_deezer.py index ad09d2a2c..ad09d2a2c 100644 --- a/searx/tests/engines/test_deezer.py +++ b/tests/unit/engines/test_deezer.py diff --git a/searx/tests/engines/test_deviantart.py b/tests/unit/engines/test_deviantart.py index 78a391334..78a391334 100644 --- a/searx/tests/engines/test_deviantart.py +++ b/tests/unit/engines/test_deviantart.py diff --git a/searx/tests/engines/test_digg.py b/tests/unit/engines/test_digg.py index 6e7c9cc99..6e7c9cc99 100644 --- a/searx/tests/engines/test_digg.py +++ b/tests/unit/engines/test_digg.py diff --git a/searx/tests/engines/test_duckduckgo.py b/tests/unit/engines/test_duckduckgo.py index 14cd9cd87..14cd9cd87 100644 --- a/searx/tests/engines/test_duckduckgo.py +++ b/tests/unit/engines/test_duckduckgo.py diff --git a/searx/tests/engines/test_duckduckgo_definitions.py b/tests/unit/engines/test_duckduckgo_definitions.py index 71c84235c..71c84235c 100644 --- a/searx/tests/engines/test_duckduckgo_definitions.py +++ b/tests/unit/engines/test_duckduckgo_definitions.py diff --git a/searx/tests/engines/test_dummy.py b/tests/unit/engines/test_dummy.py index 9399beaaf..9399beaaf 100644 --- a/searx/tests/engines/test_dummy.py +++ b/tests/unit/engines/test_dummy.py diff --git a/searx/tests/engines/test_faroo.py b/tests/unit/engines/test_faroo.py index acebdda86..acebdda86 100644 --- a/searx/tests/engines/test_faroo.py +++ b/tests/unit/engines/test_faroo.py diff --git a/searx/tests/engines/test_flickr.py b/tests/unit/engines/test_flickr.py index 8b39e922f..8b39e922f 100644 --- a/searx/tests/engines/test_flickr.py +++ b/tests/unit/engines/test_flickr.py diff --git a/searx/tests/engines/test_flickr_noapi.py b/tests/unit/engines/test_flickr_noapi.py index 3b337a2d8..3b337a2d8 100644 --- a/searx/tests/engines/test_flickr_noapi.py +++ b/tests/unit/engines/test_flickr_noapi.py diff --git a/searx/tests/engines/test_gigablast.py b/tests/unit/engines/test_gigablast.py index 4ae0c51a9..4ae0c51a9 100644 --- a/searx/tests/engines/test_gigablast.py +++ b/tests/unit/engines/test_gigablast.py diff --git a/searx/tests/engines/test_github.py b/tests/unit/engines/test_github.py index 460be8c3d..460be8c3d 100644 --- a/searx/tests/engines/test_github.py +++ b/tests/unit/engines/test_github.py diff --git a/searx/tests/engines/test_google.py b/tests/unit/engines/test_google.py index 37a83cae3..37a83cae3 100644 --- a/searx/tests/engines/test_google.py +++ b/tests/unit/engines/test_google.py diff --git a/searx/tests/engines/test_google_images.py b/tests/unit/engines/test_google_images.py index 876d0af1e..876d0af1e 100644 --- a/searx/tests/engines/test_google_images.py +++ b/tests/unit/engines/test_google_images.py diff --git a/searx/tests/engines/test_google_news.py b/tests/unit/engines/test_google_news.py index 31d674121..31d674121 100644 --- a/searx/tests/engines/test_google_news.py +++ b/tests/unit/engines/test_google_news.py diff --git a/searx/tests/engines/test_kickass.py b/tests/unit/engines/test_kickass.py index 4cfcaa63c..4cfcaa63c 100644 --- a/searx/tests/engines/test_kickass.py +++ b/tests/unit/engines/test_kickass.py diff --git a/searx/tests/engines/test_mediawiki.py b/tests/unit/engines/test_mediawiki.py index 63f7da6b2..63f7da6b2 100644 --- a/searx/tests/engines/test_mediawiki.py +++ b/tests/unit/engines/test_mediawiki.py diff --git a/searx/tests/engines/test_mixcloud.py b/tests/unit/engines/test_mixcloud.py index a2ea47cf9..a2ea47cf9 100644 --- a/searx/tests/engines/test_mixcloud.py +++ b/tests/unit/engines/test_mixcloud.py diff --git a/searx/tests/engines/test_openstreetmap.py b/tests/unit/engines/test_openstreetmap.py index 7b7783f04..7b7783f04 100644 --- a/searx/tests/engines/test_openstreetmap.py +++ b/tests/unit/engines/test_openstreetmap.py diff --git a/searx/tests/engines/test_photon.py b/tests/unit/engines/test_photon.py index 734497884..734497884 100644 --- a/searx/tests/engines/test_photon.py +++ b/tests/unit/engines/test_photon.py diff --git a/searx/tests/engines/test_piratebay.py b/tests/unit/engines/test_piratebay.py index 5699380be..5699380be 100644 --- a/searx/tests/engines/test_piratebay.py +++ b/tests/unit/engines/test_piratebay.py diff --git a/searx/tests/engines/test_qwant.py b/tests/unit/engines/test_qwant.py index 7d79d13d8..7d79d13d8 100644 --- a/searx/tests/engines/test_qwant.py +++ b/tests/unit/engines/test_qwant.py diff --git a/searx/tests/engines/test_searchcode_code.py b/tests/unit/engines/test_searchcode_code.py index c0ac2025c..c0ac2025c 100644 --- a/searx/tests/engines/test_searchcode_code.py +++ b/tests/unit/engines/test_searchcode_code.py diff --git a/searx/tests/engines/test_searchcode_doc.py b/tests/unit/engines/test_searchcode_doc.py index b9dcf380b..b9dcf380b 100644 --- a/searx/tests/engines/test_searchcode_doc.py +++ b/tests/unit/engines/test_searchcode_doc.py diff --git a/searx/tests/engines/test_soundcloud.py b/tests/unit/engines/test_soundcloud.py index 85495dc57..85495dc57 100644 --- a/searx/tests/engines/test_soundcloud.py +++ b/tests/unit/engines/test_soundcloud.py diff --git a/searx/tests/engines/test_spotify.py b/tests/unit/engines/test_spotify.py index fd274abbd..fd274abbd 100644 --- a/searx/tests/engines/test_spotify.py +++ b/tests/unit/engines/test_spotify.py diff --git a/searx/tests/engines/test_stackoverflow.py b/tests/unit/engines/test_stackoverflow.py index 18a1ff4bd..18a1ff4bd 100644 --- a/searx/tests/engines/test_stackoverflow.py +++ b/tests/unit/engines/test_stackoverflow.py diff --git a/searx/tests/engines/test_startpage.py b/tests/unit/engines/test_startpage.py index 9a1a09bc7..9a1a09bc7 100644 --- a/searx/tests/engines/test_startpage.py +++ b/tests/unit/engines/test_startpage.py diff --git a/searx/tests/engines/test_subtitleseeker.py b/tests/unit/engines/test_subtitleseeker.py index a641601b2..a641601b2 100644 --- a/searx/tests/engines/test_subtitleseeker.py +++ b/tests/unit/engines/test_subtitleseeker.py diff --git a/searx/tests/engines/test_swisscows.py b/tests/unit/engines/test_swisscows.py index 3b4ce7b0f..3b4ce7b0f 100644 --- a/searx/tests/engines/test_swisscows.py +++ b/tests/unit/engines/test_swisscows.py diff --git a/searx/tests/engines/test_twitter.py b/tests/unit/engines/test_twitter.py index b444b48ee..b444b48ee 100644 --- a/searx/tests/engines/test_twitter.py +++ b/tests/unit/engines/test_twitter.py diff --git a/searx/tests/engines/test_vimeo.py b/tests/unit/engines/test_vimeo.py index 50b1cb563..50b1cb563 100644 --- a/searx/tests/engines/test_vimeo.py +++ b/tests/unit/engines/test_vimeo.py diff --git a/searx/tests/engines/test_www1x.py b/tests/unit/engines/test_www1x.py index 9df8de6bf..9df8de6bf 100644 --- a/searx/tests/engines/test_www1x.py +++ b/tests/unit/engines/test_www1x.py diff --git a/searx/tests/engines/test_www500px.py b/tests/unit/engines/test_www500px.py index 8df15b945..8df15b945 100644 --- a/searx/tests/engines/test_www500px.py +++ b/tests/unit/engines/test_www500px.py diff --git a/searx/tests/engines/test_yacy.py b/tests/unit/engines/test_yacy.py index f49532cf4..f49532cf4 100644 --- a/searx/tests/engines/test_yacy.py +++ b/tests/unit/engines/test_yacy.py diff --git a/searx/tests/engines/test_yahoo.py b/tests/unit/engines/test_yahoo.py index 11ef9db22..11ef9db22 100644 --- a/searx/tests/engines/test_yahoo.py +++ b/tests/unit/engines/test_yahoo.py diff --git a/searx/tests/engines/test_yahoo_news.py b/tests/unit/engines/test_yahoo_news.py index 4d7fc0a10..4d7fc0a10 100644 --- a/searx/tests/engines/test_yahoo_news.py +++ b/tests/unit/engines/test_yahoo_news.py diff --git a/searx/tests/engines/test_youtube_api.py b/tests/unit/engines/test_youtube_api.py index 0d4d478c3..0d4d478c3 100644 --- a/searx/tests/engines/test_youtube_api.py +++ b/tests/unit/engines/test_youtube_api.py diff --git a/searx/tests/engines/test_youtube_noapi.py b/tests/unit/engines/test_youtube_noapi.py index 9fa8fd20e..9fa8fd20e 100644 --- a/searx/tests/engines/test_youtube_noapi.py +++ b/tests/unit/engines/test_youtube_noapi.py diff --git a/searx/tests/test_plugins.py b/tests/unit/test_plugins.py index 98d39ec14..98d39ec14 100644 --- a/searx/tests/test_plugins.py +++ b/tests/unit/test_plugins.py diff --git a/searx/tests/test_results.py b/tests/unit/test_results.py index 274b5b37a..274b5b37a 100644 --- a/searx/tests/test_results.py +++ b/tests/unit/test_results.py diff --git a/searx/tests/test_search.py b/tests/unit/test_search.py index af5fffd8b..af5fffd8b 100644 --- a/searx/tests/test_search.py +++ b/tests/unit/test_search.py diff --git a/searx/tests/test_utils.py b/tests/unit/test_utils.py index 04480791d..04480791d 100644 --- a/searx/tests/test_utils.py +++ b/tests/unit/test_utils.py diff --git a/searx/tests/test_webapp.py b/tests/unit/test_webapp.py index 071c01df3..071c01df3 100644 --- a/searx/tests/test_webapp.py +++ b/tests/unit/test_webapp.py diff --git a/versions.cfg b/versions.cfg deleted file mode 100644 index 2cb86aba1..000000000 --- a/versions.cfg +++ /dev/null @@ -1,122 +0,0 @@ -[versions] -Babel = 1.3 -Flask = 0.10.1 -Flask-Babel = 0.9 -Jinja2 = 2.7.3 -MarkupSafe = 0.23 -Pygments = 2.0.2 -WebOb = 1.4.1 -WebTest = 2.0.18 -Werkzeug = 0.10.4 -collective.recipe.omelette = 0.16 -coverage = 3.7.1 -decorator = 3.4.2 -docutils = 0.12 -flake8 = 2.4.1 -itsdangerous = 0.24 -mccabe = 0.3.1 -mock = 1.0.1 -pep8 = 1.5.7 -plone.testing = 4.0.13 -pyflakes = 0.8.1 -pytz = 2015.4 -pyyaml = 3.11 -requests = 2.7.0 -robotframework-debuglibrary = 0.3 -robotframework-httplibrary = 0.4.2 -robotframework-selenium2library = 1.7.1 -robotsuite = 1.6.1 -selenium = 2.46.0 -speaklater = 1.3 -unittest2 = 1.0.1 -waitress = 0.8.9 -zc.recipe.testrunner = 2.0.0 -pyopenssl = 0.15.1 -ndg-httpsclient = 0.4.0 -pyasn1 = 0.1.8 -pyasn1-modules = 0.0.6 -certifi = 2015.11.20.1 - -cffi = 1.1.2 -cryptography = 0.9.1 - -# Required by: -# robotsuite==1.6.1 -# searx==0.7.0 -lxml = 3.4.4 - -# Required by: -# searx==0.7.0 -python-dateutil = 2.4.2 - -# Required by: -# searx==0.7.0 -# zope.exceptions==4.0.7 -# zope.interface==4.1.2 -# zope.testrunner==4.4.9 -setuptools = 18.0.1 - -# Required by: -# WebTest==2.0.18 -beautifulsoup4 = 4.3.2 - -# Required by: -# cryptography==0.9.1 -enum34 = 1.0.4 - -# Required by: -# cryptography==0.9.1 -idna = 2.0 - -# Required by: -# cryptography==0.9.1 -ipaddress = 1.0.7 - -# Required by: -# robotframework-httplibrary==0.4.2 -jsonpatch = 1.11 - -# Required by: -# robotframework-httplibrary==0.4.2 -jsonpointer = 1.9 - -# Required by: -# traceback2==1.4.0 -linecache2 = 1.0.0 - -# Required by: -# cffi==1.1.2 -pycparser = 2.12 - -# Required by: -# robotframework-httplibrary==0.4.2 -robotframework = 2.8.7 - -# Required by: -# robotsuite==1.6.1 -# zope.testrunner==4.4.9 -six = 1.9.0 - -# Required by: -# unittest2==1.0.1 -traceback2 = 1.4.0 - -# Required by: -# collective.recipe.omelette==0.16 -zc.recipe.egg = 2.0.1 - -# Required by: -# zope.testrunner==4.4.9 -zope.exceptions = 4.0.7 - -# Required by: -# zope.testrunner==4.4.9 -zope.interface = 4.1.2 - -# Required by: -# plone.testing==4.0.13 -zope.testing = 4.2.0 - -# Required by: -# zc.recipe.testrunner==2.0.0 -zope.testrunner = 4.4.9 |