code: def test_run(self, mock_sleep, mock_renew_from_kt):
      mock_renew_from_kt.side_effect = [1, 1, SystemExit(42)]
      with pytest.raises(SystemExit) as ctx:
          kerberos.run(principal="test-principal", keytab="/tmp/keytab")
      assert ctx.value.code == 42
      assert mock_renew_from_kt.mock_calls == [
          mock.call("test-principal", "/tmp/keytab"),
          mock.call("test-principal", "/tmp/keytab"),
          mock.call("test-principal", "/tmp/keytab"),
      ]
  
file_path: airflow/tests/security/test_kerberos.py
imports: from __future__ import annotations
  import logging
  import shlex
  from unittest import mock
  import pytest
  from airflow.security import kerberos
  from airflow.security.kerberos import get_kerberos_principle, renew_from_kt
  from tests.test_utils.config import conf_vars
label_desc: Use image node_id 6 for calling the TestKerberos obj's underlying member method code with example usage: obj.test_run(mock_sleep, mock_renew_from_kt) without return types