Tests: run Ruby applications inside temporary directory.
This commit is contained in:
@@ -35,13 +35,6 @@ class TestRubyIsolation(TestApplicationRuby):
|
|||||||
'pid': True,
|
'pid': True,
|
||||||
}
|
}
|
||||||
|
|
||||||
os.mkdir(option.temp_dir + '/ruby')
|
|
||||||
|
|
||||||
shutil.copytree(
|
|
||||||
option.test_dir + '/ruby/status_int',
|
|
||||||
option.temp_dir + '/ruby/status_int',
|
|
||||||
)
|
|
||||||
|
|
||||||
self.load('status_int', isolation=isolation)
|
self.load('status_int', isolation=isolation)
|
||||||
|
|
||||||
assert 'success' in self.conf(
|
assert 'success' in self.conf(
|
||||||
|
|||||||
@@ -1,12 +1,26 @@
|
|||||||
|
import os
|
||||||
|
import shutil
|
||||||
|
|
||||||
from unit.applications.proto import TestApplicationProto
|
from unit.applications.proto import TestApplicationProto
|
||||||
from unit.option import option
|
from unit.option import option
|
||||||
|
from unit.utils import public_dir
|
||||||
|
|
||||||
|
|
||||||
class TestApplicationRuby(TestApplicationProto):
|
class TestApplicationRuby(TestApplicationProto):
|
||||||
application_type = "ruby"
|
application_type = "ruby"
|
||||||
|
|
||||||
|
def prepare_env(self, script):
|
||||||
|
shutil.copytree(
|
||||||
|
option.test_dir + '/ruby/' + script,
|
||||||
|
option.temp_dir + '/ruby/' + script
|
||||||
|
)
|
||||||
|
|
||||||
|
public_dir(option.temp_dir + '/ruby/' + script)
|
||||||
|
|
||||||
def load(self, script, name='config.ru', **kwargs):
|
def load(self, script, name='config.ru', **kwargs):
|
||||||
script_path = option.test_dir + '/ruby/' + script
|
self.prepare_env(script)
|
||||||
|
|
||||||
|
script_path = option.temp_dir + '/ruby/' + script
|
||||||
|
|
||||||
self._load_conf(
|
self._load_conf(
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import os
|
|||||||
|
|
||||||
from unit.applications.lang.go import TestApplicationGo
|
from unit.applications.lang.go import TestApplicationGo
|
||||||
from unit.applications.lang.java import TestApplicationJava
|
from unit.applications.lang.java import TestApplicationJava
|
||||||
|
from unit.applications.lang.ruby import TestApplicationRuby
|
||||||
from unit.applications.lang.node import TestApplicationNode
|
from unit.applications.lang.node import TestApplicationNode
|
||||||
from unit.applications.proto import TestApplicationProto
|
from unit.applications.proto import TestApplicationProto
|
||||||
from unit.http import TestHTTP
|
from unit.http import TestHTTP
|
||||||
@@ -65,14 +66,16 @@ def check_isolation():
|
|||||||
}
|
}
|
||||||
|
|
||||||
elif 'ruby' in available['modules']:
|
elif 'ruby' in available['modules']:
|
||||||
|
TestApplicationRuby().prepare_env('empty')
|
||||||
|
|
||||||
conf = {
|
conf = {
|
||||||
"listeners": {"*:7080": {"pass": "applications/empty"}},
|
"listeners": {"*:7080": {"pass": "applications/empty"}},
|
||||||
"applications": {
|
"applications": {
|
||||||
"empty": {
|
"empty": {
|
||||||
"type": "ruby",
|
"type": "ruby",
|
||||||
"processes": {"spare": 0},
|
"processes": {"spare": 0},
|
||||||
"working_directory": option.test_dir + "/ruby/empty",
|
"working_directory": option.temp_dir + "/ruby/empty",
|
||||||
"script": option.test_dir + "/ruby/empty/config.ru",
|
"script": option.temp_dir + "/ruby/empty/config.ru",
|
||||||
"isolation": {"namespaces": {"credential": True}},
|
"isolation": {"namespaces": {"credential": True}},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user