new frontend: weboobtests
This commit is contained in:
parent
d8824c99d6
commit
76e0cbe2ba
4 changed files with 92 additions and 0 deletions
23
scripts/weboob-tests
Executable file
23
scripts/weboob-tests
Executable file
|
|
@ -0,0 +1,23 @@
|
|||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
# vim: ft=python et softtabstop=4 cinoptions=4 shiftwidth=4 ts=4 ai
|
||||
|
||||
# Copyright(C) 2010 Romain Bignon
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, version 3 of the License.
|
||||
#
|
||||
# This program 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. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
from weboob.frontends.weboobtests import WeboobTests
|
||||
|
||||
if __name__ == '__main__':
|
||||
WeboobTests.run()
|
||||
|
|
@ -69,6 +69,8 @@ class BaseBackend(object):
|
|||
STORAGE = {}
|
||||
# Browser class
|
||||
BROWSER = None
|
||||
# Test class
|
||||
TEST = None
|
||||
|
||||
class ConfigField(object):
|
||||
def __init__(self, default=None, is_masked=False, regexp=None, description=None):
|
||||
|
|
@ -157,3 +159,8 @@ class BaseBackend(object):
|
|||
if isinstance(self, c):
|
||||
return True
|
||||
return False
|
||||
|
||||
def get_test(self):
|
||||
if not self.TEST:
|
||||
return None
|
||||
return self.TEST(self)
|
||||
|
|
|
|||
18
weboob/frontends/weboobtests/__init__.py
Normal file
18
weboob/frontends/weboobtests/__init__.py
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright(C) 2010 Romain Bignon
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, version 3 of the License.
|
||||
#
|
||||
# This program 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. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
from .weboobtests import WeboobTests
|
||||
44
weboob/frontends/weboobtests/weboobtests.py
Normal file
44
weboob/frontends/weboobtests/weboobtests.py
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright(C) 2010 Romain Bignon
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, version 3 of the License.
|
||||
#
|
||||
# This program 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. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
from nose import run
|
||||
|
||||
from weboob.tools.application import ConsoleApplication
|
||||
|
||||
__all__ = ['WeboobTests']
|
||||
|
||||
|
||||
class WeboobTests(ConsoleApplication):
|
||||
APPNAME = 'weboobtests'
|
||||
VERSION = '1.0'
|
||||
COPYRIGHT = 'Copyright(C) 2010 Romain Bignon'
|
||||
|
||||
def main(self, argv):
|
||||
return self.process_command(*argv[1:])
|
||||
|
||||
@ConsoleApplication.command('Run tests')
|
||||
def command_run(self):
|
||||
self.load_modules()
|
||||
self.load_backends()
|
||||
|
||||
suite = []
|
||||
for backend in self.weboob.iter_backends():
|
||||
t = backend.get_test()
|
||||
if t:
|
||||
suite.append(t)
|
||||
|
||||
return run(suite=suite)
|
||||
Loading…
Add table
Add a link
Reference in a new issue