Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -92,11 +92,6 @@ jobs:
python-version: "pypy-3.10"
- os: "windows-latest"
python-version: "pypy-3.10"
# TODO: 3.12 setlocale(...) is broken on Windows & Mac
- os: "macos-latest"
python-version: "3.12"
- os: "windows-latest"
python-version: "3.12"
steps:
- uses: actions/checkout@v3
with:
Expand Down
1 change: 1 addition & 0 deletions changelog.d/+py312-setlocale-fail.infrastructure.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Fixed tests failing because of changes made to `locale.normalize` in Python 3.12.
9 changes: 6 additions & 3 deletions test/unit/b2http/test_b2http.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@

import datetime
import locale
import sys
from unittest.mock import MagicMock, call, patch

import apiver_deps
Expand Down Expand Up @@ -306,9 +307,11 @@ class TestB2HttpUserAgentAppend(TestB2Http):

class TestSetLocaleContextManager(TestBase):
def test_set_locale_context_manager(self):
test_locale = locale.normalize(
'C.utf8'
) # C.UTF-8 on Ubuntu 18.04 Bionic, C.utf8 on Ubuntu 22.04 Jammy
# C.UTF-8 on Ubuntu 18.04 Bionic, C.utf8 on Ubuntu 22.04 Jammy
# Neither macOS nor Windows have C.UTF-8 locale, and they use `en_US.UTF-8`.
# Since Python 3.12, locale.normalize no longer falls back
# to the `en_US` version, so we're providing it here manually.
test_locale = locale.normalize('C.UTF-8' if sys.platform == 'linux' else 'en_US.UTF-8')
other_locale = 'C'

saved = locale.setlocale(locale.LC_ALL)
Expand Down