scorecard: rework format and add json print

Improve the JSON result format to be more descriptive and
easier to parse.

Add --print option to scorecard.py that prints a saved JSON file
Add date field to score card.

Closes #17465
This commit is contained in:
Stefan Eissing 2025-05-30 12:58:34 +02:00 committed by Daniel Stenberg
parent 700b5445b2
commit dc60a82747
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
4 changed files with 405 additions and 417 deletions

File diff suppressed because it is too large Load diff

View file

@ -178,6 +178,9 @@ class Caddy:
'{',
f' http_port {self._http_port}',
f' https_port {self._https_port}',
' log default {',
' level ERROR',
'}',
f' servers :{self._https_port} {{',
' protocols h3 h2 h1',
' }',

View file

@ -53,8 +53,16 @@ def init_config_from(conf_path):
TESTS_HTTPD_PATH = os.path.dirname(os.path.dirname(__file__))
PROJ_PATH = os.path.dirname(os.path.dirname(TESTS_HTTPD_PATH))
TOP_PATH = os.path.join(os.getcwd(), os.path.pardir)
DEF_CONFIG = init_config_from(os.path.join(TOP_PATH, 'tests', 'http', 'config.ini'))
CONFIG_PATH = os.path.join(TOP_PATH, 'tests', 'http', 'config.ini')
if not os.path.exists(CONFIG_PATH):
ALT_CONFIG_PATH = os.path.join(PROJ_PATH, 'tests', 'http', 'config.ini')
if not os.path.exists(ALT_CONFIG_PATH):
raise Exception(f'unable to find config.ini in {CONFIG_PATH} nor {ALT_CONFIG_PATH}')
TOP_PATH = PROJ_PATH
CONFIG_PATH = ALT_CONFIG_PATH
DEF_CONFIG = init_config_from(CONFIG_PATH)
CURL = os.path.join(TOP_PATH, 'src', 'curl')

View file

@ -242,7 +242,7 @@ class NghttpxQuic(Nghttpx):
'--frontend-quic-early-data',
f'--backend=127.0.0.1,{self.env.https_port};{self._domain};sni={self._domain};proto=h2;tls',
f'--backend=127.0.0.1,{self.env.http_port}',
'--log-level=INFO',
'--log-level=ERROR',
f'--pid-file={self._pid_file}',
f'--errorlog-file={self._error_log}',
f'--conf={self._conf_file}',
@ -296,7 +296,7 @@ class NghttpxFwd(Nghttpx):
'--http2-proxy',
f'--frontend=*,{self._port}',
f'--backend=127.0.0.1,{self.env.proxy_port}',
'--log-level=INFO',
'--log-level=ERROR',
f'--pid-file={self._pid_file}',
f'--errorlog-file={self._error_log}',
f'--conf={self._conf_file}',