summaryrefslogtreecommitdiffhomepage
path: root/test/unit/applications/lang/perl.py
blob: e99c2aca538c952dca7fbff343de65a31a377c8f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
from unit.applications.proto import ApplicationProto
from unit.option import option


class ApplicationPerl(ApplicationProto):
    def __init__(self, application_type='perl'):
        self.application_type = application_type

    def load(self, script, name='psgi.pl', **kwargs):
        script_path = f'{option.test_dir}/perl/{script}'

        self._load_conf(
            {
                "listeners": {"*:8080": {"pass": f"applications/{script}"}},
                "applications": {
                    script: {
                        "type": self.get_application_type(),
                        "processes": {"spare": 0},
                        "working_directory": script_path,
                        "script": f'{script_path}/{name}',
                    }
                },
            },
            **kwargs,
        )