blob: eb8aa84522254c0903c5e2a029d48d0d1a710afd [file] [log] [blame]
# Copyright 2024 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""Test errors module."""
import unittest
from bisect_kit import errors
class TestErrorType(unittest.TestCase):
"""Test errors.error_type()."""
def test_error_type(self):
self.assertEqual('Unknown', errors.error_type(errors.BisectException()))
self.assertEqual(
'Fatal', errors.error_type(errors.ArgumentError('name', 'message'))
)
self.assertEqual('Fatal', errors.error_type(errors.Uninitialized()))
self.assertEqual(
'Retriable', errors.error_type(errors.BisectRetriableError())
)
self.assertEqual(
'Retriable', errors.error_type(errors.BrokenDutException())
)
self.assertEqual(
'Retriable', errors.error_type(errors.TooManyTemporaryErrors())
)
self.assertEqual(
'Retriable', errors.error_type(errors.BisectionTemporaryError())
)
self.assertEqual(
'Retriable', errors.error_type(errors.SshConnectionError())
)
self.assertEqual(
'Contradiction', errors.error_type(errors.WrongAssumption())
)
self.assertEqual(
'Contradiction', errors.error_type(errors.DiagnoseContradiction())
)
self.assertEqual(
'Contradiction', errors.error_type(errors.VerificationFailed())
)
self.assertEqual(
'Contradiction',
errors.error_type(errors.VerifyInitialRangeFailed(1, 0.1, 0.9)),
)
self.assertEqual('Fatal', errors.error_type(errors.InternalError()))
self.assertEqual('Unknown', errors.error_type(Exception()))
self.assertEqual('Unknown', errors.error_type(ValueError()))
if __name__ == "__main__":
unittest.main()