1import os 2import shutil 3 4from unit.applications.proto import TestApplicationProto 5from unit.option import option 6from unit.utils import public_dir 7 8 9class TestApplicationRuby(TestApplicationProto): 10 application_type = "ruby" 11 12 def prepare_env(self, script): 13 shutil.copytree( 14 option.test_dir + '/ruby/' + script, 15 option.temp_dir + '/ruby/' + script 16 ) 17 18 public_dir(option.temp_dir + '/ruby/' + script) 19 20 def load(self, script, name='config.ru', **kwargs): 21 self.prepare_env(script) 22 23 script_path = option.temp_dir + '/ruby/' + script 24 25 self._load_conf( 26 { 27 "listeners": {"*:7080": {"pass": "applications/" + script}}, 28 "applications": { 29 script: { 30 "type": self.get_application_type(), 31 "processes": {"spare": 0}, 32 "working_directory": script_path, 33 "script": script_path + '/' + name, 34 } 35 }, 36 }, 37 **kwargs 38 ) 39