]> wagner.pp.ru Git - openssl-gost/engine.git/commitdiff
tcl_tests: Introduce new exitStatus -1 to ignore exit codes
authorVitaly Chikunov <vt@altlinux.org>
Fri, 22 Mar 2024 02:12:53 +0000 (05:12 +0300)
committerVitaly Chikunov <vt@altlinux.org>
Fri, 22 Mar 2024 02:26:24 +0000 (05:26 +0300)
It's proposed[1] that crl and req change exit code making it unreliable for some
commands. Allow tests to ignore exit codes by specifying expected exit code `-1`.

This will also make such tests to always use regexp match mode.

Also, slightly fix the logic of applying regexp. Commentary says test
_parameter_ (`exitStatus`) 1 is used to trigger regexp matching but in fact
actual command exit code (`status`) 1 is used for that. This change did not
cause any test result difference.

Link: https://github.com/openssl/openssl/pull/23773
Signed-off-by: Vitaly Chikunov <vt@altlinux.org>
tcl_tests/test.tcl

index e281f1a729c3d5c26c0d006fbbbdc502e50957b9..276db7eb897ae0185205b758b9c7ba901157ac2f 100644 (file)
@@ -198,7 +198,8 @@ namespace eval test {
                                set timestamp "$teststart+[expr $testend-$teststart]"
                        }
                }       
-               if {$status!=$exitStatus || ($status==1?![regexp --\
+               if {($exitStatus!=-1 && $status!=$exitStatus) ||
+                       ($exitStatus!=0?![regexp --\
                        [rus $expectedResult] $result]:([info exists opts(-time)]?\
                    ![listcompare $result $expectedResult $opts(-time)]:\
                        [string compare "$result" "$expectedResult"]))} {