summaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorMax Romanov <max.romanov@nginx.com>2020-10-28 00:01:46 +0300
committerMax Romanov <max.romanov@nginx.com>2020-10-28 00:01:46 +0300
commit6a00bab41e2ebffe5f61f6fb9641162624db41d1 (patch)
tree05859e0a76d323a7333bea0ef6086bd07e8f0656 /test
parentf007ad4dcfee0037cd86bf31804795e5f60cb2d9 (diff)
downloadunit-6a00bab41e2ebffe5f61f6fb9641162624db41d1.tar.gz
unit-6a00bab41e2ebffe5f61f6fb9641162624db41d1.tar.bz2
Tests: improving get_application_type() and fixing its name.
This patch also enables multiversion tests running for Java.
Diffstat (limited to 'test')
-rw-r--r--test/conftest.py4
-rw-r--r--test/unit/applications/lang/java.py4
-rw-r--r--test/unit/applications/lang/perl.py6
-rw-r--r--test/unit/applications/lang/php.py6
-rw-r--r--test/unit/applications/lang/python.py7
-rw-r--r--test/unit/applications/lang/ruby.py6
-rw-r--r--test/unit/applications/proto.py9
7 files changed, 14 insertions, 28 deletions
diff --git a/test/conftest.py b/test/conftest.py
index 0b9adf69..41d1bf00 100644
--- a/test/conftest.py
+++ b/test/conftest.py
@@ -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
diff --git a/test/unit/applications/lang/java.py b/test/unit/applications/lang/java.py
index 0aa1a7af..fe0dde7a 100644
--- a/test/unit/applications/lang/java.py
+++ b/test/unit/applications/lang/java.py
@@ -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/'
diff --git a/test/unit/applications/lang/perl.py b/test/unit/applications/lang/perl.py
index a27c7649..9dc24ace 100644
--- a/test/unit/applications/lang/perl.py
+++ b/test/unit/applications/lang/perl.py
@@ -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,
diff --git a/test/unit/applications/lang/php.py b/test/unit/applications/lang/php.py
index 2d50df2e..619dfc93 100644
--- a/test/unit/applications/lang/php.py
+++ b/test/unit/applications/lang/php.py
@@ -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,
diff --git a/test/unit/applications/lang/python.py b/test/unit/applications/lang/python.py
index a4a27bb9..374b0f9c 100644
--- a/test/unit/applications/lang/python.py
+++ b/test/unit/applications/lang/python.py
@@ -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,
diff --git a/test/unit/applications/lang/ruby.py b/test/unit/applications/lang/ruby.py
index bc3cefc6..82d66e65 100644
--- a/test/unit/applications/lang/ruby.py
+++ b/test/unit/applications/lang/ruby.py
@@ -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,
diff --git a/test/unit/applications/proto.py b/test/unit/applications/proto.py
index 9a0361d5..6e760c70 100644
--- a/test/unit/applications/proto.py
+++ b/test/unit/applications/proto.py
@@ -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: