source: mod_gnutls/test/tests/28_HTTP2_support/ @ a9e0738

Last change on this file since a9e0738 was a9e0738, checked in by Fiona Klute <fiona.klute@…>, 3 years ago

Test 28_HTTP2_support: Log curl output regardless of failure

  • Property mode set to 100644
File size: 1.5 KB
[0909c92]1import os
[0f65ea9]2import re
[0909c92]3import subprocess
[0f52d48]4from mgstest import require_apache_modules, require_match
5from unittest import SkipTest
7def prepare_env():
8    require_apache_modules('')
9    curl = os.environ['HTTP_CLI']
10    if curl == 'no':
[221ffe5]11        raise SkipTest(f'curl not found!')
[0f52d48]12    proc =[curl, '-V'], stdout=subprocess.PIPE,
13                          check=True, text=True)
14    if not'\bHTTP2\b', proc.stdout):
15        raise SkipTest(f'{curl} does not support HTTP/2!')
17def run_connection(testname, conn_log, response_log):
[0f52d48]18    """Check if HTTP/2 connections using mod_gnutls and mod_http2 work."""
[0909c92]20    url = f'https://{os.environ["TEST_HOST"]}:{os.environ["TEST_PORT"]}' \
21        '/status?auto'
22    command = [os.environ['HTTP_CLI'], '--http2', '--location', '--verbose',
23               '--cacert', 'authority/x509.pem', url]
25    proc =,
26                          stdout=subprocess.PIPE, stderr=subprocess.PIPE,
[a9e0738]27                          text=True)
[0909c92]28    print(proc.stderr)
29    print(proc.stderr, file=conn_log)
30    print(proc.stdout)
31    print(proc.stdout, file=response_log)
[a9e0738]32    proc.check_returncode()
34def post_check(conn_log, response_log):
35    print('Checking for HTTP/2 in logged header:')
36    print(require_match(re.compile(r'\bHTTP/2 200\b'), conn_log).group(0))
37    print('Checking for TLS session status:')
38    print(require_match(re.compile(r'^Current TLS session:\s\(TLS.*$'),
39                        response_log)
40          .group(0))
Note: See TracBrowser for help on using the repository browser.