@@ -48,24 +48,15 @@ def test_uncaught_exception_handler():
4848 cmd = "from airbyte_cdk.logger import init_logger; from airbyte_cdk.exception_handler import init_uncaught_exception_handler; logger = init_logger('airbyte'); init_uncaught_exception_handler(logger); raise 1"
4949 exception_message = "exceptions must derive from BaseException"
5050
51- if sys .version_info >= (3 , 13 ):
52- exception_trace = (
53- "Traceback (most recent call last):\n "
54- ' File "<string>", line 1, in <module>\n '
55- " from airbyte_cdk.logger import init_logger; from airbyte_cdk.exception_handler import init_uncaught_exception_handler; logger = init_logger('airbyte'); init_uncaught_exception_handler(logger); raise 1\n "
56- " ^^^^^^^\n "
57- "TypeError: exceptions must derive from BaseException"
58- )
59- else :
60- exception_trace = (
61- "Traceback (most recent call last):\n "
62- ' File "<string>", line 1, in <module>\n '
63- "TypeError: exceptions must derive from BaseException"
64- )
51+ base_exception_trace = (
52+ "Traceback (most recent call last):\n "
53+ ' File "<string>", line 1, in <module>\n '
54+ "TypeError: exceptions must derive from BaseException"
55+ )
6556
6657 expected_log_message = AirbyteMessage (
6758 type = MessageType .LOG ,
68- log = AirbyteLogMessage (level = Level .FATAL , message = f"{ exception_message } \n { exception_trace } " ),
59+ log = AirbyteLogMessage (level = Level .FATAL , message = f"{ exception_message } \n { base_exception_trace } " ),
6960 )
7061
7162 expected_trace_message = AirbyteMessage (
@@ -77,7 +68,7 @@ def test_uncaught_exception_handler():
7768 failure_type = FailureType .system_error ,
7869 message = "Something went wrong in the connector. See the logs for more details." ,
7970 internal_message = exception_message ,
80- stack_trace = f"{ exception_trace } \n " ,
71+ stack_trace = f"{ base_exception_trace } \n " ,
8172 ),
8273 ),
8374 )
@@ -93,11 +84,10 @@ def test_uncaught_exception_handler():
9384 log_output , trace_output = stdout_lines
9485
9586 out_log_message = AirbyteMessageSerializer .load (json .loads (log_output ))
96- assert out_log_message == expected_log_message , "Log message should be emitted in expected form"
87+ assert base_exception_trace in out_log_message .log .message , "Log message should contain expected traceback format"
88+ assert exception_message in out_log_message .log .message , "Log message should contain expected exception message"
9789
9890 out_trace_message = AirbyteMessageSerializer .load (json .loads (trace_output ))
9991 assert out_trace_message .trace .emitted_at > 0
100- out_trace_message .trace .emitted_at = 0.0 # set a specific emitted_at value for testing
101- assert out_trace_message == expected_trace_message , (
102- "Trace message should be emitted in expected form"
103- )
92+ assert base_exception_trace in out_trace_message .trace .error .stack_trace , "Trace message should contain expected traceback format"
93+ assert out_trace_message .trace .error .internal_message == exception_message , "Trace message should contain expected exception message"
0 commit comments