Tests show 'Passed' message even when 'failed in' messages observed in the execution

Summary

schur_complex subtest fails at certain line in cpp file with a 'failed in' message. But still overall testcase shows it as 'Passed'

Environment

  • Operating System : Windows/Linux
  • Architecture : x64/Arm64/PowerPC ...
  • Eigen Version : 3.4.0
  • Compiler Version : Gcc7.0
  • Compile Flags : -O3 -march=native
  • Vector Extension : SSE/AVX/NEON ...

Steps to reproduce

  1. Add a line VERIFY_IS_EQUAL(1,0) before 'eigen/test/schur_complex.cpp (57)'
  2. Build and run schur_complex_3

What is the current bug behavior?

A 'failed in' is seen; but still overall testcase is 'Passed'

What is the expected correct behavior?

A 'failed in' is seen; but still overall testcase should be 'Failed'

Relevant logs

424: Test timeout computed to be: 300
424: Initializing random number generator with seed 1644870422
424: Repeating each test 1 times
424:
424:     actual   = 0
424:     expected = 2
424:
424: Test ( schur<MatrixXcf>(internal::random<int>(1,32/4)) ) failed in eigen/test/schur_complex.cpp (57)
424:     test_is_equal(cs3.info(), size > 1 ? NoConvergence : Success, true)
424: Stack:
424:   - ( schur<MatrixXcf>(internal::random<int>(1,32/4)) )
424:   - schur_complex
424:   - Seed: 1644870422
424:
3/5 Test #424: schur_complex_3 ..................   Passed    5.35 sec
  • Have a plan to fix this issue.