Skip to content

Commit 9e1206b

Browse files
authored
fix(api): Correct g code error casing for serial errors (#17734)
Covers EXEC-1308 Ensures error codes from new BaseErrorCode class are properly cased for comparison
1 parent 5fad6c5 commit 9e1206b

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

api/src/opentrons/drivers/asyncio/communication/errors.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ class BaseErrorCode(Enum):
5252
def code_string(self) -> str:
5353
"""Return the error code string."""
5454
code: str = self.value[0]
55-
return code
55+
return code.lower()
5656

5757
@property
5858
def exception(self) -> Type[ErrorResponse]:

api/tests/opentrons/drivers/asyncio/communication/test_serial_connection.py

+8
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,14 @@ def test_raise_on_error(
180180
subject.raise_on_error(response, "fake request")
181181

182182

183+
def test_get_error_codes_lowercase(
184+
subject: SerialKind,
185+
) -> None:
186+
"""It should return an error code dictionary keyed by lowercase value."""
187+
lowercase_result = subject._error_codes.get_error_codes()
188+
assert lowercase_result == {"err003": DefaultErrorCodes.UNHANDLED_GCODE}
189+
190+
183191
async def test_on_retry(mock_serial_port: AsyncMock, subject: SerialKind) -> None:
184192
"""It should try to re-open connection."""
185193
await subject.on_retry()

0 commit comments

Comments
 (0)