Tests: improving get_application_type() and fixing its name.
This patch also enables multiversion tests running for Java.
This commit is contained in:
@@ -75,7 +75,9 @@ def skip_alert(*alerts):
|
||||
|
||||
def pytest_generate_tests(metafunc):
|
||||
cls = metafunc.cls
|
||||
if not hasattr(cls, 'application_type'):
|
||||
if (not hasattr(cls, 'application_type')
|
||||
or cls.application_type == None
|
||||
or cls.application_type == 'external'):
|
||||
return
|
||||
|
||||
type = cls.application_type
|
||||
|
||||
@@ -9,6 +9,8 @@ from unit.applications.proto import TestApplicationProto
|
||||
|
||||
|
||||
class TestApplicationJava(TestApplicationProto):
|
||||
application_type = "java"
|
||||
|
||||
def prepare_env(self, script):
|
||||
app_path = option.temp_dir + '/java'
|
||||
web_inf_path = app_path + '/WEB-INF/'
|
||||
@@ -84,7 +86,7 @@ class TestApplicationJava(TestApplicationProto):
|
||||
"applications": {
|
||||
script: {
|
||||
"unit_jars": option.current_dir + '/build',
|
||||
"type": 'java',
|
||||
"type": self.get_application_type(),
|
||||
"processes": {"spare": 0},
|
||||
"working_directory": option.test_dir
|
||||
+ '/java/'
|
||||
|
||||
@@ -7,17 +7,13 @@ class TestApplicationPerl(TestApplicationProto):
|
||||
|
||||
def load(self, script, name='psgi.pl', **kwargs):
|
||||
script_path = option.test_dir + '/perl/' + script
|
||||
appication_type = self.get_appication_type()
|
||||
|
||||
if appication_type is None:
|
||||
appication_type = self.application_type
|
||||
|
||||
self._load_conf(
|
||||
{
|
||||
"listeners": {"*:7080": {"pass": "applications/" + script}},
|
||||
"applications": {
|
||||
script: {
|
||||
"type": appication_type,
|
||||
"type": self.get_application_type(),
|
||||
"processes": {"spare": 0},
|
||||
"working_directory": script_path,
|
||||
"script": script_path + '/' + name,
|
||||
|
||||
@@ -7,17 +7,13 @@ class TestApplicationPHP(TestApplicationProto):
|
||||
|
||||
def load(self, script, index='index.php', **kwargs):
|
||||
script_path = option.test_dir + '/php/' + script
|
||||
appication_type = self.get_appication_type()
|
||||
|
||||
if appication_type is None:
|
||||
appication_type = self.application_type
|
||||
|
||||
self._load_conf(
|
||||
{
|
||||
"listeners": {"*:7080": {"pass": "applications/" + script}},
|
||||
"applications": {
|
||||
script: {
|
||||
"type": appication_type,
|
||||
"type": self.get_application_type(),
|
||||
"processes": {"spare": 0},
|
||||
"root": script_path,
|
||||
"working_directory": script_path,
|
||||
|
||||
@@ -34,11 +34,6 @@ class TestApplicationPython(TestApplicationProto):
|
||||
|
||||
script_path = '/app/python/' + name
|
||||
|
||||
appication_type = self.get_appication_type()
|
||||
|
||||
if appication_type is None:
|
||||
appication_type = self.application_type
|
||||
|
||||
self._load_conf(
|
||||
{
|
||||
"listeners": {
|
||||
@@ -46,7 +41,7 @@ class TestApplicationPython(TestApplicationProto):
|
||||
},
|
||||
"applications": {
|
||||
name: {
|
||||
"type": appication_type,
|
||||
"type": self.get_application_type(),
|
||||
"processes": {"spare": 0},
|
||||
"path": script_path,
|
||||
"working_directory": script_path,
|
||||
|
||||
@@ -7,17 +7,13 @@ class TestApplicationRuby(TestApplicationProto):
|
||||
|
||||
def load(self, script, name='config.ru', **kwargs):
|
||||
script_path = option.test_dir + '/ruby/' + script
|
||||
appication_type = self.get_appication_type()
|
||||
|
||||
if appication_type is None:
|
||||
appication_type = self.application_type
|
||||
|
||||
self._load_conf(
|
||||
{
|
||||
"listeners": {"*:7080": {"pass": "applications/" + script}},
|
||||
"applications": {
|
||||
script: {
|
||||
"type": appication_type,
|
||||
"type": self.get_application_type(),
|
||||
"processes": {"spare": 0},
|
||||
"working_directory": script_path,
|
||||
"script": script_path + '/' + name,
|
||||
|
||||
@@ -7,6 +7,8 @@ from unit.control import TestControl
|
||||
|
||||
|
||||
class TestApplicationProto(TestControl):
|
||||
application_type = None
|
||||
|
||||
def sec_epoch(self):
|
||||
return time.mktime(time.gmtime())
|
||||
|
||||
@@ -28,15 +30,12 @@ class TestApplicationProto(TestControl):
|
||||
|
||||
return found
|
||||
|
||||
def get_appication_type(self):
|
||||
def get_application_type(self):
|
||||
current_test = (
|
||||
os.environ.get('PYTEST_CURRENT_TEST').split(':')[-1].split(' ')[0]
|
||||
)
|
||||
|
||||
if current_test in option.generated_tests:
|
||||
return option.generated_tests[current_test]
|
||||
|
||||
return None
|
||||
return option.generated_tests.get(current_test, self.application_type)
|
||||
|
||||
def _load_conf(self, conf, **kwargs):
|
||||
if 'applications' in conf:
|
||||
|
||||
Reference in New Issue
Block a user