Fix deqp-runner regex interpretation to prevent unintended `.` matching
The deqp-runner is currently interpreting every dot (.
) in expectation files as a DOT
regex character, which often is not the intended behavior and it very common in some suites, such as dEQP
. This has been causing issues in larger files, where the RegexSet
unexpectedly reaches its default size limit, leading to compilation errors.
To address this, the proposed change implements a strategy to first check if an expectation line contains any other regex character (like *
). If it does, the dot will be escaped to avoid incorrect interpretations, resulting in a cluttered RegexSet
. This fix aims to prevent errors similar to the one encountered in the job linked below, where the regex compilation exceeded the size limit.
Pre-processing example:
Before:
dEQP.subgroup1.abc
dEQP.subgroup1.def
# intended regex
dEQP.subgroup2.*
After:
dEQP\.subgroup1\.abc
dEQP\.subgroup1\.def
dEQP.subgroup2.*
References
Error encountered
Error: compiling skips regexes
Caused by:
0: Parsing regex set
1: Compiled regex exceeds size limit of 10485760 bytes.
Links
Closes: #51 (closed)