beremiz

cleanup pyc files between running pytest

2018-10-05, Andrey Skvortsov
925adaa2cd5c
cleanup pyc files between running pytest

this is need to avoid problem sometimes tests are run inside docker
container and sometimes local.

Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/_pytest/config/__init__.py", line 409, in _importconftest
mod = conftestpath.pyimport()
File "/usr/lib/python2.7/dist-packages/py/_path/local.py", line 686, in pyimport
raise self.ImportMismatchError(modname, modfile, self)
ImportMismatchError: ('conftest', '/beremiz/tests/tools/conftest.py', local('/home/developer/beremiz/tests/tools/conftest.py'))
ERROR: could not load /home/developer/beremiz/tests/tools/conftest.py
from __future__ import absolute_import
import sys
import gluon.contrib.simplejson as simplejson
class JSONRPCServiceBase(object):
def __init__(self):
self.methods = {}
def response(self, id, result):
return simplejson.dumps({'version': '1.1', 'id': id,
'result': result, 'error': None})
def error(self, id, code, message):
return simplejson.dumps({
'id': id,
'version': '1.1',
'error': {'name': 'JSONRPCError',
'code': code,
'message': message}
})
def add_method(self, name, method):
self.methods[name] = method
def process(self, data):
data = simplejson.loads(data)
id, method, params = data["id"], data["method"], data["params"]
if method in self.methods:
try:
result = self.methods[method](*params)
return self.response(id, result)
except Exception:
etype, eval, _etb = sys.exc_info()
return self.error(id, 100, 'Exception %s: %s' % (etype, eval))
except BaseException:
etype, eval, _etb = sys.exc_info()
return self.error(id, 100, '%s: %s' % (etype.__name__, eval))
else:
return self.error(id, 100, 'method "%s" does not exist' % method)
def listmethods(self):
return self.methods.keys()