(self, pytestconfig=None)
| 237 | return os.path.isfile(path) |
| 238 | |
| 239 | def __init__(self, pytestconfig=None): |
| 240 | self._our_dir = os.path.dirname(inspect.getfile(Dummy)) |
| 241 | self.config = ConfigParser(interpolation=ExtendedInterpolation()) |
| 242 | self.config.read(os.path.join(self._our_dir, 'config.ini')) |
| 243 | |
| 244 | self._bin_dir = self.config.get('global', 'bindir') |
| 245 | self._apxs = self.config.get('global', 'apxs') |
| 246 | self._prefix = self.config.get('global', 'prefix') |
| 247 | self._apachectl = self.config.get('global', 'apachectl') |
| 248 | if HttpdTestEnv.LIBEXEC_DIR is None: |
| 249 | HttpdTestEnv.LIBEXEC_DIR = self._libexec_dir = self.get_apxs_var('LIBEXECDIR') |
| 250 | self._curl = self.config.get('global', 'curl_bin') |
| 251 | if 'CURL' in os.environ: |
| 252 | self._curl = os.environ['CURL'] |
| 253 | self._nghttp = self.config.get('global', 'nghttp') |
| 254 | if self._nghttp is None: |
| 255 | self._nghttp = 'nghttp' |
| 256 | self._h2load = self.config.get('global', 'h2load') |
| 257 | if self._h2load is None: |
| 258 | self._h2load = 'h2load' |
| 259 | |
| 260 | self._http_port = int(self.config.get('test', 'http_port')) |
| 261 | self._http_port2 = int(self.config.get('test', 'http_port2')) |
| 262 | self._https_port = int(self.config.get('test', 'https_port')) |
| 263 | self._proxy_port = int(self.config.get('test', 'proxy_port')) |
| 264 | self._ws_port = int(self.config.get('test', 'ws_port')) |
| 265 | self._http_tld = self.config.get('test', 'http_tld') |
| 266 | self._test_dir = self.config.get('test', 'test_dir') |
| 267 | self._clients_dir = os.path.join(os.path.dirname(self._test_dir), 'clients') |
| 268 | self._gen_dir = self.config.get('test', 'gen_dir') |
| 269 | self._server_dir = os.path.join(self._gen_dir, 'apache') |
| 270 | self._server_conf_dir = os.path.join(self._server_dir, "conf") |
| 271 | self._server_docs_dir = os.path.join(self._server_dir, "htdocs") |
| 272 | self._server_logs_dir = os.path.join(self.server_dir, "logs") |
| 273 | self._server_access_log = os.path.join(self._server_logs_dir, "access_log") |
| 274 | self._error_log = HttpdErrorLog(os.path.join(self._server_logs_dir, "error_log")) |
| 275 | self._apachectl_stderr = None |
| 276 | |
| 277 | self._dso_modules = self.config.get('httpd', 'dso_modules').split(' ') |
| 278 | self._mpm_modules = self.config.get('httpd', 'mpm_modules').split(' ') |
| 279 | self._mpm_module = f"mpm_{os.environ['MPM']}" if 'MPM' in os.environ else 'mpm_event' |
| 280 | self._ssl_module = self.get_ssl_module() |
| 281 | if len(self._ssl_module.strip()) == 0: |
| 282 | self._ssl_module = None |
| 283 | |
| 284 | self._httpd_addr = "127.0.0.1" |
| 285 | self._http_base = f"http://{self._httpd_addr}:{self.http_port}" |
| 286 | self._https_base = f"https://{self._httpd_addr}:{self.https_port}" |
| 287 | |
| 288 | self._verbosity = pytestconfig.option.verbose if pytestconfig is not None else 0 |
| 289 | self._test_conf = os.path.join(self._server_conf_dir, "test.conf") |
| 290 | self._httpd_base_conf = [] |
| 291 | self._httpd_log_modules = ['aptest'] |
| 292 | self._log_interesting = None |
| 293 | self._setup = None |
| 294 | |
| 295 | self._ca = None |
| 296 | self._cert_specs = [CertificateSpec(domains=[ |
nothing calls this directly
no test coverage detected