Browse Source

[mod] remove buildout/makefile infrastructure

Adam Tauber 9 years ago
parent
commit
53979a7bf7
68 changed files with 87 additions and 558 deletions
  1. 0
    12
      .gitignore
  2. 8
    7
      .travis.yml
  3. 0
    66
      Makefile
  4. 0
    17
      base.cfg
  5. 0
    210
      bootstrap.py
  6. 0
    30
      buildout.cfg
  7. 70
    0
      manage.sh
  8. 0
    15
      minimal.cfg
  9. 0
    34
      production.cfg
  10. 9
    0
      requirements-dev.txt
  11. 0
    45
      searx/tests/test_engines.py
  12. 0
    0
      tests/__init__.py
  13. 0
    0
      tests/robot/__init__.py
  14. 0
    0
      tests/robot/test_basic.robot
  15. 0
    0
      tests/test_robot.py
  16. 0
    0
      tests/unit/__init__.py
  17. 0
    0
      tests/unit/engines/__init__.py
  18. 0
    0
      tests/unit/engines/test_bing.py
  19. 0
    0
      tests/unit/engines/test_bing_images.py
  20. 0
    0
      tests/unit/engines/test_bing_news.py
  21. 0
    0
      tests/unit/engines/test_blekko_images.py
  22. 0
    0
      tests/unit/engines/test_btdigg.py
  23. 0
    0
      tests/unit/engines/test_currency_convert.py
  24. 0
    0
      tests/unit/engines/test_dailymotion.py
  25. 0
    0
      tests/unit/engines/test_deezer.py
  26. 0
    0
      tests/unit/engines/test_deviantart.py
  27. 0
    0
      tests/unit/engines/test_digg.py
  28. 0
    0
      tests/unit/engines/test_duckduckgo.py
  29. 0
    0
      tests/unit/engines/test_duckduckgo_definitions.py
  30. 0
    0
      tests/unit/engines/test_dummy.py
  31. 0
    0
      tests/unit/engines/test_faroo.py
  32. 0
    0
      tests/unit/engines/test_flickr.py
  33. 0
    0
      tests/unit/engines/test_flickr_noapi.py
  34. 0
    0
      tests/unit/engines/test_gigablast.py
  35. 0
    0
      tests/unit/engines/test_github.py
  36. 0
    0
      tests/unit/engines/test_google.py
  37. 0
    0
      tests/unit/engines/test_google_images.py
  38. 0
    0
      tests/unit/engines/test_google_news.py
  39. 0
    0
      tests/unit/engines/test_kickass.py
  40. 0
    0
      tests/unit/engines/test_mediawiki.py
  41. 0
    0
      tests/unit/engines/test_mixcloud.py
  42. 0
    0
      tests/unit/engines/test_openstreetmap.py
  43. 0
    0
      tests/unit/engines/test_photon.py
  44. 0
    0
      tests/unit/engines/test_piratebay.py
  45. 0
    0
      tests/unit/engines/test_qwant.py
  46. 0
    0
      tests/unit/engines/test_searchcode_code.py
  47. 0
    0
      tests/unit/engines/test_searchcode_doc.py
  48. 0
    0
      tests/unit/engines/test_soundcloud.py
  49. 0
    0
      tests/unit/engines/test_spotify.py
  50. 0
    0
      tests/unit/engines/test_stackoverflow.py
  51. 0
    0
      tests/unit/engines/test_startpage.py
  52. 0
    0
      tests/unit/engines/test_subtitleseeker.py
  53. 0
    0
      tests/unit/engines/test_swisscows.py
  54. 0
    0
      tests/unit/engines/test_twitter.py
  55. 0
    0
      tests/unit/engines/test_vimeo.py
  56. 0
    0
      tests/unit/engines/test_www1x.py
  57. 0
    0
      tests/unit/engines/test_www500px.py
  58. 0
    0
      tests/unit/engines/test_yacy.py
  59. 0
    0
      tests/unit/engines/test_yahoo.py
  60. 0
    0
      tests/unit/engines/test_yahoo_news.py
  61. 0
    0
      tests/unit/engines/test_youtube_api.py
  62. 0
    0
      tests/unit/engines/test_youtube_noapi.py
  63. 0
    0
      tests/unit/test_plugins.py
  64. 0
    0
      tests/unit/test_results.py
  65. 0
    0
      tests/unit/test_search.py
  66. 0
    0
      tests/unit/test_utils.py
  67. 0
    0
      tests/unit/test_webapp.py
  68. 0
    122
      versions.cfg

+ 0
- 12
.gitignore View File

@@ -11,18 +11,6 @@ setup.cfg
11 11
 */*.pyc
12 12
 *~
13 13
 
14
-bin/
15
-build/
16
-coverage/
17
-develop-eggs/
18
-dist/
19
-eggs/
20
-include/
21
-lib/
22
-local/
23
-parts/
24
-searx.egg-info/
25
-var/
26 14
 node_modules/
27 15
 
28 16
 .tx/

+ 8
- 7
.travis.yml View File

@@ -11,16 +11,17 @@ before_install:
11 11
   - "export DISPLAY=:99.0"
12 12
   - "sh -e /etc/init.d/xvfb start"
13 13
   - npm install -g less grunt-cli
14
-  - ( cd searx/static/themes/oscar;npm install )
14
+  - ( cd searx/static/themes/oscar;npm install; cd - )
15 15
 install:
16
-  - "make"
16
+  - ./manage.sh update_packages
17
+  - ./manage.sh update_dev_packages
17 18
   - pip install coveralls
18 19
 script:
19
-  - "make flake8"
20
-  - "make robot"
21
-  - "make styles"
22
-  - "make grunt"
23
-  - make coverage
20
+  - ./manage.sh pep8_check
21
+  - ./manage.sh styles
22
+  - ./manage.sh grunt
23
+  - ./manage.sh coverage
24
+  - ./manage.sh robot
24 25
 after_success:
25 26
   coveralls
26 27
 notifications:

+ 0
- 66
Makefile View File

@@ -1,66 +0,0 @@
1
-# convenience makefile to boostrap & run buildout
2
-# use `make options=-v` to run buildout with extra options
3
-
4
-version = 2.7
5
-python = bin/python
6
-options =
7
-
8
-all: .installed.cfg
9
-
10
-.installed.cfg: bin/buildout buildout.cfg setup.py
11
-	bin/buildout $(options)
12
-
13
-bin/buildout: $(python) buildout.cfg bootstrap.py
14
-	$(python) bootstrap.py
15
-	@touch $@
16
-
17
-$(python):
18
-	virtualenv -p python$(version) --no-site-packages .
19
-	@touch $@
20
-
21
-robot: .installed.cfg
22
-	@bin/robot
23
-
24
-flake8: .installed.cfg
25
-	@bin/flake8 setup.py
26
-	@bin/flake8 ./searx/
27
-
28
-tests: .installed.cfg flake8
29
-	@bin/test
30
-	@grunt test --gruntfile searx/static/themes/oscar/gruntfile.js
31
-
32
-coverage: .installed.cfg
33
-	@bin/coverage run bin/test
34
-	@bin/coverage report
35
-	@bin/coverage html
36
-
37
-production: bin/buildout production.cfg setup.py
38
-	bin/buildout -c production.cfg $(options)
39
-	@echo "* Please modify `readlink --canonicalize-missing ./searx/settings.py`"
40
-	@echo "* Hint 1: on production, disable debug mode and change secret_key"
41
-	@echo "* Hint 2: searx will be executed at server startup by crontab"
42
-	@echo "* Hint 3: to run immediatley, execute 'bin/supervisord'"
43
-
44
-minimal: bin/buildout minimal.cfg setup.py
45
-	bin/buildout -c minimal.cfg $(options)
46
-
47
-styles:
48
-	@lessc -x searx/static/themes/default/less/style.less > searx/static/themes/default/css/style.css
49
-	@lessc -x searx/static/themes/default/less/style-rtl.less > searx/static/themes/default/css/style-rtl.css
50
-	@lessc -x searx/static/themes/courgette/less/style.less > searx/static/themes/courgette/css/style.css
51
-	@lessc -x searx/static/themes/courgette/less/style-rtl.less > searx/static/themes/courgette/css/style-rtl.css
52
-	@lessc -x searx/static/less/bootstrap/bootstrap.less > searx/static/css/bootstrap.min.css
53
-	@lessc -x searx/static/themes/oscar/less/oscar/oscar.less > searx/static/themes/oscar/css/oscar.min.css
54
-	@lessc -x searx/static/themes/pix-art/less/style.less > searx/static/themes/pix-art/css/style.css
55
-
56
-grunt:
57
-	@grunt --gruntfile searx/static/themes/oscar/gruntfile.js
58
-
59
-locales:
60
-	@pybabel compile -d searx/translations
61
-
62
-clean:
63
-	@rm -rf .installed.cfg .mr.developer.cfg bin parts develop-eggs eggs \
64
-		searx.egg-info lib include .coverage coverage
65
-
66
-.PHONY: all tests robot flake8 coverage production minimal styles locales clean

+ 0
- 17
base.cfg View File

@@ -1,17 +0,0 @@
1
-[buildout]
2
-extends = versions.cfg
3
-unzip = true
4
-newest = false
5
-prefer-final = true
6
-develop = .
7
-
8
-eggs =
9
-    searx
10
-
11
-parts =
12
-    omelette
13
-
14
-
15
-[omelette]
16
-recipe = collective.recipe.omelette
17
-eggs = ${buildout:eggs}

+ 0
- 210
bootstrap.py View File

@@ -1,210 +0,0 @@
1
-##############################################################################
2
-#
3
-# Copyright (c) 2006 Zope Foundation and Contributors.
4
-# All Rights Reserved.
5
-#
6
-# This software is subject to the provisions of the Zope Public License,
7
-# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
8
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
9
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
10
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
11
-# FOR A PARTICULAR PURPOSE.
12
-#
13
-##############################################################################
14
-"""Bootstrap a buildout-based project
15
-
16
-Simply run this script in a directory containing a buildout.cfg.
17
-The script accepts buildout command-line options, so you can
18
-use the -c option to specify an alternate configuration file.
19
-"""
20
-
21
-import os
22
-import shutil
23
-import sys
24
-import tempfile
25
-
26
-from optparse import OptionParser
27
-
28
-__version__ = '2015-07-01'
29
-# See zc.buildout's changelog if this version is up to date.
30
-
31
-tmpeggs = tempfile.mkdtemp(prefix='bootstrap-')
32
-
33
-usage = '''\
34
-[DESIRED PYTHON FOR BUILDOUT] bootstrap.py [options]
35
-
36
-Bootstraps a buildout-based project.
37
-
38
-Simply run this script in a directory containing a buildout.cfg, using the
39
-Python that you want bin/buildout to use.
40
-
41
-Note that by using --find-links to point to local resources, you can keep
42
-this script from going over the network.
43
-'''
44
-
45
-parser = OptionParser(usage=usage)
46
-parser.add_option("--version",
47
-                  action="store_true", default=False,
48
-                  help=("Return bootstrap.py version."))
49
-parser.add_option("-t", "--accept-buildout-test-releases",
50
-                  dest='accept_buildout_test_releases',
51
-                  action="store_true", default=False,
52
-                  help=("Normally, if you do not specify a --version, the "
53
-                        "bootstrap script and buildout gets the newest "
54
-                        "*final* versions of zc.buildout and its recipes and "
55
-                        "extensions for you.  If you use this flag, "
56
-                        "bootstrap and buildout will get the newest releases "
57
-                        "even if they are alphas or betas."))
58
-parser.add_option("-c", "--config-file",
59
-                  help=("Specify the path to the buildout configuration "
60
-                        "file to be used."))
61
-parser.add_option("-f", "--find-links",
62
-                  help=("Specify a URL to search for buildout releases"))
63
-parser.add_option("--allow-site-packages",
64
-                  action="store_true", default=False,
65
-                  help=("Let bootstrap.py use existing site packages"))
66
-parser.add_option("--buildout-version",
67
-                  help="Use a specific zc.buildout version")
68
-parser.add_option("--setuptools-version",
69
-                  help="Use a specific setuptools version")
70
-parser.add_option("--setuptools-to-dir",
71
-                  help=("Allow for re-use of existing directory of "
72
-                        "setuptools versions"))
73
-
74
-options, args = parser.parse_args()
75
-if options.version:
76
-    print("bootstrap.py version %s" % __version__)
77
-    sys.exit(0)
78
-
79
-
80
-######################################################################
81
-# load/install setuptools
82
-
83
-try:
84
-    from urllib.request import urlopen
85
-except ImportError:
86
-    from urllib2 import urlopen
87
-
88
-ez = {}
89
-if os.path.exists('ez_setup.py'):
90
-    exec(open('ez_setup.py').read(), ez)
91
-else:
92
-    exec(urlopen('https://bootstrap.pypa.io/ez_setup.py').read(), ez)
93
-
94
-if not options.allow_site_packages:
95
-    # ez_setup imports site, which adds site packages
96
-    # this will remove them from the path to ensure that incompatible versions
97
-    # of setuptools are not in the path
98
-    import site
99
-    # inside a virtualenv, there is no 'getsitepackages'.
100
-    # We can't remove these reliably
101
-    if hasattr(site, 'getsitepackages'):
102
-        for sitepackage_path in site.getsitepackages():
103
-            # Strip all site-packages directories from sys.path that
104
-            # are not sys.prefix; this is because on Windows
105
-            # sys.prefix is a site-package directory.
106
-            if sitepackage_path != sys.prefix:
107
-                sys.path[:] = [x for x in sys.path
108
-                               if sitepackage_path not in x]
109
-
110
-setup_args = dict(to_dir=tmpeggs, download_delay=0)
111
-
112
-if options.setuptools_version is not None:
113
-    setup_args['version'] = options.setuptools_version
114
-if options.setuptools_to_dir is not None:
115
-    setup_args['to_dir'] = options.setuptools_to_dir
116
-
117
-ez['use_setuptools'](**setup_args)
118
-import setuptools
119
-import pkg_resources
120
-
121
-# This does not (always?) update the default working set.  We will
122
-# do it.
123
-for path in sys.path:
124
-    if path not in pkg_resources.working_set.entries:
125
-        pkg_resources.working_set.add_entry(path)
126
-
127
-######################################################################
128
-# Install buildout
129
-
130
-ws = pkg_resources.working_set
131
-
132
-setuptools_path = ws.find(
133
-    pkg_resources.Requirement.parse('setuptools')).location
134
-
135
-# Fix sys.path here as easy_install.pth added before PYTHONPATH
136
-cmd = [sys.executable, '-c',
137
-       'import sys; sys.path[0:0] = [%r]; ' % setuptools_path +
138
-       'from setuptools.command.easy_install import main; main()',
139
-       '-mZqNxd', tmpeggs]
140
-
141
-find_links = os.environ.get(
142
-    'bootstrap-testing-find-links',
143
-    options.find_links or
144
-    ('http://downloads.buildout.org/'
145
-     if options.accept_buildout_test_releases else None)
146
-    )
147
-if find_links:
148
-    cmd.extend(['-f', find_links])
149
-
150
-requirement = 'zc.buildout'
151
-version = options.buildout_version
152
-if version is None and not options.accept_buildout_test_releases:
153
-    # Figure out the most recent final version of zc.buildout.
154
-    import setuptools.package_index
155
-    _final_parts = '*final-', '*final'
156
-
157
-    def _final_version(parsed_version):
158
-        try:
159
-            return not parsed_version.is_prerelease
160
-        except AttributeError:
161
-            # Older setuptools
162
-            for part in parsed_version:
163
-                if (part[:1] == '*') and (part not in _final_parts):
164
-                    return False
165
-            return True
166
-
167
-    index = setuptools.package_index.PackageIndex(
168
-        search_path=[setuptools_path])
169
-    if find_links:
170
-        index.add_find_links((find_links,))
171
-    req = pkg_resources.Requirement.parse(requirement)
172
-    if index.obtain(req) is not None:
173
-        best = []
174
-        bestv = None
175
-        for dist in index[req.project_name]:
176
-            distv = dist.parsed_version
177
-            if _final_version(distv):
178
-                if bestv is None or distv > bestv:
179
-                    best = [dist]
180
-                    bestv = distv
181
-                elif distv == bestv:
182
-                    best.append(dist)
183
-        if best:
184
-            best.sort()
185
-            version = best[-1].version
186
-if version:
187
-    requirement = '=='.join((requirement, version))
188
-cmd.append(requirement)
189
-
190
-import subprocess
191
-if subprocess.call(cmd) != 0:
192
-    raise Exception(
193
-        "Failed to execute command:\n%s" % repr(cmd)[1:-1])
194
-
195
-######################################################################
196
-# Import and run buildout
197
-
198
-ws.add_entry(tmpeggs)
199
-ws.require(requirement)
200
-import zc.buildout.buildout
201
-
202
-if not [a for a in args if '=' not in a]:
203
-    args.append('bootstrap')
204
-
205
-# if -c was provided, we push it back into args for buildout' main function
206
-if options.config_file is not None:
207
-    args[0:0] = ['-c', options.config_file]
208
-
209
-zc.buildout.buildout.main(args)
210
-shutil.rmtree(tmpeggs)

+ 0
- 30
buildout.cfg View File

@@ -1,30 +0,0 @@
1
-[buildout]
2
-extends = base.cfg
3
-develop = .
4
-
5
-eggs =
6
-    searx [test]
7
-
8
-parts +=
9
-    pyscripts
10
-    robot
11
-    test
12
-
13
-
14
-[pyscripts]
15
-recipe = zc.recipe.egg:script
16
-eggs = ${buildout:eggs}
17
-interpreter = py
18
-dependent-scripts = true
19
-
20
-
21
-[robot]
22
-recipe = zc.recipe.testrunner
23
-eggs = ${buildout:eggs}
24
-defaults = ['--color', '--auto-progress', '--layer', 'SearxRobotLayer']
25
-
26
-
27
-[test]
28
-recipe = zc.recipe.testrunner
29
-eggs = ${buildout:eggs}
30
-defaults = ['--color', '--auto-progress', '--layer', 'SearxTestLayer', '--layer', '!SearxRobotLayer']

+ 70
- 0
manage.sh View File

@@ -0,0 +1,70 @@
1
+#!/bin/sh
2
+
3
+BASE_DIR=$(dirname `readlink -f $0`)
4
+PYTHONPATH=$BASE_DIR
5
+SEARX_DIR="$BASE_DIR/searx"
6
+ACTION=$1
7
+
8
+update_packages() {
9
+    pip install --upgrade -r "$BASE_DIR/requirements.txt"
10
+}
11
+
12
+update_dev_packages() {
13
+    pip install --upgrade -r "$BASE_DIR/requirements-dev.txt"
14
+}
15
+
16
+pep8_check() {
17
+    echo '[!] Running pep8 check'
18
+    pep8 "$SEARX_DIR" "$BASE_DIR/tests"
19
+}
20
+
21
+unit_tests() {
22
+    echo '[!] Running unit tests'
23
+    python -m nose2 -s "$BASE_DIR/tests/unit"
24
+}
25
+
26
+py_test_coverage() {
27
+    echo '[!] Running python test coverage'
28
+    PYTHONPATH=`pwd` python -m nose2 -C --coverage "$SEARX_DIR" -s "$BASE_DIR/tests/unit"
29
+    coverage report
30
+    coverage html
31
+}
32
+
33
+robot_tests() {
34
+    echo '[!] Running robot tests'
35
+    python -c "import zope.testrunner; import sys; sys.exit(zope.testrunner.run("\
36
+"['--color', '--auto-progress', '--layer', 'SearxRobotLayer', '--test-path', '$BASE_DIR']))"
37
+}
38
+
39
+tests() {
40
+    set -e
41
+    pep8_check
42
+    unit_tests
43
+    robot_tests
44
+    set +e
45
+}
46
+
47
+build_style() {
48
+    lessc -x "$BASE_DIR/searx/static/$1" "$BASE_DIR/searx/static/$2"
49
+}
50
+
51
+styles() {
52
+    echo '[!] Building styles'
53
+	build_style themes/default/less/style.less themes/default/css/style.css
54
+	build_style themes/default/less/style-rtl.less themes/default/css/style-rtl.css
55
+	build_style themes/courgette/less/style.less themes/courgette/css/style.css
56
+	build_style themes/courgette/less/style-rtl.less themes/courgette/css/style-rtl.css
57
+	build_style less/bootstrap/bootstrap.less css/bootstrap.min.css
58
+	build_style themes/oscar/less/oscar/oscar.less themes/oscar/css/oscar.min.css
59
+	build_style themes/pix-art/less/style.less themes/pix-art/css/style.css
60
+}
61
+
62
+grunt() {
63
+	grunt --gruntfile "$SEARX_DIR/static/themes/oscar/gruntfile.js"
64
+}
65
+
66
+locales() {
67
+	pybabel compile -d "$SEARX_DIR/translations"
68
+}
69
+
70
+$ACTION

+ 0
- 15
minimal.cfg View File

@@ -1,15 +0,0 @@
1
-[buildout]
2
-extends = base.cfg
3
-develop = .
4
-
5
-eggs =
6
-    searx
7
-
8
-parts +=
9
-    pyscripts
10
-
11
-
12
-[pyscripts]
13
-recipe = zc.recipe.egg:script
14
-eggs = ${buildout:eggs}
15
-interpreter = py

+ 0
- 34
production.cfg View File

@@ -1,34 +0,0 @@
1
-[buildout]
2
-extends = base.cfg
3
-develop = .
4
-
5
-eggs =
6
-    searx
7
-
8
-parts +=
9
-    pyscripts
10
-    supervisor
11
-    crontab_reboot
12
-
13
-
14
-[pyscripts]
15
-recipe = zc.recipe.egg:script
16
-eggs = ${buildout:eggs}
17
-interpreter = py
18
-
19
-
20
-[supervisor]
21
-recipe = collective.recipe.supervisor
22
-http-socket = unix
23
-user = searxer
24
-password = ohpleasedochangeme
25
-file = /tmp/supervisor.sock
26
-chmod = 0700
27
-programs =
28
-    50 searx    ${buildout:bin-directory}/searx-run
29
-
30
-
31
-[crontab_reboot]
32
-recipe = z3c.recipe.usercrontab
33
-times = @reboot
34
-command = ${buildout:bin-directory}/supervisord

+ 9
- 0
requirements-dev.txt View File

@@ -0,0 +1,9 @@
1
+flake8==2.5.1
2
+mock==1.0.1
3
+nose2==0.4.7
4
+nose2[coverage-plugin]
5
+plone.testing==4.0.15
6
+robotframework-selenium2library==1.7.4
7
+robotsuite==1.7.0
8
+unittest2==1.1.0
9
+zope.testrunner==4.4.10

+ 0
- 45
searx/tests/test_engines.py View File

@@ -1,45 +0,0 @@
1
-from searx.tests.engines.test_bing import *  # noqa
2
-from searx.tests.engines.test_bing_images import *  # noqa
3
-from searx.tests.engines.test_bing_news import *  # noqa
4
-from searx.tests.engines.test_blekko_images import *  # noqa
5
-from searx.tests.engines.test_btdigg import *  # noqa
6
-from searx.tests.engines.test_currency_convert import *  # noqa
7
-from searx.tests.engines.test_dailymotion import *  # noqa
8
-from searx.tests.engines.test_deezer import *  # noqa
9
-from searx.tests.engines.test_deviantart import *  # noqa
10
-from searx.tests.engines.test_digg import *  # noqa
11
-from searx.tests.engines.test_duckduckgo import *  # noqa
12
-from searx.tests.engines.test_duckduckgo_definitions import *  # noqa
13
-from searx.tests.engines.test_dummy import *  # noqa
14
-from searx.tests.engines.test_faroo import *  # noqa
15
-from searx.tests.engines.test_flickr import *  # noqa
16
-from searx.tests.engines.test_flickr_noapi import *  # noqa
17
-from searx.tests.engines.test_gigablast import *  # noqa
18
-from searx.tests.engines.test_github import *  # noqa
19
-from searx.tests.engines.test_google import *  # noqa
20
-from searx.tests.engines.test_google_images import *  # noqa
21
-from searx.tests.engines.test_google_news import *  # noqa
22
-from searx.tests.engines.test_kickass import *  # noqa
23
-from searx.tests.engines.test_mediawiki import *  # noqa
24
-from searx.tests.engines.test_mixcloud import *  # noqa
25
-from searx.tests.engines.test_openstreetmap import *  # noqa
26
-from searx.tests.engines.test_photon import *  # noqa
27
-from searx.tests.engines.test_piratebay import *  # noqa
28
-from searx.tests.engines.test_qwant import *  # noqa
29
-from searx.tests.engines.test_searchcode_code import *  # noqa
30
-from searx.tests.engines.test_searchcode_doc import *  # noqa
31
-from searx.tests.engines.test_soundcloud import *  # noqa
32
-from searx.tests.engines.test_spotify import *  # noqa
33
-from searx.tests.engines.test_stackoverflow import *  # noqa
34
-from searx.tests.engines.test_startpage import *  # noqa
35
-from searx.tests.engines.test_subtitleseeker import *  # noqa
36
-from searx.tests.engines.test_swisscows import *  # noqa
37
-from searx.tests.engines.test_twitter import *  # noqa
38
-from searx.tests.engines.test_vimeo import *  # noqa
39
-from searx.tests.engines.test_www1x import *  # noqa
40
-from searx.tests.engines.test_www500px import *  # noqa
41
-from searx.tests.engines.test_yacy import *  # noqa
42
-from searx.tests.engines.test_yahoo import *  # noqa
43
-from searx.tests.engines.test_youtube_api import *  # noqa
44
-from searx.tests.engines.test_youtube_noapi import *  # noqa
45
-from searx.tests.engines.test_yahoo_news import *  # noqa

searx/tests/robot/__init__.py → tests/__init__.py View File


searx/tests/engines/__init__.py → tests/robot/__init__.py View File


searx/tests/robot/test_basic.robot → tests/robot/test_basic.robot View File


searx/tests/test_robot.py → tests/test_robot.py View File


searx/tests/__init__.py → tests/unit/__init__.py View File


+ 0
- 0
tests/unit/engines/__init__.py View File


searx/tests/engines/test_bing.py → tests/unit/engines/test_bing.py View File


searx/tests/engines/test_bing_images.py → tests/unit/engines/test_bing_images.py View File


searx/tests/engines/test_bing_news.py → tests/unit/engines/test_bing_news.py View File


searx/tests/engines/test_blekko_images.py → tests/unit/engines/test_blekko_images.py View File


searx/tests/engines/test_btdigg.py → tests/unit/engines/test_btdigg.py View File


searx/tests/engines/test_currency_convert.py → tests/unit/engines/test_currency_convert.py View File


searx/tests/engines/test_dailymotion.py → tests/unit/engines/test_dailymotion.py View File


searx/tests/engines/test_deezer.py → tests/unit/engines/test_deezer.py View File


searx/tests/engines/test_deviantart.py → tests/unit/engines/test_deviantart.py View File


searx/tests/engines/test_digg.py → tests/unit/engines/test_digg.py View File


searx/tests/engines/test_duckduckgo.py → tests/unit/engines/test_duckduckgo.py View File


searx/tests/engines/test_duckduckgo_definitions.py → tests/unit/engines/test_duckduckgo_definitions.py View File


searx/tests/engines/test_dummy.py → tests/unit/engines/test_dummy.py View File


searx/tests/engines/test_faroo.py → tests/unit/engines/test_faroo.py View File


searx/tests/engines/test_flickr.py → tests/unit/engines/test_flickr.py View File


searx/tests/engines/test_flickr_noapi.py → tests/unit/engines/test_flickr_noapi.py View File


searx/tests/engines/test_gigablast.py → tests/unit/engines/test_gigablast.py View File


searx/tests/engines/test_github.py → tests/unit/engines/test_github.py View File


searx/tests/engines/test_google.py → tests/unit/engines/test_google.py View File


searx/tests/engines/test_google_images.py → tests/unit/engines/test_google_images.py View File


searx/tests/engines/test_google_news.py → tests/unit/engines/test_google_news.py View File


searx/tests/engines/test_kickass.py → tests/unit/engines/test_kickass.py View File


searx/tests/engines/test_mediawiki.py → tests/unit/engines/test_mediawiki.py View File


searx/tests/engines/test_mixcloud.py → tests/unit/engines/test_mixcloud.py View File


searx/tests/engines/test_openstreetmap.py → tests/unit/engines/test_openstreetmap.py View File


searx/tests/engines/test_photon.py → tests/unit/engines/test_photon.py View File


searx/tests/engines/test_piratebay.py → tests/unit/engines/test_piratebay.py View File


searx/tests/engines/test_qwant.py → tests/unit/engines/test_qwant.py View File


searx/tests/engines/test_searchcode_code.py → tests/unit/engines/test_searchcode_code.py View File


searx/tests/engines/test_searchcode_doc.py → tests/unit/engines/test_searchcode_doc.py View File


searx/tests/engines/test_soundcloud.py → tests/unit/engines/test_soundcloud.py View File


searx/tests/engines/test_spotify.py → tests/unit/engines/test_spotify.py View File


searx/tests/engines/test_stackoverflow.py → tests/unit/engines/test_stackoverflow.py View File


searx/tests/engines/test_startpage.py → tests/unit/engines/test_startpage.py View File


searx/tests/engines/test_subtitleseeker.py → tests/unit/engines/test_subtitleseeker.py View File


searx/tests/engines/test_swisscows.py → tests/unit/engines/test_swisscows.py View File


searx/tests/engines/test_twitter.py → tests/unit/engines/test_twitter.py View File


searx/tests/engines/test_vimeo.py → tests/unit/engines/test_vimeo.py View File


searx/tests/engines/test_www1x.py → tests/unit/engines/test_www1x.py View File


searx/tests/engines/test_www500px.py → tests/unit/engines/test_www500px.py View File


searx/tests/engines/test_yacy.py → tests/unit/engines/test_yacy.py View File


searx/tests/engines/test_yahoo.py → tests/unit/engines/test_yahoo.py View File


searx/tests/engines/test_yahoo_news.py → tests/unit/engines/test_yahoo_news.py View File


searx/tests/engines/test_youtube_api.py → tests/unit/engines/test_youtube_api.py View File


searx/tests/engines/test_youtube_noapi.py → tests/unit/engines/test_youtube_noapi.py View File


searx/tests/test_plugins.py → tests/unit/test_plugins.py View File


searx/tests/test_results.py → tests/unit/test_results.py View File


searx/tests/test_search.py → tests/unit/test_search.py View File


searx/tests/test_utils.py → tests/unit/test_utils.py View File


searx/tests/test_webapp.py → tests/unit/test_webapp.py View File


+ 0
- 122
versions.cfg View File

@@ -1,122 +0,0 @@
1
-[versions]
2
-Babel = 1.3
3
-Flask = 0.10.1
4
-Flask-Babel = 0.9
5
-Jinja2 = 2.7.3
6
-MarkupSafe = 0.23
7
-Pygments = 2.0.2
8
-WebOb = 1.4.1
9
-WebTest = 2.0.18
10
-Werkzeug = 0.10.4
11
-collective.recipe.omelette = 0.16
12
-coverage = 3.7.1
13
-decorator = 3.4.2
14
-docutils = 0.12
15
-flake8 = 2.4.1
16
-itsdangerous = 0.24
17
-mccabe = 0.3.1
18
-mock = 1.0.1
19
-pep8 = 1.5.7
20
-plone.testing = 4.0.13
21
-pyflakes = 0.8.1
22
-pytz = 2015.4
23
-pyyaml = 3.11
24
-requests = 2.7.0
25
-robotframework-debuglibrary = 0.3
26
-robotframework-httplibrary = 0.4.2
27
-robotframework-selenium2library = 1.7.1
28
-robotsuite = 1.6.1
29
-selenium = 2.46.0
30
-speaklater = 1.3
31
-unittest2 = 1.0.1
32
-waitress = 0.8.9
33
-zc.recipe.testrunner = 2.0.0
34
-pyopenssl = 0.15.1
35
-ndg-httpsclient = 0.4.0
36
-pyasn1 = 0.1.8
37
-pyasn1-modules = 0.0.6
38
-certifi = 2015.11.20.1
39
-
40
-cffi = 1.1.2
41
-cryptography = 0.9.1
42
-
43
-# Required by:
44
-# robotsuite==1.6.1
45
-# searx==0.7.0
46
-lxml = 3.4.4
47
-
48
-# Required by:
49
-# searx==0.7.0
50
-python-dateutil = 2.4.2
51
-
52
-# Required by:
53
-# searx==0.7.0
54
-# zope.exceptions==4.0.7
55
-# zope.interface==4.1.2
56
-# zope.testrunner==4.4.9
57
-setuptools = 18.0.1
58
-
59
-# Required by:
60
-# WebTest==2.0.18
61
-beautifulsoup4 = 4.3.2
62
-
63
-# Required by:
64
-# cryptography==0.9.1
65
-enum34 = 1.0.4
66
-
67
-# Required by:
68
-# cryptography==0.9.1
69
-idna = 2.0
70
-
71
-# Required by:
72
-# cryptography==0.9.1
73
-ipaddress = 1.0.7
74
-
75
-# Required by:
76
-# robotframework-httplibrary==0.4.2
77
-jsonpatch = 1.11
78
-
79
-# Required by:
80
-# robotframework-httplibrary==0.4.2
81
-jsonpointer = 1.9
82
-
83
-# Required by:
84
-# traceback2==1.4.0
85
-linecache2 = 1.0.0
86
-
87
-# Required by:
88
-# cffi==1.1.2
89
-pycparser = 2.12
90
-
91
-# Required by:
92
-# robotframework-httplibrary==0.4.2
93
-robotframework = 2.8.7
94
-
95
-# Required by:
96
-# robotsuite==1.6.1
97
-# zope.testrunner==4.4.9
98
-six = 1.9.0
99
-
100
-# Required by:
101
-# unittest2==1.0.1
102
-traceback2 = 1.4.0
103
-
104
-# Required by:
105
-# collective.recipe.omelette==0.16
106
-zc.recipe.egg = 2.0.1
107
-
108
-# Required by:
109
-# zope.testrunner==4.4.9
110
-zope.exceptions = 4.0.7
111
-
112
-# Required by:
113
-# zope.testrunner==4.4.9
114
-zope.interface = 4.1.2
115
-
116
-# Required by:
117
-# plone.testing==4.0.13
118
-zope.testing = 4.2.0
119
-
120
-# Required by:
121
-# zc.recipe.testrunner==2.0.0
122
-zope.testrunner = 4.4.9