Merge pull request #11207 from dan-masek:add_redirect_error

* Add Python support for error message handlers.

* Move the static variable to the only function that uses it.

* Remove the optional param (user data), since this can already be handled by closures.

* Correct the help string.

* python: added redirectError test
This commit is contained in:
Dan Mašek
2018-04-03 20:16:34 +02:00
committed by Alexander Alekhin
parent f95e91e2bc
commit 8c1d8eccdd
2 changed files with 80 additions and 0 deletions
+28
View File
@@ -18,5 +18,33 @@ class Bindings(NewOpenCVTests):
boost.getMaxDepth() # from ml::DTrees
boost.isClassifier() # from ml::StatModel
def test_redirectError(self):
try:
cv.imshow("", None) # This causes an assert
self.assertEqual("Dead code", 0)
except cv.error as e:
pass
handler_called = [False]
def test_error_handler(status, func_name, err_msg, file_name, line):
handler_called[0] = True
cv.redirectError(test_error_handler)
try:
cv.imshow("", None) # This causes an assert
self.assertEqual("Dead code", 0)
except cv.error as e:
self.assertEqual(handler_called[0], True)
pass
cv.redirectError(None)
try:
cv.imshow("", None) # This causes an assert
self.assertEqual("Dead code", 0)
except cv.error as e:
pass
if __name__ == '__main__':
NewOpenCVTests.bootstrap()