__init__.py 2.96 KB
Newer Older
André Anjos's avatar
André Anjos committed
1
2
#!/usr/bin/env python
# vim: set fileencoding=utf-8 :
André Anjos's avatar
André Anjos committed
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67

###############################################################################
#                                                                             #
# Copyright (c) 2016 Idiap Research Institute, http://www.idiap.ch/           #
# Contact: beat.support@idiap.ch                                              #
#                                                                             #
# This file is part of the beat.cmdline module of the BEAT platform.          #
#                                                                             #
# Commercial License Usage                                                    #
# Licensees holding valid commercial BEAT licenses may use this file in       #
# accordance with the terms contained in a written agreement between you      #
# and Idiap. For further information contact tto@idiap.ch                     #
#                                                                             #
# Alternatively, this file may be used under the terms of the GNU Affero      #
# Public License version 3 as published by the Free Software and appearing    #
# in the file LICENSE.AGPL included in the packaging of this file.            #
# The BEAT platform is distributed in the hope that it will be useful, but    #
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY  #
# or FITNESS FOR A PARTICULAR PURPOSE.                                        #
#                                                                             #
# You should have received a copy of the GNU Affero Public License along      #
# with the BEAT platform. If not, see http://www.gnu.org/licenses/.           #
#                                                                             #
###############################################################################

# Basic setup for command test

import os

import six.moves.urllib as urllib

from beat.core.test import prefix, tmp_prefix, teardown_package

platform = os.environ.get('BEAT_CMDLINE_TEST_PLATFORM', '')

disconnected = True
if platform:

  # the special name 'django' makes as believe it is connected
  if platform.startswith('django://'):
    # sets up django infrastructure, preloads test data
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', platform[9:])
    import django
    django.setup()

    # presets django database for tests
    from django.core.management import call_command
    call_command('install', 'test', interactive=False, verbose=1)

    disconnected = False

  else: #test it, actually
    # some patching to prevent common problems
    if not platform.endswith('/'): platform += '/'
    if not platform.startswith('http'): platform = 'http://' + platform
    try:
      code = urllib.request.urlopen(platform).getcode()
      disconnected = code != 200
    except IOError, urllib.URLError:
      disconnected = True
else:
  platform = 'User did not set $BEAT_CMDLINE_TEST_PLATFORM'

user = 'user'
token = '4'